在Fedora 11上安装CUDA
NVIDIA 的 CUDA 是个吸引人的东西,在显卡实现科学运算的并行处理。手头有一块 GeForce 8600GT 装在一个64位机器上,系统是 Fedora 11。由于 NVIDIA 目前最高支持 Fedora 10,因此在 Fedora 11 上编译遇到了一些困难。
按 CUDA 2.3 的要求,先在系统的文本方式下安装支持 CUDA 的显卡驱动程序,再进入图形方式,安装 CUDA toolkit 于 /usr/local/cuda,设置环境:在 PATH 中加入 /usr/local/cuda/bin,在 LD_LIBRARY_PATH 中加入 /usr/local/cuda/lib64,再安装 CUDA SDK 于用户目录中:~/NVIDIA_GPU_Computing_SDK。
剩下的事情就是编译 SDK 中的例子,进入 NVIDIA_GPU_Computing_SDK/C,直接敲入 make 是通不过的,因为 Fedora 11 中安装的是 GCC 4.4.1, 与 CUDA 还有些不兼容。谷歌来的办法是退回 GCC 4.3, 显然不好,可能会引起一些其它的问题。再或就是安装 compat-gcc-34, 我装过了,还是不行,又卸了。终于找到了一个好办法 (见 http://forums.nvidia.com/index.php?showtopic=104525 ),只需要在 NVIDIA_GPU_Computing_SDK/C/common/common.mk 里将第 107 行:
NVCCFLAGS :=
改为:
NVCCFLAGS := --compiler-options -fno-inline
即可。
于是删除目录 NVIDIA_GPU_Computing_SDK, 重新安装之。依此办法修改后,再 make。然而还有些例子不能编译,说是 "/usr/bin/ld :cannot find -lglut", 于是加上符号连接 (见 http://forums.nvidia.com/index.php?showtopic=82884 ): ln -s /usr/lib64/libglut.so.3 /usr/lib64/libglut.so
编译完全成功!