终于知道如何MATLAB自定义函数如何自动生成NVIDIA的GPU的cuda上的c++代码,从而通过MATLAB的默认CPU函数来映射到内核化的GPU上来达到单机下利用GPU并行计算化的相对简单最大并行计算效率和速度(有约束条件和制约,具体加速比与GPU型号结构性能参数密切相关,使没学过计算机底层原理和c++不懂的小白也能操作)原以为不会c++就没法弄了,没想到MATLAB的新版本代码编译生成调用mex、cu等一条龙式服务确实强大!MATLAB不愧是数值仿真,科学家工程师的快速迭代原型开发的友好高级脚本语言,其工科计算工具箱确实是Python,Java等短时间内无法替代。当然根据官方文档说明,有法可依,要注意GPU的双精度计算不如CPU的陷阱,从而编译时屏蔽GPU加速指令(该指令虽然是融合加乘加速指令针对游戏优化而生,但对双精度计算而言是损失的,可能造成数值仿真的不一致问题,必须屏蔽,尽可能保证从CPU计算变GPU计算前后数值计算的一致性,或换专门计算卡太贵,性价比低)终于实现了当年买电脑的豪言壮语:好的显卡和CPU电脑不仅仅只能用来打游戏,还能跑程序设计。这是NVIDIA的GPU的cuda的大发展,这是深度学习机器学习GPU计算的大发展,这是MATLAB的大发展,这是多种技术融合的大发展。菜鸡的我在大神面前被秒杀的瑟瑟发抖,好冷{{(>_<)}}
网友评论