文件名称:SymEngine:OpenCL 内核的符号执行
文件大小:5.87MB
文件格式:ZIP
更新时间:2024-07-02 06:23:37
C++
SymEngine:OpenCL 内核的符号执行 SymEngine 以符号方式执行 OpenCL 内核,以便提取内核内存访问的符号表示。 SymEngine 依赖 Scalar Evolution 来计算地址。 SymEngine 使用 3 个配置文件。 hw_config.yaml 包含有关所考虑 GPU 的硬件配置的信息。 此信息包括:本地内存条的数量、本地内存条的宽度、缓存行的字节大小和每个扭曲的线程数。 kernel_arg_config.yaml 包含内核名称的集合,其中包含与已知整数内核参数的值对应的数字列表。 这些通常是缓冲区大小。 数字和内核参数之间的匹配是位置性的:列表中的第一个数字对应于内核中的第一个整数参数。 opencl_config.yaml 包含用于以符号方式执行内核的 NDRange 配置。 SymEngine 需要知道本地组的大小、NDRange
【文件预览】:
SymEngine-master
----make_cscope.sh(75B)
----scripts()
--------symEngine.sh(645B)
--------hardware_config.yaml(99B)
--------clang.sh(352B)
--------kernel_arg_config.yaml(875B)
--------opencl_config.yaml(228B)
--------symEngineFull.sh(669B)
----lib()
--------NDRangeSpace.cpp(2KB)
--------SubscriptAnalysis.cpp(14KB)
--------NDRange.cpp(11KB)
--------Warp.cpp(3KB)
--------YAMLParser.cpp(61KB)
--------YAMLReader.cpp(1KB)
--------NDRangePoint.cpp(2KB)
--------MemoryAccessesAnalyzer.cpp(6KB)
--------OCLEnv.cpp(6KB)
--------BlockMask.cpp(3KB)
--------Utils.cpp(3KB)
--------CMakeLists.txt(949B)
--------YAMLTraits.cpp(22KB)
--------SymbolicExecution.cpp(8KB)
--------ControlDependenceAnalysis.cpp(6KB)
----CMakeLists.txt(1KB)
----kernels()
--------mtLocal.cl(1001B)
--------mt.cl(327B)
--------sgemm.cl(435B)
--------reduce.cl(633B)
----symexe_vs_hwcounters.pdf(7.6MB)
----test()
--------memory_access.cpp(2KB)
--------yaml_parsing.cpp(2KB)
--------ll()
--------test_config_opencl.yaml(130B)
--------test_hw_config.yaml(99B)
--------nd_range_test.ll(761B)
--------CMakeLists.txt(1KB)
--------test_kernel_arg.yaml(148B)
--------nd_range.cpp(2KB)
----README.md(3KB)
----llvm_licence.txt(3KB)
----ext()
--------gtest()
----.gitignore(30B)
----include()
--------opencl_spir.h(900KB)
--------SymEngine()