打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
MATLAB GPU编程基础
    从Matlab2013版本开始,matlab将可以直接调用gpu进行并行计算,而不再需要安装GPUmat库。这一改动的好处是原有的matlab内置函数都可以直接运用,只要数据格式是gpuArray格式的,那么计算过程会自动的调用GPU进行计算,不可谓不方便。
具体操作起来,只要知道下面几个函数就可以像编写简单的m文件一样,进行matlab的GPU编程:
1.GPU设备确认函数
1)n=gpuDeviceCount %返回设备上的GPU数目
2)gpuDevice       %选择GPU设备
   D=gpuDevice orgpuDevice(): 如果当前还未设置选择的GPU,则选择默认的GPU,D是返回对象;如果已经设   置了GPU,则返回设置的GPU对象。
   D=gpuDevice(IDX):表示选择IDX对应的GPU设置,D是返回对象
   %PS:目前的GPU设置一般至少包含两个GPU,分别用1和2表示对应的IDX。
3)reset(gpudev)%清空gpu的内存,类似matlab的clear的功能。其中gpudev是gpuDevice所返回的对象。

2.GPU以CPU之间的交互
1)gpuArray(CPU-->GPU)
   主要有两个功能:
   I)将CPU内存数据传导到GPU内存中
   例子-1:
   X=rand(10,'single');%定义在CPU上的一个10x10的随机初始化数组
   GX=gpuArray(X);    %在GPU开始数组GX,并且将X的值赋给GX
   GX2=GX.*GX;       %GPU上执行数组对应位置的点乘
  II)在GPU内存中随机初始化一些内存数据。
   例子-2:
   GX=rand(10,'gpuArray');%直接在GPU设备上随机初始化一个10x10的数组
   %%PS:常用的随机初始化函数有:eye,ones, zeros, rand, randi, randn.
2)gather(GPU-->CPU)
  主要是将GPU内存中的数据拷贝回CPU内存中。
   继续例子-1
   X2=gather(GX2)     %将GPU内存中的数组GX2赋值给CPU中的X2
3)TF=existOnGPU(DATA)
  用于判断DATA是否存在于GPU内存中。如果不存在则返回false。

3.计算效率统计
  t=gputimeit(F,N)    %返回执行F操作N次所需的时间,当N=1时可以缺省  


  
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Matlab官方GPU跑分工具-GPUBench
科学网—[转载]高效使用matlab之三:在matlab中使用GPU加速
MATLAB与GPU编程结合应用
集成显卡优化之葵花宝典
CPU GPU异构计算编程简介
Matlab代码的分析、优化和加速
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服