NVIDIA CUDA, CUDNN, MATLAB配置

2023-05-16

@NVIDIA 深度学习环境配置

配置NVIDIA GPU以支持MATLAB等计算平台进行并行计算

NVIDIA

NVIDIA 支持并行计算,可提高深度学习的计算效率。
从硬件到软件的链条是:
NVIDIA GPU → NVIDIA Driver → NVIDIA CUDA → NVIDA cuDNN → MATLAB/PyTorch/Tensorflow等深度学习平台
GPU相当于一块土地,Driver相当于地上的水电煤网等基础要素供给,CUDA相当于一个工作台,而CUDNN是基于CUDA的深度学习加速库,因此在CUDA上深度学习加速必须安装CUDNN. 各种深度学习平台相当于一个任务计算舞台。
安装CUDA相当于在GPU显卡硬件上建立一个可用自定义程序使用显卡来做计算的桥梁。GPU Computing SDK,即GPU computing toolkit 是用于计算的工具包。

查看本机的 NVIDIA GPU软硬件配置
在主机“命令提示符”下输入命令 C:\Users\pc>nvidia-smi, 回车即可
或者在MATLAB命令行窗口输入 gpuDevice 命令

第一、 明确自己的GPU型号
方法一:打开机箱查看。
方法二:如上述。
方法三:控制面板/设备管理器/显示器适配器
方法四:NVIDIA控制面板(若已安装)

第二、明确自己所用的深度学习平台及适配的CUDA+CUDNN
% MATLAB可查看网页
https://ww2.mathworks.cn/help/releases/R2021b/parallel-computing/gpu-support-by-release.html
https://ww2.mathworks.cn/help/parallel-computing/gpu-computing-requirements.html
% PyTorch 或 TensorFlow请另行搜索

第三、安装NVIDA Driver
一般已安装。重装可查看
https://www.nvidia.cn/Download/index.aspx?lang=cn
https://www.nvidia.com/Download/index.aspx
https://www.nvidia.com/en-us/geforce/drivers/

第四、安装适配版本的CUDA Toolkit
https://developer.nvidia.com/cuda-toolkit-archive
第五、安装对应版本的cuDNN
https://developer.nvidia.com/rdp/cudnn-archive

% 以上两步的详细说明可参考链接:
https://blog.csdn.net/qq_40968179/article/details/128996692 环境变量设置CUDA_PATH
https://blog.csdn.net/qq_36623004/article/details/127228147 检查安装CUDA-CUDNN成功与否
http://www.taodudu.cc/news/show-4495767.html 安装Visual Studio
https://www.dgrt.cn/news/show-4495767.html?action=onClick
% 在一台主机上安装不同版本的CUDA,须修改 环境变量 CUDA_PATH 才可启用目标版本的CUDA。详情可自行搜索。
https://blog.csdn.net/Fzc_Ztt/article/details/120378444
https://www.cnblogs.com/yuyingblogs/p/16323438.html
https://blog.csdn.net/weixin_39450145/article/details/125630585 环境变量改为目标版本

安装CUDA需先下载安装Visual Studio 2017/2019…
https://visualstudio.microsoft.com/zh-hans/free-developer-offers/
https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=Community&rel=15

第六、安装MATLAB或PyTorch或TensorFlow
请自行搜索。

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

