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)
相关推荐
Jiamiren18 分钟前
WEEX:长鑫科技上市大涨,宇树科技合约同步走高,传统资产交易迎来新路径
人工智能·科技·区块链
海兰37 分钟前
mcporter — 安装部署及使用完全指南(二)
人工智能·agent
一拳不是超人42 分钟前
LangChain 们的丧钟?DeepSeek 把 Agent 开发变成了拼乐高
人工智能·agent
麻雀飞吧1 小时前
零基础选量化工具,先把问题说清楚
人工智能·python
Light_It1 小时前
Linux 内核参数 pci-stub.ids=
linux·kernel
向成科技1 小时前
新品亮相|向成电子IPCA_3588H AI边缘网关重磅发布,算力下沉,自主可控
人工智能·边缘计算·国产化·硬件·边缘网关·主板·端侧ai
段一凡-华北理工大学1 小时前
AI推动工业智能化转型~系列文章20:工业 AI 平台架构:云-边-端协同的技术体系
人工智能·python·架构·工业平台·云-边协同
IT_陈寒1 小时前
Python线程池吞了异常还不告诉我,这谁顶得住啊
前端·人工智能·后端
CodeBlog-star1 小时前
Harness Engineering:Pi Agent 架构深度解析
人工智能·python·架构·harness工程
简不变1 小时前
将components下的文件夹复制到别一个文件夹下,并重新生成CMakelist.txt文件
python