Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取有关NVidia上已编译OpenCL内核的详细信息_Opencl_Gpu_Nvidia_Gpgpu_Ptx - Fatal编程技术网

获取有关NVidia上已编译OpenCL内核的详细信息

获取有关NVidia上已编译OpenCL内核的详细信息,opencl,gpu,nvidia,gpgpu,ptx,Opencl,Gpu,Nvidia,Gpgpu,Ptx,有没有办法获得有关OpenCL内核如何在NVidia平台(或其他平台)上编译的详细信息。可以放入内核的外部工具或测试。具体而言: 矢量化成功了吗?工作项是如何分组到扭曲中的 如果工作组中的工作项进入不同的分支,编译器是否对其进行了优化,以便它们仍然并行执行 私有内存变量是否映射到多处理器中的寄存器,或者是否放入本地/全局内存?(某些体系结构每个工作组的私有内存比本地内存多) 这个信息可以在PTX汇编输出中看到吗,或者这是更高的级别吗?这都是编译器级别的元数据;其中一些是通过通用OpenCLA

有没有办法获得有关OpenCL内核如何在NVidia平台(或其他平台)上编译的详细信息。可以放入内核的外部工具或测试。具体而言:

  • 矢量化成功了吗?工作项是如何分组到扭曲中的

  • 如果工作组中的工作项进入不同的分支,编译器是否对其进行了优化,以便它们仍然并行执行

  • 私有内存变量是否映射到多处理器中的寄存器,或者是否放入本地/全局内存?(某些体系结构每个工作组的私有内存比本地内存多)


这个信息可以在PTX汇编输出中看到吗,或者这是更高的级别吗?

这都是编译器级别的元数据;其中一些是通过通用OpenCLAPI提供的,但是您请求的太低级了。可能通过一些Nvidia OpenCL扩展提供,但我不熟悉这些。也许你最好的选择是找到一些在PTX级别工作的工具,并将OpenCL程序二进制文件提供给它