运行环境:

Win7+VS2013+CUDA6.5

1.创建win32空项目

2.右键项目解决方案-->生成项目依赖项-->生成自定义

3.右键项目解决方案-->属性-->配置属性-->常规-->平台工具集

配置属性-->VC++目录-->包含目录,添加

$(CUDA_INC_PATH)

连接器-->常规-->附加库目录,添加

$(CUDA_PATH)/lib/$(PlatformName)

链接器-->输入-->附加依赖项,添加

cudart.lib

确定!

现在就可以创建/使用/编译*.cu文件了。

4.右键项目名称,添加-->新建项-->C++文件-->修改名称及后缀=>*.cu

5.在新文件中添加以下头文件

 #include "cuda.h"
#include "cuda_runtime.h"
#include "device_launch_parameters.h"

6.创建kernel内核文件,一个可以在GPU上执行的文件

 #include "cuda.h"
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include <stdio.h> __global__ void SaXPY(float a, float* X_d, float* Y_d, int n)
{
if (threadIdx.x < n)
Y_d[threadIdx.x] = a * X_d[threadIdx.x] + Y_d[threadIdx.x];
} int main()
{
int n = ;
float a = ;
float *X_h, *X_d, *Y_h, *Y_d;
X_h = (float*)malloc(n * sizeof(float));
Y_h = (float*)malloc(n * sizeof(float));
for (int i = ; i < n; i++)
{
X_h[i] = (float)i;
Y_h[i] = 1.0;
}
cudaMalloc(&X_d, n * sizeof(float));
cudaMalloc(&Y_d, n * sizeof(float));
cudaMemcpy(X_d, X_h, n * sizeof(float), cudaMemcpyHostToDevice);
cudaMemcpy(Y_d, Y_h, n * sizeof(float), cudaMemcpyHostToDevice);
SaXPY <<<, >>>(a, X_d, Y_d, n);
cudaMemcpy(Y_h, Y_d, n * sizeof(float), cudaMemcpyDeviceToHost);
for (int i = ; i < n; i++)
printf("%2.1f X[%d] + Y[%d] = %f\n", a, i, i, Y_h[i]);
cudaFree(X_d);
cudaFree(Y_d);
free(X_h);
free(Y_h);
system("Pause");
return ;
}

7.在调试模式下启动,观察结果。到此结束。

自己跑的文件下载链接

CUDA 6.5 && VS2013 && Win7:创建CUDA项目的更多相关文章

  1. CUDA samples 2.3节 用CUDA示例来创建CUDA项目

    2.3.1. Creating CUDA Projects for Windows 略 2.3.2  Creating CUDA Projects for Linux 默认的samples的安装路径 ...

  2. QT5.4.2静态编译(包含QtWebKit),在VS2013上创建项目,并成功运行

            Qt项目发布的exe程序,默认是以动态链接形式的,这样发布后的程序会附带好多Qt自己的dll库,这样文件数量不仅多,而且移植到其他电脑上的时候,还可能会遇到,提示缺其他库等各种运行不起 ...

  3. 关于CUDA,cuDNN,TF,CUDA驱动版本兼容问题

    实际工作当中,经常维护好几个项目的代码,不同项目依赖的TF版本不一致问题.网上找了好多资料,但是每次遇到的问题都不一样,每次都要去查(就是是一样的问题,解决办法也可能会不一样)每次踩坑无数,今天痛定思 ...

  4. VS自定义项目模板:[2]创建VSIX项目模板扩展

    VS自定义项目模板:[2]创建VSIX项目模板扩展 听语音 | 浏览:1237 | 更新:2015-01-02 09:21 | 标签:软件开发 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师 ...

  5. Java开发环境的搭建以及使用eclipse从头一步步创建java项目

    一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可..http://www.orac ...

  6. tfs中如何创建团队项目及如何操作团队项目

    创建团队项目集合 tfs server管理控制台\团队项目集合页面.选择'创建集合'链接,按向导即可创建项目集合. 创建团队项目 创建好团队项目集合后,就要开始创建团队项目了. 进入vs,连接上tfs ...

  7. VS2013开发Windows服务项目

    这篇随笔里,我将介绍如何用VS2013开发Windows服务项目,实现的功能是定时发送电子邮件. 开发环境:VS2013,SQL Server2008,采用C#语言开发 步骤一:创建Windows服务 ...

  8. C# 创建Web项目时 可以选择的类型在不同VS版本下的对比

    上面这个界面应该是 vs2010的 一. VS2012 .VS2013 其实每个模板的意思,在右边已经显示出来了.Empty,就是一个空的模板,创建后里面除了一个web.config外什么都没有:We ...

  9. 解决CUDA driver version is insufficient for CUDA runtime version

    问题 在服务器上安装mxne的GPU版本 sudo pip install mxnet-cu80==1.2.1 然后在gpu上创建数据 import mxnet as mx mx.nd.array([ ...

随机推荐

  1. 正确对待bug

    正确对待bug 2016-10-09 公众号:一只程序媛 以前我一直以为bug是代码的天敌,我以为好的程序媛写出来的代码是应该没有bug的,零bug是终极奋斗目标. 后来,看到一句话"上帝创 ...

  2. 大型网站系统架构实践(六)深入探讨web应用集群Session保持

    原理 在第三,四篇文章中讲到了会话保持的问题,而且还遗留了一个问题,就是会话保持存在单点故障, 当时的方案是cookie插入后缀,即haproxy指负责分发请求,应用服务自行保持用户会话,如果应 用服 ...

  3. SqlDependency数据库同步+signalr 推送消息

    sqlDependency提供了这样一种能力:当被监测的数据库中的数据发生变化时,SqlDependency会自动触发OnChange事件来通知应用程序,从而达到让系统自动更新数据(或缓存)的目的. ...

  4. Grovvy Step byStep Examples

    def LIMIT=10 def count=1 println 'start' while(count<=LIMIT){ println "count:${count}" ...

  5. iOS--雪花掉落特效

    - (void)createAnimaton { // 实例化发射器 CAEmitterLayer *snowLayer = [CAEmitterLayer layer]; // 设置大小 snowL ...

  6. redmine邮件发送功能配置详解

    redmine的邮件发送功能还是很有用的.像项目有更新啦,任务分配啦,都能邮件发送的相关责任人.我自己在linux服务器上安装并启动了redmine后,邮件一直发送了不了.查了网上的资料,都是讲修改下 ...

  7. java操作excel总结---poi

    前不久做过Excel的导入导出功能,其主要的难点是java如何操作Excel文档.现在就来介绍一下利用Apache的poi如何操作Excel. 1.准备工作:导入Apache POI的相关jar包,P ...

  8. HTML上传文件写法

    来源于:http://www.cnblogs.com/SkySoot/p/3525139.html html 表单上传文件 一般处理程序由于没有 apsx 页面的整个模型和控件的创建周期,而比较有效率 ...

  9. Rhino Mock

    mock interfaces, delegates and classes, including those with parameterized constructors. set expecta ...

  10. 5.9-2比较str1和str2截取后的子串

    package zfc; public class ZfcShcq { public static void main(String[] args) { // TODO Auto-generated ...