• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

matlab中使用GPU加速运算

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

为了提高大规模数据处理的能力,matlab 的 GPU 并行计算,本质上是在 cuda 的基础上开发的 wrapper,也就是说 matlab 目前只支持 NVIDIA 的显卡。

1. GPU 硬件支持

首先想要在 matlab 中使用 GPU 加速运算,需要计算机配备有 NVIDIA 的显卡,可在 matlab 中运行:

>> gpuDevice

如果本机有 GPU 支持,会列出 CUDADevice 的相关属性。

2. GPU 和 CPU 之间的数据传递

  • gpuArray:将定义在 CPU 上的矩阵转换为 GPU 模式;

    X=rand(10,'single'); 
    GX=gpuArray(X);      
    GX2=GX.*GX;         
  • gather:将 GPU 内存中的数据拷贝到 CPU 内存中

  • 在一些函数中通过相关参数进行 GPU 支持;

    • rand(10, ‘gpuArray’)

3. tips

  • 有时候 GPU 受限于硬件架构,单精度的计算远快于双精度。这时候可以考虑在拷贝的时候顺便转换一下精度 A = gpuArray(single(B)) 以进一步提高运算速度 。

  • 对于一些代码结构较为复杂的程序,除了 matlab 提供的内置函数进行 GPU 加速外,matlab 还可调用 .cu 文件

    • matlab + c/c++ 的混合编程能把 .c, .cc, .cpp 等文件编译为可供使用的 mex 文件,
    • 对于 cuda 程序(.cu),matlab 则可调用相关编译工具,将其编译为 .ptx 文件;

Matlab之GPU加速方法


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi过程函数传递参数的几种方式发布时间:2022-07-18
下一篇:
matlab图像处理学习笔记1 - ellisonDon发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap