Optimization 为包装函数调用的CUDA程序使用NVIDIA Visual Profiler

Optimization 为包装函数调用的CUDA程序使用NVIDIA Visual Profiler,optimization,cuda,nvidia,Optimization,Cuda,Nvidia,我将IDL中的一个程序转换为CUDA,该程序在256X256Xn密度立方体上执行一些计算并渲染二维图像。该程序工作正常,但所有预处理仍在IDL中完成(如读取密度立方体等),并将该信息传递给包装函数(使用C程序外部的调用),这就叫CUDA 目前,我正在尝试优化程序,并希望使用NVIDIA Visual Profiler检查我的合并,我想知道是否有办法做到这一点…当我们调用程序的CUDA部分时,是否有办法让Visual Profiler运行 我目前无法测试任何东西,因为有太多的变量,无法硬编码到CU

我将IDL中的一个程序转换为CUDA,该程序在256X256Xn密度立方体上执行一些计算并渲染二维图像。该程序工作正常,但所有预处理仍在IDL中完成(如读取密度立方体等),并将该信息传递给包装函数(使用C程序外部的调用),这就叫CUDA

目前,我正在尝试优化程序,并希望使用NVIDIA Visual Profiler检查我的合并,我想知道是否有办法做到这一点…当我们调用程序的CUDA部分时,是否有办法让Visual Profiler运行

我目前无法测试任何东西,因为有太多的变量,无法硬编码到CUDA函数中,但是如果没有从IDL到C到CUDA传递的值,它就无法运行

我确实设置了它,这样我就可以运行IDL,让它停止,然后手动调用C包装函数,而不仅仅是运行IDL,让它自动完成所有事情


谢谢

您可以从Visual Profiler启动应用程序。无论如何,它只会分析CUDA呼叫。或者,您可以使用“开始”和“停止分析”按钮来控制分析的开始和结束时间。它非常简单,但通常适用。

您是否尝试过通过visual profiler运行IDL程序?我已经用python+pyCUDA完成了这项工作——运行了几层python,然后启动了内核——分析器成功地分析了内核。我无法让它工作,但我将继续记住这一点。