作者Esh ()
看板MacDev
标题[心得] Mac使用NVIDIA CUDA硬体的注意事项
时间Mon Aug 6 16:52:11 2012
完整图文版
http://blog.leezhenyu.com/2012/08/mac-using-nvidia-cuda.html
*******
因为开发的需要,要使用NVIDIA的CUDA绘图卡辅助运算功能。
正好我是用Mac,在过程中也遇到一些状况。
就当是我要做笔记好了,这边写出来跟大家分享一下。
其实Mac的CUDA设定算是很简单了,如果你有认真看NVIDIA网站。
CUDA Zone里面提供Windows、Linux还有Mac的版本。
主要使用方式都是安装驱动程式、CUDA Toolkit还有Sample。
安装驱动程式的过程,应该是Linux最复杂。
因为你要先关掉gdm等桌面程式,才能安装CUDA的驱动。
如果有安装过旧版,还要先移除。反观Mac,真的简单多了。
就是mpkg的安装程式,一路装到底就好。
CUDA驱动程式
CUDA编译工具,主要是nvcc那些东西。
CUDA Sample,最重要的两个测试程式deviceQuery、bandwidthTest在里面。
有装这个范例,之後才能经由编译产生上面两个程式。
驱动程式装好,可以从系统偏好设定里面查看状态。
会多一个CUDA的项目,里面可以检查驱动程式的版本。
重点是其他两个项目,需要作业系统本身配合。
例如安装gcc编译器,你需要安装Xcode。
现在Xcode的安装已经整合到Mac AppStore里面了。
安装好Xcode之後,还要从Xcode里面安装命令列工具。
从Xcode的偏好设定,Downloads的分页中可以看到Command Line Tools。
按下Install的按钮开始安装。
配合安装时必要的export参数设定cuda函式库路径。
就可以开始编译CUDA Samples里面的范例程式码。
能编译是一回事,能不能正确搭配CUDA的硬体执行又是一回事。
尤其笔记型电脑,特别是内建Intel整合型绘图晶片加上NVIDIA晶片者。
通常会有一个配合节能的自动切换机制。(NVIDIA Optimus)
自动切换主要是根据负载跟电力需求的情况。
例如玩游戏等需要较高绘图资源的程式,就用NVIDIA晶片。
要省电、不需要高速绘图运算,用Intel内建晶片。
CUDA的功能一定要在NVIDIA晶片工作时才能用。
要强迫使用NVIDIA晶片的方法,就是取消自动切换的设定。
从OS X系统偏好设定的节能里面,关掉自动绘图卡切换。
从此之後都是使用NVIDIA的绘图卡。
要确认目前是不是用NVIDIA的绘图卡,从「关於这台Mac」也能检查。
显示的分页中,可以看到目前的萤幕与搭配的绘图卡。
看到是NVIDIA开头的型号就对了
如此一来,执行编译後的deviceQuery、bandwidthTest。
就可以看到目前的CUDA相容硬体被正确使用。
而不是没有找到CUDA硬体的错误讯息。
*******
大致上就是这样,只能说Optimus的功能让问题复杂。
以上只适用有NVIDIA绘图晶片的Mac机种。
内建NVIDIA晶片组,变成我购机时的主要考量。
Steve Jobs生前几次公开对NVIDIA开干。
最有名的是8600GT MacBook Pro瑕疵事件。
即使对他们不满,但是绘图晶片的效能现在NV就是一整个强。
上面几代用AMD的晶片,让我积极保住现用的MacBook Pro。
一切只因为CUDA的支援。
但现在中高阶的Pro机种,还是走上NVIDIA的路。
(比较糟糕的是内建绘图记忆体永远比主流少一半)
以後买新的MBP,应该不用太担心这个问题。
--
http://blog.leezhenyu.com
Technology, Study, Food, Travel
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.250.60.136
1F:推 Blueshiva:如果不需要Xcode,只要gcc之类的话,可以在Developer网 08/06 17:24
2F:→ Blueshiva:站直接下载安装 08/06 17:25
3F:推 Piceman:(笔记 08/06 21:07
4F:推 man27382210:good! 08/06 22:16