CUDA 7.5 安装及配置(WIN7 64 英伟达G卡 VS2013)

2023-11-05

第一步

下载cuda 7.5最新版本

https://developer.nvidia.com/cuda-downloads

第二步

运行安装程序,安装过程中选择自定义

第三步

安装完毕,可以看到系统中多了CUDA_PATH和CUDA_PATH_V7_5两个环境变量,接下来,还要添加以下几个环境变量

CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5. 
(这个文件夹是隐藏的,可以在工具->查看中设置显示隐藏文件夹)  

CUDA_LIB_PATH = %CUDA_PATH%\lib\x64  

CUDA_BIN_PATH = %CUDA_PATH%\bin 
 

CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\x64 
 

CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

然后,在系统变量 PATH 的末尾添加:

;%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%; 

第四步

保存以使环境变量生成有效

第五步

打开VS2013并且建立一个空的win32控制台项目:

附近选项,选择“空项目”打钩


第六步

右键源文件->添加-》新建项

再打开的对话框中新建一个CUDA格式的源文件(如果你只要调用CUDA库编写程序而不需要自行调用核函数分配块,线程的话也可以建立.cpp文件):

第七步

右键工程-->生产依赖项-->生成自定义-->勾上CUDA 7.5

第八步

右键项目 -> 属性 -> 配置属性 -> VC++目录,添加以下两个包含目录:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\include  

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5\common\inc

再添加以下两个库目录: 
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\lib\x64 
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5\common\lib\x64 


第九步

右键项目 -> 属性 -> 配置属性 ->连接器 -> 常规 -> 附加库目录,添加以下目录:

$(CUDA_PATH_V7_5)\lib\$(Platform)

如下图所示:

第十步

右键项目 -> 属性 -> 配置属性 ->连接器 -> 输入 -> 附加依赖项,添加以下库:

cublas.lib;cublas_device.lib;cuda.lib;cudadevrt.lib;cudart.lib;cudart_static.lib;cufft.lib;cufftw.lib;curand.lib;cusolver.lib;cusparse.lib;nppc.lib;nppi.lib;npps.lib;nvblas.lib;nvcuvid.lib;nvrtc.lib;OpenCL.lib;

第十一步

右键项目 -> 属性,如下图所示:

第十二步

打开配置管理器,如下图所示:

点击新建,如下图所示:选择X64

环境搭建完毕

上代码:

#include <stdio.h>
#include <iostream>
#include <cuda_runtime.h>
__global__ void Add(int a, int b, int *c)
{
*c = a + b;
}
int main()
{
int c;
int *devc;
cudaError_t err = cudaSuccess;
err = cudaMalloc((void **)&devc, sizeof(int));
if (err != cudaSuccess)
{
fprintf(stderr, "Faild!\n", cudaGetErrorString(err));
exit(EXIT_FAILURE);
}
Add <<<1, 1 >> >(2, 4, devc);
err = cudaMemcpy(&c, devc, sizeof(int), cudaMemcpyDeviceToHost);
if (err != cudaSuccess)
{
fprintf(stderr, "Faild!\n", cudaMemcpyDeviceToHost);
exit(EXIT_FAILURE);
}
printf("2+4 = %d\n", c);
cudaFree(devc);
system("pause");
return 0;
}


