博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matlab 中使用 GPU 加速运算
阅读量:4567 次
发布时间:2019-06-08

本文共 708 字,大约阅读时间需要 2 分钟。

为了提高大规模数据处理的能力,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 文件;

转载于:https://www.cnblogs.com/mtcnn/p/9422148.html

你可能感兴趣的文章
进程,线程
查看>>
[。。。]不知道是事故还是故事的东西
查看>>
AtCoder Beginner Contest 073
查看>>
链表的回文结构
查看>>
slqmap简单使用
查看>>
如何禁用或重新启用计算机的休眠功能
查看>>
window函数 resetAccumulator
查看>>
AKKA好文
查看>>
hdu - 1728逃离迷宫 && hdu - 1175 连连看 (普通bfs)
查看>>
【Sorting】UVa400 Unix ls
查看>>
LINQ:是BUG还是~~~
查看>>
python文件操作 seek(),tell()
查看>>
数据库优化方法
查看>>
水平垂直居中
查看>>
十九、扩展 Extensions
查看>>
golang批量修改文件名
查看>>
SQL Server 连接问题-命名管道
查看>>
Mysql主从配置,实现读写分离
查看>>
hdu 4521 小明序列(线段树,DP思想)
查看>>
android fragment点击返回键实现内容切换?
查看>>