Matlab并行编程之GPU
Matlab提供GPU上计算支持: 基础数据类型(gpuArray和对应API),支持GPU计算的内置函数和多个工具包,支持PTX内核对象加载,支持MEX函数使用CUDA C/C++开发等。对大规模数据处理,复杂计算,利用GPU计算能提供显著的性能加速效果.
Matlab同时提供GPU有关的一些附加工具: 环境查询、GPU代码编译环境和工具、性能测量等
技术 | 说明 | 备注 |
---|---|---|
gpuArray | GPU端的Array数据类型,多个内置函数支持数据转换、在GPU设备端计算 | 图像处理、信号处理、深度学习等多个工具包都提供对gpu设备上数据计算支持 |
NVIDIA ptx内核对象 | 可加载编译后的ptx内核对象(编译: nvcc -ptx myFun.cu),设置运行环境,准备数据,用feval调用执行GPU上计算 | Matlab版本要和CUDA Toolkit版本对应,包括C/C++编译器; 需正确版本CUDA Toolkit开发环境 |
mex函数 | mex内函数使用GPU kernel函数进行计算(用mexcuda编译) | 和开发CUDA C/C++程序完全相同,CUDA Toolkit版本需要兼容;可使用GPU加速库,使用多个GPU卡 |
支持GPU计算的一些函数