【CUDA编程系列】在VS2015E上配置CUDA10.0

2023-11-01 11:18

本文主要是介绍【CUDA编程系列】在VS2015E上配置CUDA10.0,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

其他链接:
CUDA编程基本入门学习笔记

参考博文:
https://www.cnblogs.com/skyfsm/p/9673960.html
https://www.cnblogs.com/ww1x/p/10820362.html

本文目录:

    • 1.下载cuda10.0
    • 2.打开VS2015E
    • 3.常见问题

1.下载cuda10.0

(有更高版本建议尝试下载更高版本,高版本可支持低驱动,低版本不支持高去驱动)
https://developer.nvidia.com/cuda-10.0-download-archive
一路安装。
测试是否成功:
进入cmd,输入nvcc -V命令,出现显卡型号则说明成功。

2.打开VS2015E

2.1 创建空项目:
在这里插入图片描述我们需要确定一下编译器的环境,我使用的是release x64
2.2 然后打开右侧属性管理器,右击release x64,然后选择添加新项目属性表:
在这里插入图片描述
将属性表保存到指定位置,当下次创建项目后就可以直接调用了。
在这里插入图片描述
然后双击我们新创建的属性表:
2.3 找到链接器->常规->附加库目录
添加$(CUDA_PATH)\lib\$(Platform)
在这里插入图片描述

2.4 然后找到链接器->输入->附加依赖项
填入:

cublas.lib
cuda.lib
cudadevrt.lib
cudart.lib
cudart_static.lib
OpenCL.lib
//可能并用不到这么多lib,但对于新手来说,这样不会因为漏掉lib而报错

(可在cuda下的lib目录找,cuda10.0默认目录:C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/lib/x64)
在这里插入图片描述
然后关掉属性页。

2.5 新建CUDA C/C++文件
点开右侧解决方案资源管理器,右击:添加->新建项
然后选择 NVIDIA CUDA 10.0 -> code -> CUDA C/C++ File
文件取名test
在这里插入图片描述

2.6 关闭属性页,在右侧解决方案资源管理器,右击项目名称,
选择生成依赖项->生成自定义
在这里插入图片描述
选择cuda选项:

在这里插入图片描述
2.7 设置 test.cu的属性
在右侧解决方案资源管理器,右击新创建的test.cu文件,选择属性:
然后在常规->项类型中选择CUDA C/C++:
在这里插入图片描述

2.8 点击菜单栏:工具->选项:
然后点击:文本编译器->文件扩展名,添加如下:
在这里插入图片描述

3.常见问题

如图:
在这里插入图片描述
解决方案:
一般都是附加依赖项添加的有缺失,可以尝试检查依赖项目录无误,然后继续添加lib/x64目录下lib文件名称

4.最后验证代码:
在test.cu中输入:
可以查看我们GPU的一些硬件配置情况:

#include "device_launch_parameters.h"
#include <iostream>int main()
{int deviceCount;cudaGetDeviceCount(&deviceCount);for(int i=0;i<deviceCount;i++){cudaDeviceProp devProp;cudaGetDeviceProperties(&devProp, i);std::cout << "使用GPU device " << i << ": " << devProp.name << std::endl;std::cout << "设备全局内存总量: " << devProp.totalGlobalMem / 1024 / 1024 << "MB" << std::endl;std::cout << "SM的数量:" << devProp.multiProcessorCount << std::endl;std::cout << "每个线程块的共享内存大小:" << devProp.sharedMemPerBlock / 1024.0 << " KB" << std::endl;std::cout << "每个线程块的最大线程数:" << devProp.maxThreadsPerBlock << std::endl;std::cout << "设备上一个线程块(Block)种可用的32位寄存器数量: " << devProp.regsPerBlock << std::endl;std::cout << "每个EM的最大线程数:" << devProp.maxThreadsPerMultiProcessor << std::endl;std::cout << "每个EM的最大线程束数:" << devProp.maxThreadsPerMultiProcessor / 32 << std::endl;std::cout << "设备上多处理器的数量: " << devProp.multiProcessorCount << std::endl;std::cout << "======================================================" << std::endl;     }system("pause");return 0;
}

效果:
在这里插入图片描述

这篇关于【CUDA编程系列】在VS2015E上配置CUDA10.0的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/322581

相关文章

SpringBoot中HTTP连接池的配置与优化

《SpringBoot中HTTP连接池的配置与优化》这篇文章主要为大家详细介绍了SpringBoot中HTTP连接池的配置与优化的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、HTTP连接池的核心价值二、Spring Boot集成方案方案1:Apache HttpCl

Maven 插件配置分层架构深度解析

《Maven插件配置分层架构深度解析》:本文主要介绍Maven插件配置分层架构深度解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Maven 插件配置分层架构深度解析引言:当构建逻辑遇上复杂配置第一章 Maven插件配置的三重境界1.1 插件配置的拓扑

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin

VSCode中配置node.js的实现示例

《VSCode中配置node.js的实现示例》本文主要介绍了VSCode中配置node.js的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一.node.js下载安装教程二.配置npm三.配置环境变量四.VSCode配置五.心得一.no

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async

Gradle在国内配置镜像加速的实现步骤

《Gradle在国内配置镜像加速的实现步骤》在国内使用Gradle构建项目时,最大的痛点就是依赖下载贼慢,甚至卡死,下面教你如何配置国内镜像加速Gradle下载依赖,主要是通过改写repositori... 目录引言一、修改 build.gradle 或 settings.gradle 的 reposito

使用easy connect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题

《使用easyconnect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题》:本文主要介绍使用easyconnect之后,maven无法... 目录使用easGWowCy connect之后,maven无法使用,原来需要配置-DJava.net.pr

史上最全nginx详细参数配置

《史上最全nginx详细参数配置》Nginx是一个轻量级高性能的HTTP和反向代理服务器,同时也是一个通用代理服务器(TCP/UDP/IMAP/POP3/SMTP),最初由俄罗斯人IgorSyso... 目录基本命令默认配置搭建站点根据文件类型设置过期时间禁止文件缓存防盗链静态文件压缩指定定错误页面跨域问题

nginx负载均衡及详细配置方法

《nginx负载均衡及详细配置方法》Nginx作为一种高效的Web服务器和反向代理服务器,广泛应用于网站的负载均衡中,:本文主要介绍nginx负载均衡及详细配置,需要的朋友可以参考下... 目录一、 nginx负载均衡策略1.1 基本负载均衡策略1.2 第三方策略1.3 策略对比二、 nginx配置2.1

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