从Matlab2013版本开始,matlab将可以直接调用gpu进行并行计算,而不再需要安装GPUmat库。这一改动的好处是原有的matlab内置函数都可以直接运用,只要数据格式是gpuArray格式的,那么计算过程会自动的调用GPU进行计算,不可谓不方便。

具体操作起来,只要知道下面几个函数就可以像编写简单的m文件一样,进行matlab的GPU编程:
1.GPU设备确认函数
1)n=gpuDeviceCount  %返回设备上的GPU数目
2)gpuDevice         %选择GPU设备
   D=gpuDevice or gpuDevice(): 如果当前还未设置选择的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时可以缺省   

最新文章

  1. 解决Office互操作错误"检索COML类工厂中 CLSID为 {xxx}的组件时失败,原因是出现以下错误: 80070005"
  2. SOA和Web Service介绍
  3. JSON2 源代码
  4. We~ˇsay~~ˇ
  5. CentOS6.3挂载读写NTFS分区
  6. FTP原理和cent OS vsFTPd架设
  7. ASP.NET图片验证码
  8. prim 堆优化+ kruskal 按秩优化
  9. Oracle 11gR2的完全卸载
  10. linux自动启动程序
  11. mock server 前后端分离小结(转)
  12. c++ STL容器适配器
  13. 【转】optach学习
  14. CI表单验证
  15. 对MBProgressHUD第三方进行源码分析
  16. matlab练习程序(神经网络识别mnist手写数据集)
  17. 【Hadoop】3、Hadoop-MapReduce使用avro进行数据的序列化与反序列化
  18. 在Windows 操作系统中, MySql 如何设置, 允许表名支持大小写
  19. js实现类似qq表情(插入图片以及获取光标的效果)
  20. poj1679(判断最小生成树是否唯一)

热门文章

  1. Apk大瘦身
  2. Python基础学习(第3天)
  3. js的作用是临时修改 表单Action提交的地址,因为 又有新的动作需要把表单参数提交到 新的servlet中,这点很重要
  4. Electron中git, npm,webpack使用
  5. selenium webdriver入门
  6. eclipse 智能提示js和jquery等前端插件
  7. HTTP 方法:GET与 POST
  8. 阿里云部署django实现公网访问
  9. 【JQuery】学习
  10. SCARA——OpenGL入门学习一、二