-
2020-11-21 14:22:59
import torch #返回当前设备索引 # torch.cuda.current_device() #返回GPU的数量 # torch.cuda.device_count() #返回gpu名字,设备索引默认从0开始 # torch.cuda.get_device_name(0) #cuda是否可用 # torch.cuda.is_available() # pytorch 查看cuda 版本 # 由于pytorch的whl 安装包名字都一样,所以我们很难区分到底是基于cuda 的哪个版本。 # print(torch.version.cuda) # 判断pytorch是否支持GPU加速 # print (torch.cuda.is_available()) # 【PyTorch】查看自己的电脑是否已经准备好GPU加速(CUDA) # 那么在CUDA已经准备好的电脑上,会输出:cuda:0 # 而在没有CUDA的电脑上则输出:cpu device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") print(device)
更多相关内容 -
英伟达cuda认证通过代码nbody.cu
2021-12-04 20:12:34英伟达cuda认证通过代码 -
Cuda性能测试
2016-04-28 08:42:12基于VS2013得威cuda的性能测试,比较了不同规模运算时的cpu和gpu的运算时间,gpu在大规模运算更具优势 -
PyTorch测试代码-cuda加速
2020-07-09 10:07:16# 以下代码只有在PyTorch GPU版本上才会执行 import time print(torch.__version__) print(torch.cuda.is_available()) a = torch.randn(10000,1000) b = torch.randn(1000,2000) t0 = time.time() c = torch.matmul...import torch # 以下代码只有在PyTorch GPU版本上才会执行 import time print(torch.__version__) print(torch.cuda.is_available()) a = torch.randn(10000,1000) b = torch.randn(1000,2000) t0 = time.time() c = torch.matmul(a,b) t1 = time.time() print(a.device,t1-t0,c.norm(2)) device = torch.device('cuda') a = a.to(device) b = b.to(device) t0 = time.time() c = torch.matmul(a,b) t1 = time.time() print(a.device,t1-t0,c.norm(2)) t0 = time.time() c = torch.matmul(a,b) t1 = time.time() print(a.device,t1-t0,c.norm(2))
-
cuda检测工具 devicequery.zip(不含源代码,源代码在cuda sdk 8.0里)
2018-08-12 10:46:24cuda检测工具 devicequery.zip(不含源代码,源代码在cuda sdk 8.0里) deviceQuery.exe Starting... CUDA Device Query (Runtime API) version (CUDART static linking) Detected 1 CUDA Capable device(s) ... -
MATLAB生成cuda代码使用-registration_CUDA:本项目基于matlab的dftregistration函数。主要用于解决
2021-06-08 17:14:04MATLAB生成cuda代码使用 本项目主要用于解决由于外部因素导致的图像错位,帮助其进行矫正。 本项目的图像矫正算法: 假设有一组图像(30张),取其第一张作为模板,剩余其它图像(29张)用于匹配(跟第一张做比较)。 利用... -
test_pytorch_cuda
2021-03-13 21:04:03项目在docker上测试pytorch和tensorboard -
Ubuntu 安装 CUDA(附测试)
2020-02-21 16:32:54为深度学习所用,博主预想在Ubuntu16.04上安装 显卡驱动 + CUDA + cuDNN + Tensorflow-gpu + Keras + PyCharm,参考了众多资料,最终成功将所有软件安装完毕,且能成功运行使用。...安装 CUDA(附测试) 安装 c...为深度学习所用,博主预想在Ubuntu16.04上安装 显卡驱动 + CUDA + cuDNN + Tensorflow-gpu + Keras + PyCharm,参考了众多资料,最终成功将所有软件安装完毕,且能成功运行使用。该篇博客介绍了CUDA的安装教程(默认已安装显卡驱动),亦可通过下方链接查看其他步骤的安装教程。
安装 CUDA(附测试)
安装 Tensorflow-gpu 与 Keras(附测试)
安装 CUDA
安装CUDA之前,需要查看电脑中的某些配置,确保满足条件,能够成功安装CUDA使用,该部分的配置要求在CUDA官网中有提供相关文件,但由于不同版本的CUDA需求的配置并不相同,只有在CUDA官网选定下载的软件包后,才会提供对应版本的安装手册,其中便有提供环境配置的需求表格
CUDA不同版本的安装流程没有差别,只是在一些界面和语言表述方面有细微不同,但不影响安装使用,若对本教程中的某些步骤存有疑惑,可参考官方给出的安装手册
1、下载CUDA软件包
在CUDA官网选择需要下载的CUDA软件包,注意软件包的版本,点击软件包的名称即可进入对应下载页面,官网网址:CUDA Toolkit Archive
选择软件包的安装平台信息,注意最后的 Installer Type 请选择 runfile,据说以该方式下载,成功率较大,若某一版本的CUDA没有你需要的安装平台可供选择,可以换一版本使用
安装平台信息选择完毕后,会出现对应的下载按钮,先不将其软件包下载至本地,找到下载信息的下方,会有一段小字,其中的 Installation Guide for Linux 是CUDA官网为该版本的CUDA提供的安装手册,将其打开,查看所需的环境配置(图中提供的是9.0版本的环境配置)
在终端使用以下命令查看本地Linux系统的版本信息:uname -m && cat /etc/*release
查看Kernel信息:uname -r
查看GCC信息:gcc --version
查看GLIBC信息:ldd --version
若CUDA的环境配置符合要求,即可下载对应的软件包,若某配置不符合要求,可以换一版本的CUDA下载,或是查看官方安装手册,解决问题下载CUDA软件包,可能出现两种形式,一种直接提供了 Download 按钮以供下载,另一种仅提供了两行命令进行下载
若是提供了 Download 按钮,可直接下载,保存到自己能够找到的位置,若是提供了两行命令,则需打开Ubuntu系统的文件管理器(下图为Ubuntu系统的文件管理器可执行图标),选择你想保存文件的位置,在该位置鼠标右键打开终端,输入整行的 wget 命令,下载软件包,而另一条安装命令先暂时忽略它
成功下载好CUDA软件包后,需要检查其序列和,保证该软件包下载正确,使用以下命令可检查其序列和,若无报错,则该软件包可用,若报错,则需重新下载该软件包(其中 xxx 是你所下的软件包的名称补充位)md5sum cuda_xxx.run
2、安装CUDA
该步骤需要脱离图形界面,使用命令行界面安装CUDA,因此,建议将该教程转移至智能手机或平板中查看,以防步骤错误,导致安装失败
为了命令行界面的安装方便,建议将下载的CUDA软件包,即 .run 文件移动到 “Home” 所在,如下图所示的位置,或是记住该软件包根目录起始的路径,同时可将该软件包更名,以便记忆输入
若设有自动登录的用户,请先关闭自动登录,可在 系统设置–>用户账户 中关闭,而后重启电脑,在需要输入密码的登录界面中,键入 Ctrl + Alt + F1 ,进入命令行界面,不要直接输入密码登录图形界面,若登入图形界面,请重启电脑在登录界面进入命令行界面
进入命令行界面后,根据提示,输入用户名与密码,登录用户,而后根据以下步骤完成CUDA的安装:(1)关闭图形化界面
sudo service lightdm stop
(2)执行安装命令,若将CUDA软件包移动至 “Home” 所在,则无需添加软件包路径,直接输入安装命令即可,若未移动软件包,则需添加该软件包所在路径(其中 xxx 是CUDA软件包的名称,添加路径需要在名称前添加,例如 sudo sh /home/wjh/xxx.run )
sudo sh xxx.run
(3)按照提示安装CUDA,不同版本的CUDA安装的提示可能不同,注意以下几点,基本能够成功安装:
某些版本会在安装之前显示一堆的服务条款,此时按回车可继续服务条款的阅读,请注意服务条款结束的时机,防止回车默认安装的输入
请注意安装提示要求的输入,可能提示输入 accept ,可能提示输入 yes 等,一定要看清输入的要求
某些版本的CUDA会询问安装的内容,因本教程已安装显卡驱动,若询问是否安装 Driver(驱动) 或是 openGL ,一定一定一定要选择 no ,某些版本在安装之前提供了安装选项,而不是一步步地询问安装内容,在选择的时候一定不要选择安装 Driver(驱动) 或是 openGL
CUDA的安装过程会询问某一内容安装的位置,可根据提示,回车默认安装位置,或是自行输入安装的位置
若CUDA安装成功,在最后会提示 successed 或 installed ,若安装失败,则会提示 failed ,通常在每一安装内容之后,都会有对应的提示,若其中有某一内容提示安装失败,此CUDA都无法使用,此时可根据安装最后显示的卸载命令,在命令行界面中将CUDA卸载重装
(4)安装成功后,重新启动图形化界面
sudo service lightdm start
(5)若输入以上命令没有跳转图形化界面,则键入 Ctrl + Alt + F7 手动返回图形化界面,而后输入用户密码,登录用户,若成功进入桌面,则CUDA安装成功,若循环停留在用户登录界面,请重新进入命令行界面,将安装的CUDA卸载重装
3、设置环境变量
(1).bashrc 文件设置
在终端输入以下命令,打开 .bashrc 文件
sudo vim ~/.bashrc
在 .bashrc 文件末尾添加以下内容,若是安装CUDA时安装位置都设为默认,则路径不变,否则需要根据自己的情况修改路径
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} export CUDA_HOME=/usr/local/cuda
以上的export内容是博主查看他人博客添加的,事实上添加以上的内容还存有一定的错误,博主最终的 .bashrc 文件内容如下:
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} export CUDA_HOME=/usr/local/cuda export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64 export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
配置生效
source ~/.bashrc
(2)/etc/profile 文件设置
在终端输入以下命令,打开 /etc/profile 文件
sudo gedit /etc/profile
在 /etc/profile 文件末尾添加以下内容,若是安装CUDA时安装位置都设为默认,则路径不变,否则需要根据自己的情况修改路径,其中 cuda-9.0 需要根据自己的文件名进行修改
export PATH=/usr/local/cuda-9.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH
输入完毕,保存文件,关闭文件后重启电脑
4、测试CUDA
查看CUDA
nvcc --version
CUDA安装完毕后,自带有用于测试的例子,默认存放于 “Home”
进入该Samples文件,鼠标右键打开终端,向终端输入以下命令,编译测试代码make
若编译成功,会提示 Finished building CUDA samples
编译完成后,在终端输入以下命令,进入Samples中的 bin/x86_64/linux/release 文件夹cd bin/x86_64/linux/release
而后执行编译好的可执行文件./deviceQuery
若最终结果为 PASS ,则说明测试成功
同样,继续向终端输入以下命令./bandwidthTest
若最后结果为 PASS ,则说明测试成功
-
【深度学习】001 检测CUDA、cuDNN、Pytorch是否可用
2022-05-31 14:49:40费劲千辛万苦安装好CUDA、cuDNN、Pytorch后,怎么检测自己的Pytorch深度学习环境是否可用呢? 这就来跟着默子一起看一看吧!费劲千辛万苦安装好CUDA、cuDNN、Pytorch后
怎么检测自己的Pytorch深度学习环境是否可用呢?
这就来跟着默子一起看一看吧!
复制下列代码到IDE中运行
import torch print('CUDA版本:',torch.version.cuda) print('Pytorch版本:',torch.__version__) print('显卡是否可用:','可用' if(torch.cuda.is_available()) else '不可用') print('显卡数量:',torch.cuda.device_count()) print('是否支持BF16数字格式:','支持' if (torch.cuda.is_bf16_supported()) else '不支持') print('当前显卡型号:',torch.cuda.get_device_name()) print('当前显卡的CUDA算力:',torch.cuda.get_device_capability())
如果可以正常使用,大概率是这样的
CUDA版本: 11.3 Pytorch版本: 1.13.0.dev20220529+cu113 显卡是否可用: 可用 显卡数量: 1 是否支持BF16数字格式: 不支持 当前显卡型号: NVIDIA GeForce GTX 960M 当前显卡的CUDA算力: (5, 0)
代码逐行剖析:
-
torch.version.cuda
会输出当前CUDA的版本,一般来说,会有 11.3 和 10.2 (更老的版本可能不太好用,建议更新)
-
torch.__version__
.会输出当前 Pytorch 的版本,
对于1.13.0.dev20220529+cu113
1.13.0
表示当前Pytorch的大版本
dev20220529
表示是开发构建版(Pytorch.Nightly),具体构建日期为2022.5.29日,没有的话则是稳定版(Pytorch.Stable)。
cu113
表示当前 Pytorch 是GPU的,CUDA版本是11.3,如果是cp39
表示当前 Pytorch 是CPU版本,Python版本是3.9.X
-
torch.cuda.is_available()
返回GPU是否可用,可用为
True
,不可用为False
-
torch.cuda.device_count()
返回显卡数量,大家的电脑一般都是
1
啦,哈哈哈哈
-
torch.cuda.is_bf16_supported()
显卡是否支持BF16计算,支持为
True
,不支持为False
BF16,有时也被称为BFloat16或Brain Float16,是一种针对人工智能与深度学习应用程序进行优化的新数字格式。 它在谷歌、 英特尔 、 Arm 和许多其他公司的人工智能加速器得到了广泛的应用。使用BF16主要是因为,神经网络对指数的大小比尾数敏感得多,所以不必使用传统尾数精度更高的FP64或者是FP32。 默子的960M是肯定不支持BF16的,目前支持BF16的显卡有很多,比较大众化的应该就是NVIDIA 老黄家NVIDIA创始人兼首席执行官的 RTX3060 和 RTX3070 了。至于专业的深度学习卡,绝大部分都是支持的。
-
torch.cuda.get_device_capability()
获取GPU的算力 (CUDA Capability Major/Minor version number) ,对于N卡来说,查看全部型号显卡的算力请访问 https://developer.nvidia.com/cuda-gpus#compute (其余显卡请读者自行搜索吧)
在官方给出的文档中,如果进行神经网络的训练,建议GPU此数值在 5.0 以上(默子的卡刚刚及格,呜呜呜)
-
-
win10安装cuda10.0以及VS2013下的CUDA编程测试
2019-06-08 20:07:42win10安装cuda10.0以及VS2013下的CUDA编程测试安装CUDA 10.0安装cuDNN v7.6.0 for CUDA 10.0VS2013下CUDA编程测试新建一个空的Win32 控制台应用程序:生成依赖的配置...:工程配置新建CUDA C/C++文件添加代码进行测试... -
extending-jax:使用自定义C ++和CUDA代码扩展JAX
2021-04-22 19:56:30使用自定义C ++和CUDA代码扩展JAX 该存储库旨在作为一个教程,演示当您具有C ++和CUDA(可选)的现有实现时,提供JAX中的自定义操作所需的基础结构。 我本来想将其写为博客文章,但最终有足够的样板代码来决定,将其... -
cpp-tests:c++ 和 nvidia gpu cuda 测试
2021-06-03 15:55:58一堆 C++ 和 nvidia GPU CUDA 测试。 -
(来点有用的)MATLAB+C+CUDA混合编程测试代码
2019-07-24 16:30:17文章《(来点有用的)MATLAB+C+CUDA混合编程》的测试代码 -
GPU测试程序
2016-03-01 15:07:06使用cuda编写的GPU测试程序,只有exe,程序想要的留言 -
tensorflow 测试 cuda 是否安装成功,测试代码环境
2021-07-03 21:33:15tensorflow import tensorflow as tf tf.test.is_gpu_available() # 或者 sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) torch import torch flag = torch.cuda.is_available() print(flag)... -
【高性能计算】CUDA编程之OpenCV的应用(教程与代码-4)
2022-03-06 14:49:48CUDA模块中的函数都定义在cv::cuda命名空间中,将设备上配置给图像数据用的显存块作为其参数。 gettickcount函数返回启动系统后经过的时间(以毫秒为单位) 使用具有CUDA的opencv进行阈值滤波 #include <... -
tensorflow和torch代码验证cuda是否安装成功
2022-07-06 10:26:16tensorflow代码验证cuda是否安装成功 tensorflow 测试 cuda 是否安装成功,测试代码环境 或者 torch import torch flag = torch.cuda.is_available() print(flag)gpunumber = 1 -
测试opencv-CUDA是否安装成功简单程序
2021-12-04 09:51:55测试opencv-CUDA是否安装成功简单程序 -
弹性波正演的CUDA代码
2018-04-17 08:55:47弹性波正演的CUDA代码,可用,在windows测试成功,使用者可以添加对速度模型文件的收敛判断函数 -
countour2D_CUDA:这是程序的代码,它在 CUDA C 中计算多边形数据的二维轮廓点
2021-07-11 21:12:12countour2D_CUDA 这是程序的代码,它在CUDA中计算多边形数据的二维轮廓点 C Contour计算使用CUDA的二维多边形数据最近我有一个轮廓计算的项目,并尝试在NVIDIA显卡上进行,因为它是现在普通机器上最快的平台之一。... -
有限差分法matlab两点边值代码-cuda_array:cuda_array
2021-05-27 13:09:35但是,支持计算能力低于2.0的设备,尽管尚未测试低于1.3的设备。 与所有模板库相同,只需将所有文件复制到编译器可以找到的目录中(使用编译选项-I/path/to/library )。 将以下代码添加到当前源代码中,以启用该库... -
C++在ubuntu 测试CUDA代码的运行时间
2021-03-02 09:42:01这一部分添加你要测试的基于CUDA运行的代码!!!!!!! HANDLE_ERROR(cudaEventRecord(stop, 0)); HANDLE_ERROR(cudaEventSynchronize (stop) ); HANDLE_ERROR(cudaEventElapsedTime(&elapsed, start, stop) ); ... -
CUDA 运算错误检测代码
2020-10-28 22:04:51编写了一个python代码来检测cuda运算的问题 原理:使用可逆运算原理,进行计算后然后恢复数值,比较恢复的数值和原始数值的差距,从而判断CUDA是否运算出错 本机为1070ti,运算误差均在 1e-5 以下 以下代码占用显存... -
《GPU高性能编程CUDA实战》代码整理
2019-03-12 22:21:41使用CUDA C来编写代码的前提条件包括:(1)、支持CUDA的图形处理器,即由NVIDIA推出的GPU显卡,要求显存超过256MB;(2)、NVIDIA设备驱动程序,用于实现应用程序与支持CUDA的硬件之间的通信,确保安装... -
C++ opencv+CUDA编程(以VS2015+opencv4.1.0+CUDA10.0为例)
2020-12-10 11:12:501、需要提前下载的文件: opencv4.1.0(opencv-4.1.0-vc14_vc15.exe): https://github.com/opencv/opencv/releases/tag/4.1.0 opencv_contrib...3.13.4-win64-x64.msi): https://cmake.org/files/v3.13/ CUDA10.0: ... -
webgpu:webgpu GPU代码实现,包括CUDA、OpenCL、OpenACC和C++ AMP
2021-06-14 02:22:11网卡代码通过了提供的所有单元测试 Coursera 由 Coursera 提供, 由 CUDA 的“你好世界” 基本 A * B 矩阵乘法(无共享内存) A * B 矩阵乘法与平铺内存(共享内存) 图像模板块像素卷积 给定一个长度为 n 的列表 ... -
matlab提取文件要素代码-cuda-dnn:某些深度神经网络的CUDA实现
2021-05-21 16:18:18matlab提取文件要素代码CUDA深度神经网络 这是某些深度神经网络(DNN)的实现。 我们密切关注,但是使用C ++ /代替Matlab或Octave。 每个神经网络体系结构都在单独的类中实现,其中一些由其他类组成。 我们已经有了... -
tensorflow-GPU配置成功测试代码
2021-05-27 19:57:44验证tensorflow-GPU,cuda,cudnn配置是否成功 import tensorflow as tf tensorflow_version = tf.__version__ gpu_available = tf.test.is_gpu_available() print('tensorflow version:',tensorflow_version, '\... -
faster rcnn在新版cuda9.0 解决不能测试问题【caffe代码】-附件资源
2021-03-05 15:24:56faster rcnn在新版cuda9.0 解决不能测试问题【caffe代码】-附件资源 -
cuda编程 merge sort
2019-01-13 11:55:02完成的代码,在win10x64+cuda8平台下测试通过,包括知识点 1. cuda编程实现mergesort 2. cmake创建cuda工程