Matlab本就擅长矩阵计算,其借助CUDA工具箱调用Nvidia GPU加速并行运算,可以起到如虎添翼的效果。今天给大家介绍一下CUDA的基础知识以及如何快速在Matlab中调用工具箱对程序进行加速。
CUDA,Compute Unified Device Architecture 统一计算设备架构
CUDA编程模型是将CPU作为主机,GPU作为协处理器或者叫设备,一般情况下,CPU负责进行逻辑性强的事务处理和串行计算,GPU则专注于执行高度线程化的并行处理任务。各自拥有相互独立的存储地址空间,也就是主机端的内存和设备端的显存。
操作显存需要调用CUDA API中的存储器管理函数,操作包括开辟、释放、初始化显存空间等,在主机端和设备端之间进行数据传输等。运行在GPU上的CUDA并行计算函数称为Kernel(内核函数),一个kernel函数并不是一个完整的程序,而是整个程序中的一个可以被并行执行的步骤,一个完整的CUDA程序是有一系列的设备端Kernel函数并行步骤和主机端的串行处理步骤共同完成。
<