NVIDIA CUDA, CUDNN, MATLAB配置 的相关文章

  • Linux 上的 OpenCL 编译

    我是 OpenCL 的新手 从昨天开始 我尝试使用 OpenCL 进行并行编程 而不是使用我更熟悉且以前体验过的 CUDA 现在我有 NVIDIA GTX 580 GPU Ubuntu Linux 12 04 操作系统和 CUDA SDK
  • 白色像素簇提取

    我正在研究指纹毛孔提取项目 并陷入毛孔 白色像素簇 提取的最后阶段 我有两个输出图像 我们可以从中获取毛孔 但不知道该怎么做 这两个图像的尺寸不同 image1 的尺寸为 240 320 image2 的尺寸为 230 310 这是我的图像
  • cuda中内核的并行执行

    可以说我有三个全局数组 它们已使用 cudaMemcpy 复制到 GPU 中 但 c 中的这些全局数组尚未使用 cudaHostAlloc 分配 以便分配页面锁定的内存 而不是简单的全局分配 int a 100 b 100 c 100 cu
  • 从 CUDA 设备写入输出文件

    我是 CUDA 编程的新手 正在将 C 代码重写为并行 CUDA 新代码 有没有一种方法可以直接从设备写入输出数据文件 而无需将数组从设备复制到主机 我假设如果cuPrintf存在 一定有地方可以写一个cuFprintf 抱歉 如果答案已经
  • MATLAB:比较两个不同长度的数组

    我有两个长度不同的数组 由于采样率不同 需要比较 我想对较大的数组进行下采样以匹配较小的数组的长度 但是该因子不是整数而是小数 举个例子 a 1 1 375 1 75 2 125 2 5 2 875 3 25 b 1 2 3 有什么方法可以
  • __device__ __constant__ 常量

    有什么区别吗 在 CUDA 程序中定义设备常量的最佳方法是什么 在 C 主机 设备程序中 如果我想将常量定义在设备常量内存中 我可以这样做 device constant float a 5 constant float a 5 问题 1
  • 在 MATLAB 中创建共享库

    一位研究人员在 MATLAB 中创建了一个小型仿真 我们希望其他人也能使用它 我的计划是进行模拟 清理一些东西并将其变成一组函数 然后我打算将其编译成C库并使用SWIG https en wikipedia org wiki SWIG创建一
  • MATLAB 图中轴标签与轴之间的距离

    我正在使用 MATLAB 绘制一些数据 我想调整轴标签与轴本身之间的距离 但是 只需向标签的 位置 属性添加一点即可使标签移出图窗窗口 是否有 保证金 属性或类似的东西 在上图中 我想增加数字和标签 Time s 之间的距离 同时自动扩展数
  • 单元格的 Fieldnames 函数的等效项

    正如标题所说 只是想知道是否有一个函数可以用作字段名 http www mathworks co uk help matlab ref fieldnames html 但适用于单元格 所以如果我有类似的东西 a imread redsqua
  • 如何在Matlab中将世界坐标转换为像素索引

    我有 512x512x313 体积的 dicom 图像 并且我有一个以世界坐标表示的点 57 7475 63 4184 83 1515 我如何在 Matlab 中获得该世界坐标的相应像素坐标 我不想戳破你的幻想 但你所要求的是不可能的 我能
  • 从 imread 返回的 ndims

    我正在从文件夹中选取图像 尺寸为128 128 为此 我使用以下代码行 FileName PathName uigetfile jpg Select the Cover Image file fullfile PathName FileNa
  • 为什么 mex 文件中的 OpenMP 仅产生 1 个线程?

    我是 OpenMP 新手 我有以下代码 使用配置了 MSVS2010 的 Matlab mex 可以正常编译 计算机有 8 个可用处理器 我也使用 matlabpool 检查过 include mex h include
  • 垂直子图的单一颜色条

    我想让下面的 MATLAB 图有一个沿着两个子图延伸的颜色条 像这样的事情 使用图形编辑器手动完成 Note 这与提出的问题不同here https stackoverflow com questions 39950229 matlab t
  • matlab部署工具到java包javac错误

    我正在尝试将我的程序包装为与 java 一起使用 我首先尝试了一个简单的 hello world 你好世界 m disp 你好世界 我使用了deploytool并选择了java包 当它到达这一行时 执行命令 javac verbose cl
  • 平衡两轮机器人而不使其向前/向后漂移

    我正在尝试设计一个控制器来平衡 2 轮机器人 约 13 公斤 并使其能够抵抗外力 例如 如果有人踢它 它不应该掉落 也不应该无限期地向前 向后漂移 我对大多数控制技术 LQR 滑模控制 PID 等 都很有经验 但我在网上看到大多数人使用 L
  • getappdata 在 MATLAB 中返回空矩阵

    我有一段代码 我在其中使用setappdata然后我使用以下方式调用数据getappdata即使它不为空 它也会返回一个空矩阵 我的一段简化代码如下 function edit1 Callback hObject eventdata han
  • 命令 A(~A) 在 matlab 中的真正作用是什么

    我一直在寻找找到矩阵非零最小值的最有效方法 并在论坛上找到了这个 设数据为矩阵A A A nan minNonZero min A 这是非常短且高效的 至少在代码行数方面 但我不明白当我们这样做时会发生什么 我找不到任何关于此的文档 因为它
  • matlab中无限while嵌套在for循环中

    我想做一个while循环 嵌套在for在 Matlab 中循环以查找数据中不同对之间的距离 我的数据具有以下形式 ID lon lat time 1 33 56 40 89 803 2 32 45 41 03 803 3 35 78 39
  • 在matlab中不使用for循环检查数组中的成员资格

    我想简化这段代码 使其无需 for 循环即可工作 for i 1 N for j 1 N if ismember j A PID i i TFP i j PID i i end end end 其中A是一个包含一些标签的矩阵 我之前存储的T
  • 如何查看 GNU make 运行的命令?

    我正在尝试调试一个复杂的 Makefile 如何让 GNU make 打印它运行的所有命令 我在问题中找不到答案man页 使用 d 标志似乎不会打印它 这不是回答我的问题所必需的信息 但如果您想知道 我在编译基于 NVIDIA CUDA 库

随机推荐