基于Visual Studio 的CUDA开发平台搭建
基于Visual Studio 的CUDA开发平台搭建1 软件准备1.1 下载软件首先确定PC机为NVIDIA显卡,并且支持CUDA。
下载相关软件,包括显卡驱动(如果已经安装,则不必安装),CUDA Toolkit,CUDA SDK。
这些软件可以到NVIDIA官方网站上下载,地址为:/object/cuda_3_1_downloads.html由于安装的是32位的Windows7系统,CUDA Toolkit 的软件名为cudatoolkit_3.2.16_win_32.msi,软件大小80.8 MB;CUDA SDK 的软件名为:pucomputingsdk_3.1_win_32.exe,软件大小296 MB。
其他软件工具:VS助手(Visual Assist X),Openhero的CUDA_Wizard (CUDA_VS_Wizard_W32.2.2.exe)。
1.2安装软件软件准备完全后,先安装显卡驱动。
然后依次安装CUDA Toolkit和CUDA SDK。
在Windows 7 系统下,CUDA Toolkit 默认安装在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA目录下。
CUDA SDK安装在C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK目录下。
一般来说安装完后,相应的环境变量都已设置好,包括CUDA_BIN_PATH,CUDA_INC_PATH,CUDA_LIB_PATH等。
安装Visual Assist X(如果已经安装过就不必装了);安装CUDA_VS_Wizard 。
2 配置Visual Studio环境2.1 语法高亮将C:\ProgramData\NVIDIA Corporation\NVIDIA GPU ComputingSDK\C\doc\syntax_highlighting\visual_studio_8里面的usertype.dat文件copy到Microsoft Visual Studio 8\Common7\IDE目录下面(如果已经存在,就追加到原来的后面)。
2.2设置VS2005环境进入Tools|Options|Projects and Solutions|VC++Directories 添加:Include files(包含文件):C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK\C\common\inc C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.2\includeLiability files(库文件):C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK\C\common\lib C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.2\lib\Win32进入VC++ Project Settings(VC++项目设置):C/C++ File extensions:添加*.cu,在Text editor|File extension(文本编辑器|文件扩展名):添加cu 对应editor到Microsoft VC++ editor。
2.3 Visual Assist X设置关闭已经所有打开的Visual studio,安装V A好后,进入注册表编辑器(运行regedit,Win+R键,然后输入regedit):HKEY_CURRENT_USER\Software\Whole Tomato\V ANet8 找到右边的ExtSource项,将其值添加.cu;.cuh;之后关闭,再次打开VS2005即可。
3 小试牛刀3.1 创建工程安装CUDA_Wizard后,启动VS2005新建工程就可以看见CUDA工程的向导如图1。
图1注意,在安装CUDA_Wizard后可能出现编译好程序运行时找不到cutil32D.dll 的错误,此时需要将C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK\C\bin\win32目录下的如下四个目录:├─Debug├─EmuDebug├─EmuRelease└─Release添加到系统环境变量中,步骤如下:(1)新建环境变量CUDA_SDK_PATH,值为C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK\C\bin\win32(2)在系统Path变量中添加: ; %CUDA_SDK_PATH%\Debug;%CUDA_SDK_PATH%\Release;%CUDA _SDK_PATH%\EmuDebug;%CUDA_SDK_PATH%\EmuRelease(3)重启Visual Studio生效。
创建CUDA工程,如下图2,进入下一步。
选择创建空项目(Empty Project),如图3。
图2图3在资源管理器中右键源文件(图4),添加->新建项,弹出如图5所示窗口,创建CUDA源文件,默认后缀名为cu。
图4图53.2 测试代码按3.1节所示目录,创建一个MyCudaTest工程,并创建example_1_kernel.cu 以及example_1.cu两个源文件,内容如下[1]:/** CUDA_TEST: MyCudaTest* src: example_1_kernel.su*/#ifndef_EXAMPLE_1_KERNEL_H_#define_EXAMPLE_1_KERNEL_H___global__static void testKernel(float* g_idata, float* g_odata) {extern__shared__float sdata[];const unsigned int bid = blockIdx.x;const unsigned int tid_in_block = threadIdx.x;const unsigned int tid_in_grid= blockDim.x*blockIdx.x + threadIdx.x;sdata[tid_in_block] = g_idata[tid_in_grid];__syncthreads();sdata[tid_in_block] *= (float)bid;__syncthreads();g_odata[tid_in_grid] = sdata[tid_in_block];}#endif//_EXAMPLE_1_KERNEL_H_/** CUDA_TEST: MyCudaTest* src: example_1.su*/#include<stdlib.h>#include<stdio.h>#include<string.h>#include<math.h>#include<cutil.h>#include<example_1_kernel.cu>void runTest(int argc, char** argv);int main(int argc, char** argv){runTest(argc, argv);CUT_EXIT(argc, argv);return 0;}void runTest(int argc, char** argv){CUT_DEVICE_INIT(argc, argv);unsigned int i, j;unsigned int num_blocks = 4;unsigned int num_threads = 4;unsigned int mem_size = sizeof(float)*num_threads*num_blocks;float* h_idata = (float*)malloc(mem_size);float* h_odata = (float*)malloc(mem_size);float* d_idata;float* d_odata;CUDA_SAFE_CALL(cudaMalloc((void**)&d_idata, mem_size));CUDA_SAFE_CALL(cudaMalloc((void**)&d_odata, mem_size));for ( i = 0; i < num_threads*num_blocks; ++i ){h_idata[i] = 1.0f;}CUDA_SAFE_CALL(cudaMemcpy(d_idata, h_idata, mem_size, cudaMemcpyHostToDevice));dim3grid(num_blocks, 1, 1);dim3threads(num_threads, 1, 1);testKernel<<<grid, threads, mem_size>>>(d_idata, d_odata);CUT_CHECK_ERROR("Kernel execution failed");CUDA_SAFE_CALL(cudaMemcpy(h_odata, d_odata, mem_size, cudaMemcpyDeviceToHost));for ( i = 0; i < num_blocks; ++i ){for ( j = 0; j < num_threads; ++j ){printf("%5.0f", h_odata[i*num_threads+j]);}printf("\n");}free(h_idata);free(h_odata);CUDA_SAFE_CALL(cudaFree(d_idata));CUDA_SAFE_CALL(cudaFree(d_odata));}编译后即可运行,运行结果如下图6:参考资料[1] 张舒,褚艳利等,GPU高性能运算之CUDA,北京:中国水利出版社,200年10月[2] /document/200907/article8537.htm[3] /u/20091221/00/de31c9a0-fc15-4c90-b19f-0513d4166f98.html。
2024版CUDA编程入门极简教程
行划分,每个线程处理一部分数据;任务并行是将任务划分为多个子任
务,每个线程执行一个子任务。
02
共享内存与全局内存
CUDA提供共享内存和全局内存两种存储空间。共享内存位于处理器内
部,访问速度较快,可用于线程间通信;全局内存位于处理器外部,访
问速度较慢,用于存储大量数据。
03
异步执行与流
CUDA支持异步执行,即CPU和GPU可以同时执行不同的任务。通过创
2023
PART 02
CUDA环境搭建与配置
REPORTING
安装CUDA工具包
下载CUDA工具包
01
访问NVIDIA官网,下载适用于您的操作系统的CUDA工具包。
安装CUDA工具包
02
按照安装向导的指示,完成CUDA工具包的安装。
验证安装
03
安装完成后,可以通过运行CUDA自带的示例程序来验证算,每个线 程处理一个子任务。计算完成后, 将结果从设备内存传输回主机内 存,并进行必要的后处理操作。
2023
PART 05
CUDA优化策略与技巧
REPORTING
优化内存访问模式
合并内存访问
通过确保线程访问连续的内存地址,最大化内 存带宽利用率。
使用共享内存
利用CUDA的共享内存来减少全局内存访问, 提高数据重用。
避免不必要的内存访问
精心设计算法和数据结构,减少不必要的内存读写操作。
减少全局内存访问延迟
使用纹理内存和常量内存
利用CUDA的特殊内存类型,如纹理内存和常量内存,来加速数 据访问。
数据预取和缓存
通过预取数据到缓存或寄存器中,减少全局内存访问次数。
展望未来发展趋势
CUDA与深度学习
Windows搭建CUDA开发环境
Windows搭建CUDA开发环境CUDA(Compute Unified Device Architecture,统⼀计算架构)是由英伟达所推出的⼀种集成技术,向⽤户提供了可以很优雅地调⽤GPU进⾏并⾏计算的编程接⼝。
然⽽对于很多刚接触这门技术的⼈来说,怎么把⼀个简单的cuda程序跑起来却也是⼀个“说⼤不⼤,说⼩不⼩”的问题。
我⼤致整理出了在Windows上搭建cuda开发环境的⽅案,勉勉强强可以被当作⼀份参考。
此处我的⽬标主要为:完成对简单CUDA C程序的编译和运⾏。
当然,要搭建⼀个真实的cuda开发环境,得先确保⾃⼰电脑是⽀持cuda的。
(安装了英伟达显卡的应该都没问题)命令⾏编译⾸先去英伟达官⽹下载⼀个,然后安装上。
安装完成后,试试nvcc -V查看是否是否能正常使⽤nvcc,如果不能的话,去环境变量中检查⼀下类似C:\Program Files\NVIDIA GPUComputing Toolkit\CUDA\v11.1\bin\这样的值有没有被加到Path⾥,如果没有的话记得⼿动加⼀下(记得使⽤⾃⼰的真实的CUDA⼯具包的安装位置,不要直接复制我这⾥的)。
添加完成后记得要重新打开⼀个cmd或shell才能正常加载。
创建⼀个cuda程序hello.cu,参考程序附于⽂末;在当前⽬录使⽤nvcc -o hello hello.cu进⾏编译,如果⼀切正常,这个⽬录中将出现hello.exe, hello.exp, hello.lib这⼏个⽂件。
但通常来说,这⾥会出现找不到cl的情况。
如果没有安装Visual Studio的话,先安装⼀个找到cl.exe的位置,并将该⽬录加⼊到环境变量Path中,我这⾥给出⼀个参考:D:\Program Files (x86)\Microsoft VisualStudio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\Hostx64\x64使⽤Visual Studio⾸先如果没有安装VC的话当然是需要先安装⼀个,⾄于安装的时候具体要选哪些模块,我现在也还不是很清楚,也没来得及去验证。
Windows10+VisualStudio2017+CMake+OpenCV编译、开发环。。。
Windows10+VisualStudio2017+CMake+OpenCV编译、开发环。
由于最近需要使⽤OpenCV,本⼈需要在⾃⼰的PC上使⽤OpenCV,因此最近⼀直在研究如何使⽤Visual Studio编译OpenCV源代码并搭建开发环境,折腾了很长时间,查阅了很多相关资料,终于成功。
本⽂记录⼀下安装的过程以及遇到的问题,仅供参考。
开篇吐槽⼀下博客园的博⽂【⾃动保存和恢复】功能,说⽩了就是可以⾃动保存,但是⼏乎不能⾃动恢复,不要问我为什么这么说,呵呵。
本PC环境的详细配置:Windows 10 16299.192 64-bit,Visual Studio Enterprise 2017 15.5.2,OpenCV-3.4.0-vc14_vc15,CMake 3.10.1,CUDA 9.0开始正式介绍安装步骤:(1)下载并安装Visual Studio 2017。
由于本PC上安装的是最新的Visual Studio 2017企业版,因此本⼈主要研究如何在最新版的VS上编译并部署opencv开发环境。
如果各位搞不到Visual Studio 2017企业版的激活码,那么使⽤社区版也是没有问题的。
⾸先到官⽅⽹站下载Visual Studio 2017并安装。
在Visual Studio Installer中,勾选和C++开发相关的所有组建,并且确保安装过程顺利⽆误,这⼀点⾮常重要,因为必须确保VC++编译环境正确安装。
这⾥提醒⼀下,注意VS2017的版本号为15,因此对应的VC++编译环境的版本号为vc15,这个很重要,将决定opencv版本的安装。
(2)下载并安装OpenCV。
从官⽹下载OpenCV,本⼈使⽤的是最新版OpenCV-3.4.0-vc14_vc15,请注意,这⾥要下载⽀持vc15的版本,才能很好的兼容Visual Studio 2017,本⼈曾看⼀些博客写到⽤vc14(对应Visual Studio 2015)的版本在Visual Studio 2017中使⽤,亲测,⽑病有不少。
CUDA4.0 X32 + Windows7 32bit + Visual Studio2008+ Visual Assist安装指南
CUDA4.0 X32 + Windows7 32bit + Visual Studio2008+ Visual Assist安装指南1,需要安装的软件:CUDA Toolkit4.0 + GPUComputing SDK + CUDA Wizard + +对应的显卡驱动+ Visual Assist破解版+ VS2008下载地址:/cuda-toolkit-402,先安装显卡,得确保显卡支持CUDA加速。
查询是否支持可看此网站:/cuda-gpus3,再安装Toolkit4.0和SDK,最好选择默认。
在Win7环境下,Toolkit4.0安装后文件路径为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.2SDK默认安装文件路径为:C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0,注意:ProgramData Win7为隐藏文件,XP系统下默认安装路径为C:\Documents and Settings\All Users\ApplicationData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.04,C:\ProgramData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0\C\src该目录下,为SDK所带的demo程序,有VS2005、VS2008和VS2010三个版本。
5,安装CUDAWizard,下载地址:/projects/cudavswizard/安装后,重新打开VS2008,此时【新建项目类型】多了【CUDA】一项,此时可以新建CUDA C程序了。
但此时肯定编译通不过,缺少必要的环境变量设置。
6,Ctrl+R,输入cmd,进入命令提示窗口输入setcuda,看是否出现以CUDA开头的环境变量,如果没有,说明SDK安装不正确,重新安装之后,在环境变量中设置【用户变量】中的【path】,添加上C:\ProgramData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0\C\bin\win32\Debug和C:\ProgramData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0\C\bin\win32\Release7,打开VS2008,【工具】-【选项】-【项目和解决方案】-【VC++目录】-【包含文件】添加上C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include、和C:\ProgramData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0\C\common\inc【库文件】添加上C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v4.0\lib和C:\ProgramData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0\C\common\lib【源文件】添加上C:\ProgramData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0\C\common\src8,【工具】-【选项】-【项目和解决方案】-【VC++项目设置】-【C/C++文件扩展名】添加上*.cu【包括的扩展名】添加上.cuh【规则文件搜索路径】C:\ProgramData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0\C\common9,产生一些必须的库文件打开文件夹C:\ProgramData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0\C\common用VS打开Release_vs2008.sln(包含有cutil_vs2008和rendercheckgl_vs2008项目),选择【生成】-【批生成】,选择【Debug|Win32】和【Release|Win32】,点击【生成】,即可生成一些必须的库文件。
CUDA + Qt + VS2008 编程环境的配置
实际上,CUDA应用于Qt,相当于在已有的project中添加所谓的CUDA build customizations
在NVIDIA CUDA GETTING STARTED GUIDE FOR MICROSOFT WINDOWS文档中(对应的文件名可能是 CUDA_Getting_Started_Windows.pdf)提到:
NVSDKCOMPUTE_ROOT - E:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.2
$(NVSDKCOMPUTE_ROOT)\C\common\lib - E:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.2\C\common\lib,相比之下似乎应该再多一级\Win32
cutil32.dll and cutil32D.dll (or cutil64.dll and cutil64D.dll) are the release and debug dynamic-link libraries, which also are copied to NVIDIA GPU
1. Open the Visual Studio 2010 project, right click on the project name, and select “Build Customizations...”, then select the CUDA Toolkit version you would like to 32 release and/or debug configurations of the cutil library, use the solution files located in NVIDIA GPU Computing SDK\C\common. The output
CUDA 4.0 + Visual Studio 开发环境搭建
CUDA 4.0 + Visual Studio 开发环境搭建基于GPU加速的并行计算, 已经成为通用计算领域的一种趋势了, 通过你的显卡可以很轻松的让你的PC得到媲美超级计算机的计算能力.下面以CUDA 4.0和vs2008为例, 介绍一下基于CUDA的开发环境的搭建. 假设你已经安装了vs2008或者其他IDE.1. 去Nvidia官网下载下面三个软件包, 要对应你自己的操作系统(32位或64位), 另外各自的版本号也需要对应(1) 开发驱动(devdriver)(2)工具包(cudatoolkit)(3)SDK样例代码(gpucomputingsdk)安装过程一路next就可以了2. 安装完这些软件后,我们可以开始创建一个CUDA的程序了。
网上有很多手动配置工程的方法,非常繁琐。
我们可以选择使用赵开勇博士发布的自动化工具:CUDA VS Wizard,这个安装后会在VS中显示CUDA的项目模板。
免去了繁琐的手工配置。
这个工具的项目主页是:/projects/cudavswizard/下载的时候一定要根据自己系统的版本来选择32位还是64位的版本。
如果操作系统是32位的,却安装了64位版本的Wizard,在vs中创建cuda project时就会出错。
sourceforge上默认提供的就是64位的版本。
3. 安装好Wizard,剩下的工作就比较简单了。
在VS中建立一个CUDA工程,先不要选择EmptyProject,建好后直接编译。
顺利的话应该可以编译通过。
如果编译不成功,提示找不到cutil32D.lib的话, 那需要去SDK下面的C\common目录编译一下cutil_vs2008这个工程, 默认路径是C:\Documents and Settings\All Users\Application Data\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0\C\common 然后编译出的cutil32D.lib复制到你的工程目录或者是cuda的lib路径下就可以了如果运行时会提示找不到cutil32D.dll。
CUDA基础知识总结
13
同步与通信机制
2024/1/26
同步机制
CUDA提供了多种同步机制,用于协调不同线程之间的执行顺序。常用的同步机制包括 __syncthreads()函数、原子操作(atomic operations)和信号量(semaphores)等。
通信机制
在CUDA编程中,不同线程之间需要进行数据交换和通信。CUDA提供了多种通信机制, 包括共享内存、全局内存和纹理内存等。此外,还可以通过CUDA流(Streams)实现不 同线程之间的异步通信。
一个独立的性能分析工具,用 于分析CUDA程序的执行时间 和资源占用情况。
2024/1/26
18
05 CUDA高级特性
2024/1/26
19
共享内存与原子操作
2024/1/26
共享内存
CUDA中的共享内存是位于GPU芯片上的高速内存,可以被同一线程块中的所有 线程共享。使用共享内存可以显著提高线程间的数据交换速度,从而提升程序的 性能。
CUDA核心(CUDA Cores)
执行浮点运算、整数运算和逻辑运算的处理器。
CUDA流处理器(Streaming Multipr…
包含多个CUDA核心,共享指令缓存、寄存器文件等资源的处理器集群。
2024/1/26
CUDA内存(CUDA Memory)
包括全局内存、共享内存、常量内存和纹理内存等,用于存储和访问数据。
线程层次结构
CUDA线程分为网格(Grid)、块(Block)和线程( Thread)三个层次,网格由多个块组成,块由多个线程组 成。这种层次结构方便了对线程的组织和管理。
并行执行
CUDA支持大量线程的并行执行,通过合理的线程组织和调 度,可以充分利用GPU的计算资源,提高程序的执行效率 。
cuda配置
cuda配置Visual Studio 2010 中CUDA 4.0的安装与配置安装环境:Win7 64位系统,Geforce GT 430显卡安装前提:Visual Studio 2010Visual Assist X安装步骤:1,Nvidia显卡驱动,装275.33版,这是最新版本驱动,初次安装为了少出错,最好安装⽐较新版本的驱动。
2,Cuda Toolkit 4.0安装,CUDA 4.0的新特性可以参见其Release Notes,其中包括了本⽂将要介绍的Thrust库。
3,CUDA Tools SDK 4.0安装,默认安装路径可能是C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0,记这个路径为SDK_PATH.4,Parallel Nsight 2.0安装,这个⼯具可以将GPU通⽤计算集成进Microsoft Visual Studio,能够对使⽤CUDA C,OpenCL, DirectCompute, Direct3D,和 OpenGL的应⽤程序进⾏调试和分析。
现在可以⽤VS打开CUDA SDK的例⼦了,在这之前,两个⼯具库可以先⽣成⼀下。
a.使⽤VS2010打开SDK_PATH \ c\common\cutil vs2010.sln,VS2010 选“Build|BatchBuild…”,“Select All”,⽣成所有配置需要的lib.如果遇到“Can not open sourcefile …”的错误,把⽂件夹的只读属性去掉。
⽬的:⽣成各配置需要的cutilxx[D].lib XX:32 /64 [D]debug模式lib存放的位置:SDK_PATH \ c\common\lib\(win32|X64)b.同上⽅法,打开SDK_PATH\share\ shrUtils_vs2010.sln 选“Build|Batch Build…”⽬的:⽣成各配置需要的shrUtilxx.lib XX:32 /64 [D]debug模式lib存放的位置:SDK_PATH\share\lib\(Win32|x64)注:这个项⽬编译时会提⽰有两个.cpp找不到,直接把他们从项⽬⾥移去即可。
MFC和CUDA联合开发
MFC和CUDA联合开发程序1.新建MFC项目,把该做的都做完2.到了用gpu加速的部分是向MFC项目中添加.cu文件,例如main.cu3.在main.cu上右键单击,并选择属性-常规,在工具中选择自定义生成工具,单击应用4.在自定义生成步骤-常规-命令行中添加以下内容:Debug模式:"$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)bin" -c -D_DEBUG -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/Od,/Zi,/RTC1,/MTd-I"$(CUDA_INC_PATH)" -o $(ConfigurationName)\$(InputName).obj $(InputFileName)Release模式:"$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)bin" -c -DWIN32-D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/O2,/Zi,/MT -I"$(CUDA_INC_PATH)" -o $(ConfigurationName)\$(InputName).obj $(InputFileName)5.如果想使用软件仿真的模式,可以在配置管理器中新增两个额外的设定EmuDebug,EmuRelease,然后在对应的命令行中添加以下代码:这个地方要注意,特别是在MFC中,要现在项目中建立EmuDebug,EmuRelease然后在copy debug,和release的配置,然后在.cu文件的属性中,将命令行的数据修改如下EmuDebug模式: "$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)bin" -deviceemu -c-D_DEBUG -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler/EHsc,/W3,/nologo,/Wp64,/Od,/Zi,/RTC1,/MTd -I"$(CUDA_INC_PATH)" -o $(ConfigurationName)\$(InputName).obj $(InputFileName)EmuRelease模式:"$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)bin" -deviceemu -c -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/O2,/Zi,/MT-I"$(CUDA_INC_PATH)" -o $(ConfigurationName)\$(InputName).obj $(InputFileName)6.所有配置,自定义生成步骤-输出中加入$(ConfigurationName)\$(InputName).obj7.项目-属性-连接器-常规-启用增量链接否(/INCREMENTAL:NO)项目-属性-连接器-常规-附加库目录$(CUDA_LIB_PATH)项目-属性-连接器-输入-附加依赖项cudart.lib cutil32.lib8.如果在.cu文件中用到了原子函数或者其他一些对于compute capbility有要求的操作,需在命令行中添加-arch compute_1x -code sm_1x (x可以为0,1,2,3)highlighting1. If you don't have a usertype.dat file in your "Microsoft Visual Studio 8\Common7\IDE" folder, then copy the included usertype.dat file there. If you do, append the contents of the included usertype.dat onto the end of the "Microsoft Visual Studio8\Common7\IDE\usertype.dat"2. Start Visual Studio 8. Select the menu "Tools->Options...". Open "Text Editor" in the tree view on the left, and click on "File Extension". Type cu in the "Extension" box, and click "Add". Click "OK" on the dialog box.3. Restart Visual Studio and your shaders should now have syntax highlighting.visual Assist 添加支持.cu文件打开注册表,在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Languages\File Extensions\ 下面添加子键 .cu 然后copy .cpp的键值到.cu。
Windows 7 64bit +VS2008+ CUDA 4.0安装配置完全过程
Windows 7 64bit +VS2008+ CUDA 4.0安装配置完全过程安装CUDA4.0时,碰到了很多意外,花费了较多时间,最终取得了成功,现对期间的经验教训总结如下,供大家分享,期待提高大家的工作质量和效率。
一 安装环境Windows 7 64bit 家庭版,VS2008(安装了X64编译器),CUDA 4.0 64bit版本;二 安装软件Windows 7 64bit 家庭版是购买笔记本时自带的系统,不再详说。
2.1 安装VS2008安装的professional版本,在安装时选择自定义安装,选择自己需要的组件,如下图1所示(这里借用了别人的一张图片),注意展开Visual C++子树,选中X64组件。
图1 自定义安装VS2008组件安装完毕后,对于如何取消90天试用限制问题,采用了别人的破解办法,具体的操作方法如下:打开 控制面板 Î 添加删除程序, 找到VS2008的安装项,运行VS2008的安装卸载程序,出现如下图2所示界面:图2 VS2008的安装卸载界面下载 破解程序CrackVS2008ForWindows7.zip,然后右键点击该破解程序,选择以管理员身份运行,出现如下的图3所示界面:图3 破解程序界面点击图3右上角 按钮“Bug 微软”,则久违的图4界面出现了:图4 破解后的界面输入相应的序列号,就可以了,以下是收集的序列号:1.Visual Studio 2008 Professional Edition:XMQ2Y-4T3V6-XJ48Y-D3K2V-6C4WT2.Visual Studio 2008 Team Test Load Agent:WPX3J-BXC3W-BPYWP-PJ8CM-F7M8T3.Visual Studio 2008 Team System:PYHYP-WXB3B-B2CCM-V9DX9-VDY8T4.Visual Studio 2008 Team Foundation Server:WPDW8-M962C-VJX9M-HQB4Q-JVTDM2.2 安装CUDA4.0在nvidia的下载网页上,下载了64bit的开发组件,包括driver、tookit、sdk 等主要组件,具体如下:devdriver_4.0_winvista-win7_64_275.33_notebook.execudatoolkit_4.0.17_win_64.msigpucomputingsdk_4.0.19_win_64.execudatools_4.0.17_win_64.msiCUDA4_0BuildCustomizationFix.zip注意驱动选择台式机或者笔记本版本。
