GPU-server
配置GPU服务器教程
环境:Ubuntu22.04, GTX950
安装显卡驱动
打开软件安装器
选择合适的驱动,安装后重启电脑即可
另一种方案是从官网下载驱动,参照https://blog.csdn.net/qq_49323609/article/details/130310522
经过测试,上面的教程能够正常安装nvidia驱动,但无法安装cuda
如果遇到开机黑屏,可以重启,在BIOS界面狂按shift,选择recovery mode,呼出root命令行
recovery mode默认是不联网的,但是在进入 recovery mode 界面有联网选项,建议联网以便安装必要的依赖
验证显卡驱动
输入nvidia-smi
,看到以下输出就行
1 |
|
安装cuda
以cuda11.8为例
下载驱动安装程序
1 |
|
需要给系统盘留足够的空间,至少13GB
记得要取消勾选driver
运行结束,看到以下输出
1 |
|
添加环境变量
1 |
|
验证cuda驱动
1 |
|
1 |
|
安装anaconda
在中大校内可以用matrix镜像源下载
1 |
|
110MB/s , 速度相当快
1 |
|
遇到Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
输入yes就行
安装pytorch
1 |
|
打开名为pytorch的环境
1 |
|
然后安装pytorch,可以在官网上根据具体环境选择安装指令
1 |
|
检验pytorch
1 |
|
查询GPU详细信息
查询详细信息 nvidia-smi -q
查询特定GPU详细信息 nvidia-smi -q -i 0
显示GPU特定信息 nvidia-smi -q -i 0 -d MEMORY
帮助信息 nvidia-smi -h
nvidia-smi 还可以进行GPU模式的设置
安装cudnn
https://developer.nvidia.com/rdp/cudnn-archive
在此选择所需版本,需要登录才能下载
默认安装cudnn9:
linux安装cudnn的官方文档 https://docs.nvidia.com/deeplearning/cudnn/latest/installation/linux.html
不看文档,直接访问https://developer.nvidia.com/cudnn-downloads 获取安装方式也可以
自定义安装
像onnxruntime这些不支持cudnn9的,需要安装cudnn8
提前确定好版本,然后待入安装指令即可
cuda编程
(未完待续,后续会开一个专题放cuda编程)
hello_world
注意:在核函数中只能使用printf
,不能使用cout
hello.cu
1 |
|
编译:nvcc ./hello.cu -o hello
可以看到输出了16行 hello world
核函数
核函数在GPU上进行并行执行
注意:
- 限定词
__global__
修饰 - 返回值必须是void
1 |
|
注意事项:
- 核函数只能访问GPU内存
- 核函数不能使用变长参数
- 核函数不能使用静态变量
- 核函数不能使用函数指针
- 核函数具有异步性
cuda程序编写流程
1 |
|
线程模型
线程模型重要概念:
(1) grid网格
(2) block线程块
线程分块是逻辑上的划分,物理上线程不分块
配置线程: <<<grid_size, block_size>>>
最大允许线程块大小:1024
最大允许网格大小:231-1(针对一维网格)
矩阵乘法
1 |
|
运行结果
1 |
|