ubuntu22.04安装cuda11.5+cudnn8.8.0

因为pytorch1.11.0与cuda版本的关系 需要用到cuda11.5

否则报错

bash 复制代码
"addmm_sparse_cuda" not implemented for Half

cuda11.5.0及以前的版本不会出现这个问题

因此重新安装,步骤如下:

安装CUDA-11.5.0
bash 复制代码
wget https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run
sudo sh cuda_11.5.0_495.29.05_linux.run
修改路径~/.bashrc
bash 复制代码
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export CUDA_HOME=/usr/local/cuda
安装cuDNN-8.8.0

下载路径:

cuDNN Archive | NVIDIA Developer

bash 复制代码
sudo dpkg -i cudnn-local-repo-ubuntu2204-8.8.0.121_1.0-1_amd64.deb

sudo apt-get update

sudo apt-get install libcudnn8=8.8.0.121-1+cuda11.8

sudo apt-get install libcudnn8-dev=8.8.0.121-1+cuda11.8

sudo apt-get install libcudnn8-samples=8.8.0.121-1+cuda11.8
安装完成后可查看
bash 复制代码
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

#define CUDNN_MAJOR 8
#define CUDNN_MINOR 8
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

/* cannot use constexpr here since this is a C-only file */

表示输出正常!

正确的计算代码应该是
python 复制代码
import torch
a = torch.randn(3,2).half().cuda()
i = torch.LongTensor([[0, 1, 1],  [2, 0, 2]]) 
v = torch.FloatTensor([3, 4, 5]) 
b = torch.sparse.FloatTensor(i, v, torch.Size([2,3])).half().cuda()
b = b.to_sparse_csr()
c = torch.spmm(b, a)
相关推荐
Ronin-Lotus2 分钟前
上位机知识篇---Linux特殊功能文件
linux·运维·服务器·特殊功能寄存器
zimoyin2 小时前
解决 Java/Kotlin 资源加载问题
java·python·kotlin
紫雾凌寒2 小时前
计算机视觉应用|自动驾驶的感知革命:多传感器融合架构的技术演进与落地实践
人工智能·机器学习·计算机视觉·架构·自动驾驶·多传感器融合·waymo
wjcroom2 小时前
数字投屏叫号器-发射端python窗口定制
开发语言·python
Zucker n2 小时前
Ubuntu本地部署Open manus(完全免费可用)
linux·运维·ubuntu
静候光阴2 小时前
python使用venv命令创建虚拟环境(ubuntu22)
linux·开发语言·python
sauTCc2 小时前
DataWhale-三月学习任务-大语言模型初探(一、二、五章学习)
人工智能·学习·语言模型
Y1nhl2 小时前
力扣hot100_二叉树(4)_python版本
开发语言·pytorch·python·算法·leetcode·机器学习
暴力袋鼠哥2 小时前
基于深度学习的中文文本情感分析系统
人工智能·深度学习
视觉语言导航2 小时前
RAG助力机器人场景理解与具身操作!EmbodiedRAG:基于动态三维场景图检索的机器人任务规划
人工智能·深度学习·具身智能