输出如下测试成功!


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CUDA 7.5 安装及配置(WIN7 64 英伟达G卡 VS2013) 的相关文章

  • warp 如何与原子操作一起工作?

    warp 中的线程在物理上并行运行 因此如果其中一个 称为线程 X 启动原子操作 其他线程会做什么 等待 这是否意味着 当线程 X 被推入原子队列时 所有线程都将等待 获得访问权限 互斥体 并对受该互斥体保护的内存执行一些操作 然后再释放互
  • 如何在arch linux中降级到cuda 10.0?

    我想在 arch linux 中将我的 cuda 10 1 降级到 cuda 10 0 因为 TensorFlow 仅需要 cuda 10 0 我在 arch Linux 的 CUDA 10 1 上安装了tensorflow 但我不知道te
  • GPU 上非原子写入的保证很弱吗?

    OpenCL 和 CUDA 包含原子操作已有好几年了 尽管显然并非每个 CUDA 或 OpenCL 设备都支持这些操作 但是 我的问题是关于由于非原子写入而 共存 种族的可能性 假设网格中的多个线程都写入全局内存中的同一位置 我们是否可以保
  • 如何获取要执行的 PTX 文件

    我知道如何生成 ptx文件来自 cu以及如何生成 cubin文件来自 ptx 但我不知道如何获得最终的可执行文件 更具体地说 我有一个sample cu文件 编译为sample ptx 然后我使用 nvcc 来编译sample ptx to
  • 加强托管线程和操作系统线程之间的关系(CUDA 用例)

    Problem 我正在尝试创建一个与 net 良好集成的 CUDA 应用程序 设计目标是拥有多个可以从托管代码调用的 CUDA 函数 数据还应该能够在函数调用之间保留在设备上 以便可以将其传递给多个 CUDA 函数 重要的是 每个单独的数据
  • 如何在 Linux 中分析 PyCuda 代码?

    我有一个简单的 经过测试的 pycuda 应用程序 正在尝试对其进行分析 我尝试过 NVidia 的 Compute Visual Profiler 它运行该程序 11 次 然后发出以下错误 NV Warning Ignoring the
  • CUDA错误:在python中使用并行时初始化错误

    我的代码使用 CUDA 但运行速度仍然很慢 因此 我将其更改为使用 python 中的多处理 pool map 并行运行 但我有CUDA ERROR initialization error 这是函数 def step M self ite
  • 将 GPUJPEG 项目移植到 Windows

    我目前正在尝试移植 GPUJPEG 在 Sourceforge 上 http sourceforge net projects gpujpeg 库 基于 CUDA 从 Unix 到 Windows 现在我被卡住了 我不知道发生了什么或为什么
  • Cuda Bayer/CFA 去马赛克示例

    我编写了一个 CUDA4 Bayer 去马赛克例程 但它比在 16 核 GTS250 上运行的单线程 CPU 代码慢 块大小是 16 16 图像暗淡是 16 的倍数 但更改此值并不会改善它 我做了什么明显愚蠢的事情吗 calling rou
  • 如何将CUDA时钟周期转换为毫秒?

    我想用一些代码来测量时间within我的内核需要 我已经关注了这个问题 https stackoverflow com questions 11209228 timing different sections in cuda kernel连
  • cudaMallocManaged() 返回“不支持的操作”

    在 CUDA 6 0 中尝试托管内存给了我operation not supported打电话时cudaMallocManaged include cuda runtime h include
  • 为什么numba cuda调用几次后运行速度变慢?

    我正在尝试如何在 numba 中使用 cuda 然而我却遇到了与我预想不同的事情 这是我的代码 from numba import cuda cuda jit def matmul A B C Perform square matrix m
  • 传递给 CUDA 的结构中的指针

    我已经搞砸了一段时间了 但似乎无法正确处理 我正在尝试将包含数组的对象复制到 CUDA 设备内存中 然后再复制回来 但当我遇到它时我会跨过那座桥 struct MyData float data int dataLen void copyT
  • 如何确定完整的 CUDA 版本 + 颠覆版本?

    Linux 上的 CUDA 发行版曾经有一个名为version txt例如 CUDA Version 10 2 89 这非常有用 但是 从 CUDA 11 1 开始 该文件不再存在 我如何在 Linux 上通过命令行确定并检查 path t
  • 如何并行从数组中删除零值

    如何使用 CUDA 并行有效地从数组中删除零值 有关零值数量的信息是预先可用的 这应该可以简化这项任务 重要的是数字必须保持源数组中的顺序 当被复制到结果数组时 Example 该数组将例如包含以下值 0 0 19 7 0 3 5 0 0
  • 运行时 API 应用程序中的 cuda 上下文创建和资源关联

    我想了解如何在 cuda 运行时 API 应用程序中创建 cuda 上下文并与内核关联 我知道这是由驱动程序 API 在幕后完成的 但我想了解一下创作的时间线 首先 我知道 cudaRegisterFatBinary 是第一个 cuda a
  • CUDA 估计 2D 网格数据的每块线程数和块数

    首先我要说的是 我已经仔细阅读了所有类似的问题 确定每个块的线程和每个网格的块 https stackoverflow com questions 4391162 cuda determining threads per block blo
  • CUDA 常量内存是否应该被均匀地访问?

    我的 CUDA 应用程序的恒定内存小于 8KB 既然它都会被缓存 我是否需要担心每个线程访问相同的地址以进行优化 如果是 如何确保所有线程同时访问同一地址 既然它都会被缓存 我是否需要担心每个线程访问相同的地址以进行优化 是的 这缓存本身每
  • Yocto for Nvidia Jetson 由于 GCC 7 而失败 - 无法计算目标文件的后缀

    我正在尝试将 Yocto 与 meta tegra 一起使用 https github com madisongh meta tegra https github com madisongh meta tegra 为 Nvidia Jets
  • 尝试构建我的 CUDA 程序时出现错误 MSB4062

    当我尝试构建我的第一个 GPU 程序时 出现以下错误 有什么建议可能会出什么问题吗 错误 1 错误 MSB4062 Nvda Build CudaTasks SanitizePaths 任务 无法从程序集 C Program 加载 文件 M

随机推荐