MATLAB代码的CUDA实现

时间:2017-07-17 20:18:19

标签: matlab cuda mex ptx

我最近购买了P100 GPU,希望加速并行代码,并需要一些帮助来决定如何将MATLAB代码转换为CUDA代码(我已经远离普通的 gpuarrays < / strong>在MATLAB中)。我已尝试使用 .ptx 内核和 MEX 文件,并且遇到了两个障碍。

并行代码具有元素取幂,元素乘法以及FFT和IFFT调用。它还包含复数。

从CUDA内核或MEX CUDA文件编译的.ptx文件是否更容易使用,哪些允许我执行必要的FFT,IFFT,exp和多次调用?

1 个答案:

答案 0 :(得分:1)

真的很简单。您必须使用MEX,因为您想要调用NVIDIA cufft库,您只能从主机执行此操作。但是,基本上没有任何情况下你可以通过MATLAB调用FFT和IFFT获得合理的加速,因为这些函数只是直接调用cufft,还有MATLAB的GPU内存池和FFT计划缓存的附加优势。所以也许你应该专注于元素方面的内核。