Mac OS X下CUDA Host端的编译选项设定
来源:互联网 发布:费用优化步骤 编辑:程序博客网 时间:2024/05/17 22:27
为了方便编译,我们一般将一个CUDA项目放入nVidia所提供的samples的默认目录下。比如:/Developer/GPU/ Computing/C/src
一个项目中应该至少有一个Host端的C/C++源文件(.c/.cpp/.m/.mm等),一个Device端的CUDA文件(.cu/.ptx等)以及一个makefile。
在默认情况下,Host端的源文件是用g++来编译的。但我们可以通过修改makefile来指定用何编译器,用何选项来编译指定的源文件。
比如,我们有如下的一个makefile:
上面有几个脚本变量说明一下:
CUFILES指明目标cuda源文件;
CCFILES指明目标C++源文件。这里要注意的是CCFILES总是以g++编译器去编译,不管你后面指定的源文件的后缀名是.c还是.cpp或其它。
上面我们指定了一个matrixMul.cu的CUDA源文件以及一个test.cpp源文件用g++去编译。
那么如果我们要以gcc,并且使用C99标准+GNU编译器扩展去编译一个test.c文件,我们该如何做呢?
下面给出这个这个make脚本:
这边我们可以看到两个新的变量:
CFILES用于指明后面所指定的源文件用gcc去编译;
CFLAGS用来指定gcc编译器的编译选项。
以上变量都将在common.mk中被引用。
另外要注意的是,用gcc或g++编译好的函数在用nvcc中编译的源文件中调用前都要使用extern "C"去声明。
如果我们要将一个cuda源文件编译为一个ptx文件,可以采取如下命令:
/usr/local/cuda/bin/nvcc --ptx cudafilename.cu
- Mac OS X下CUDA Host端的编译选项设定
- 在MAC OS X 10.9下编译CUDA 5.5例子程序出错解决方案
- Mac OS X 下Apache的编译安装
- Mac OS X下NDK环境的搭建及编译
- mac os X 下编译jrtplib
- Mac OS X下编译Android源码
- Mac OS X 下编译android源码
- MAC OS X下编译tesseract
- mac os X 下编译 chromium
- Mac os x下编译安装Qt
- Mac OS X下编译Android源码
- Mac OS X 下编译使用 LAJP
- mac os X 下编译 chromium
- Mac OS X 下编译安装 Nginx
- Mac OS X 下编译安装 PHP
- Mac OS X 下编译安装 Nginx
- Memcached 的静态编译(Mac OS X)
- MAC OS X下的截图方法
- crontab 是不会根据用户自动搜索环境变量的
- TC官方文档翻译07----内存HASH数据库API(Tokyo Cabinet/Tokyo Tyarnt 文档系列)
- Barracks at the base of mobile phones to read half the staff responsible for the content pipeline
- TC官方文档翻译08----内存树数据库API(Tokyo Cabinet/Tokyo Tyarnt 文档系列)
- TC官方文档翻译09----内存池对象API(Tokyo Cabinet/Tokyo Tyarnt 文档系列)
- Mac OS X下CUDA Host端的编译选项设定
- 虚函数表的实质。
- 覆盖,隐藏,重载。
- SCA概念与应用实践(7.SCA装配模型--7.3 接口 interface)
- 实用 Ajax 工具函数
- MFC 对话框 开启 Aero 毛玻璃 半透明 效果 (二)
- JavaScript 预先加载图片
- MFC 对话框 开启 Aero 毛玻璃 半透明 效果 (三)
- JS鼠标划过变换图片案例