win10 + wsl2.0 + cuda12.0 + cudnn8.8.1 + MCgpu1.3 安装记录

5 篇文章 0 订阅

一 wsl安装

1 windows搜索框搜索,启动或关闭windows功能,点击找到,适用于linux的windosw子系统,然后按照提示要求进行重启即可

在这里插入图片描述

2 windows搜索框搜索,store,进入微软官方商城,然后搜索ubuntu,此处我选择下列版本进行安装

下载太慢了,且下载失败
在这里插入图片描述

2.1 方法2

2.1.1 win+X,管理员身份打开 PowerShell 工具,输入下列命令启用WSL
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

在这里插入图片描述

2.1.2 启用“虚拟机平台”,还是在管理员身份打开 PowerShell 工具里面输入
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
2.1.3 查看可以安装的子系统发布版本(可能需要vpn)
wsl.exe --list --online

在这里插入图片描述
选取自己想安装的子系统,

2.1.4 安装ubuntu子系统(可能需要vpn,第一次安装失败,多试几次就好了)
wsl.exe --install -d Ubuntu-22.04

在这里插入图片描述
尝试更新,依旧报错,最顶端是一个网页解决这个问题的尝试,需要安装该链接,但是好像也没有用
在这里插入图片描述

2.3 方法3

微软官方安装教程,英文的,使用vpn翻译成中文就非常的好使了,
网址:https://learn.microsoft.com/en-us/windows/wsl/install-on-server

第1步:win+x快捷键打开 管理员Powershell,执行下列语句
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
第2步:还是在Powershell,执行下列语句
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
第3步:
wsl --set-default-version 2
第4步:

微软官方商城我电脑无法下载,非常慢还失败,进入网址,找到下面,选择自己需要的版本进行离线安装,我这边下载的文件的文件名是 Ubuntu2204-221101.AppxBundle
在这里插入图片描述

第5步:需要进入下载文件所在的文件位置,然后执行 Add-AppxPackage Ubuntu2204-221101.AppxBundle 回车进行安装

但是我输入wsl -l显示没有安装成功

所以我又进行了如下操作,还是在下载文件所在的文件位置

Rename-Item Ubuntu2204-221101.AppxBundle Ubuntu.zip
Expand-Archive Ubuntu.zip Ubuntu

然后再次执行

Add-AppxPackage  Ubuntu2204-221101.AppxBundle

在这里插入图片描述
PowerShell将 Linux 发行版路径添加到 Windows 环境 PATH,回到管理员的powshell 默认的C盘根目录,执行下面语句

$userenv = [System.Environment]::GetEnvironmentVariable("Path", "User")
[System.Environment]::SetEnvironmentVariable("PATH", $userenv + ";C:\Users\Administrator\Ubuntu", "User")

然后输入ubuntu.exe 开始为新的 Linux 发行版创建用户帐户和密码。
在这里插入图片描述

第6步:如何判断自己的wsl是否安装成功,还是在管理员的powshell 终端执行下面命令
wsl --list --verbose

网上的显示结果如下
在这里插入图片描述
我的显示结果如下,没有显示版本是因为我把安装文件重命名了
在这里插入图片描述

第7步:安装Windows 终端

离线终端下载链接
下载完毕后直接双击运行就可以
在这里插入图片描述
界面如下:
在这里插入图片描述

第8步:Windows 终端个性化设置

参考教程

https://zhuanlan.zhihu.com/p/568837345

下拉按钮,打开JSON配置文件
在这里插入图片描述

找到profiles

    "profiles": 
    {
        "defaults": {},
        "list": 
        [
          {
            "commandline": "%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
            "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
            "hidden": false,
            "name": "Windows PowerShell",
            "backgroundImage": "F:\\bg.jpg", // 背景图片路径
            "useAcrylic": true, // 是否使用 亚克力效果
            "acrylicOpacity": 0.1 // 亚克力效果 透明度
          },

效果图
在这里插入图片描述

二 mcGPU安装

gittub网站 https://github.com/DIDSR/MCGPU?tab=readme-ov-file

1 安装cuda

step1 cmd里面查看使用 nvidia-smi查看自己电脑支持的cuda的最高版本

在这里插入图片描述

step2
在这里插入代码片[cuda下载官网链接](https://developer.nvidia.com/cuda-11-6-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_local)

在这里插入图片描述
然后会出现官方给的安装流程,比如:这是cuda11.6版本

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-6-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cud

在windows powershell里面执行第1句的时候,回车虽然没有报错,但是在C/USER/Administrator也就是默认下载目录里面去看,是不到下载的东西的,修改成下列语句下载成功。wgpt是linux环境下的安装命令

curl -o cuda-wsl-ubuntu.pin https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin

在windows powershell里面执行第二句的时候报错
在这里插入图片描述
我先自己层层创建了一个文件目录,C:\Users\Administrator\etc\apt\preferences.d\cuda-repository-pin-600,直接用完整目录,查了网上说好像/是linux系统下的用法,在windows下面应该用\

 mv cuda-wsl-ubuntu.pin C:\Users\Administrator\etc\apt\preferences.d\cuda-repository-pin-600

执行第二句的时候报错
在这里插入图片描述

curl -o cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.deb https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.deb

——————————————————————————————————————————
上述每条指令都报错,且需要从linux命令修改为windows命令。现打开已经安装好wsl的 powershell窗口,执行下面命令切换到linux系统里面

wsl -d Ubuntu

目录从
在这里插入图片描述
在这里插入图片描述
现在再执行上面的所有安装cuda的语句都不再报错
最后一句执行显示uable …,不知道啥情况,先不管他

在这里插入图片描述

安装结束之后执行nvcc -V,会提示没有nvcc可执行
在这里插入图片描述
根据这个教程,现在我应该能看到user/local的一个文件,或者教程使用pwd命令能看到当前在local文件里面,但是我这边还是什么都看不到所以我又根据教程重新安装cuda12.0

这是cuda12.0版本

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.0.1/local_installers/cuda-repo-wsl-ubuntu-12-0-local_12.0.1-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-0-local_12.0.1-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-0-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

这次执行最后一条命令没有再出问题

然后pwd回车看到的还是下面这个路径,
在这里插入图片描述
在C盘的user/Asministrate里面是找不到cuda安装的文件的,使用ls -l /usr/local | grep cuda查看安装的cuda版本
在这里插入图片描述

使用cd /usr/local/cuda-12.0进入自己的cuda包,然后ls打印能看到bin文件
在这里插入图片描述

按照这个教程,用cd lib64进入该目录,然后vim ~/.bashrc,按i进入编辑模式,将

export PATH=/usr/local/cuda-12.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.0/lib64

这两个语句复制到最后,摁ESC退出编辑模式,:wq保存并退出,然后执行 source ~/.bashrc
在这里插入图片描述
最后执行nvcc -V就打印了显示cuda版本了
在这里插入图片描述

2 安装cudnn

教程链接

https://www.ethanzhang.xyz/2023/04/24/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0Win11+GTX4070Ti%E7%8E%AF%E5%A2%83%E4%B8%8BWSL2%20Ubuntu+Pytorch2%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B/

cudnn官网,点开之后根据自己需求点开,就可以看到,下载第二个
在这里插入图片描述
将文件保存到windows环境,然后直接复制到wsl2 ubuntu的home目录下,和在windows环境中复制粘贴一样操作【文件浏览器左侧有Linux】
在这里插入图片描述
在wsl的ternimal中进入到home目录(鼠标右键单击,选择在终端打开)。先要使用wsl -d Ubuntu进入ubuntu环境,然后解压下载的文件,

mkdir -p cudnn
tar -xvf cudnn-linux-x86_64-8.8.1.3_cuda12-archive.tar.xz

然后执行下列语句,是根据home和usr的层级关系对教程里面的复制方法进行了一定的修改,我的复制路径,执行下面语句需要退回到最home的上一级目录才行,也就是退到目录包含home和usr的那一及再执行

sudo cp -r home/*****我的用户名***/cudnn/cudnn-linux-x86_64-8.8.1.3_cuda12-archive/lib/libcudnn* /usr/local/cuda-12.0/lib64/
sudo cp -r home/我的用户名/cudnn/cudnn-linux-x86_64-8.8.1.3_cuda12-archive/include/cudnn*.h /usr/local/cuda-12.0/include/

在这里插入图片描述
继续执行下列语句

#为更改读取权限:
sudo chmod a+r /usr/local/cuda-12.0/lib64/libcu*
sudo chmod a+r /usr/local/cuda-12.0/include/cud*

执行cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2,cudnn安装成功显示结果
在这里插入图片描述

三 mcGPU安装

https://github.com/DIDSR/MCGPU?tab=readme-ov-file

总的来说就是需要将MCGPU-master放在linux的home目录之后,成功运行下面两个语句,就相当于程序成功运行
在这里插入图片描述

第一个语句的调试

将文件解压同样放到wsl的linux的根目录下
在这里插入图片描述

1 使用wsl -d Ubuntu 语句进入ubuntu环境,然后进入MCGPU-master所在目录,然后 直接运行下面语句

nvcc -DUSING_CUDA -DUSING_MPI MC-GPU_v1.3.cu -o MC-GPU_v1.3.x -O3 -use_fast_math -L/usr/lib/ -I. -I/usr/local/cuda/include  -I/usr/local/cuda/samples/common/inc -I/usr/local/cuda/samples/shared/inc/  -I/usr/include/openmpi  -lmpi -lz --ptxas-options=-v  -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_30,code=sm_30

报错显示,如下,查阅资料提示说版本太旧,修改成70就没有问题了
在这里插入图片描述

nvcc -DUSING_CUDA -DUSING_MPI MC-GPU_v1.3.cu -o MC-GPU_v1.3.x -O3 -use_fast_math -L/usr/lib/ -I. -I/usr/local/cuda/include  -I/usr/local/cuda/samples/common/inc -I/usr/local/cuda/samples/shared/inc/  -I/usr/include/openmpi  -lmpi -lz --ptxas-options=-v  -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_70,code=sm_70

2 然后又再次报错,缺少<helper_functions.h>,且使用find /usr/local/cuda/samples/ -name "helper_functions.h"或者退到别的目录进行查找(因为find的查找范围是当前目录以及他的子目录)也没有找到这个函数,网上说可以随意下载一个,我在网上下载了一个,直接放到了MCGPU-master文件夹下,该错误解决

在这里插入图片描述
在这里插入图片描述

3 继续报错找不到 <exception.h>,先使用语句 find /usr/include -name "exception.h"在当前目录进行查找,显示存在,同样直接将其拷贝到MCGPU-master文件夹下,该错误解决

在这里插入图片描述

4 报错找不到helper_image.h

在整个linux系统里面查找文件

 find / -type f -name "helper_image.h"

5 前述找不到的头文件,去gittub上下载 cuda samples官方案例

案例链接,打开之后随意选择一个cuda samples进行下载
在这里插入图片描述
解压之后在里面的common文件里面基本上都能找到对应的头文件,或者直接在下载的文件里进行搜索即可。偶尔那么几个找不到,就vpn或者gittub上搜索可以找到,但是不一定是对的,需要尝试

6 #include "openmpi/ompi/mpi/cxx/mpicxx.h"找不到

在这里插入图片描述
安装openMpi

sudo apt-get update
sudo apt-get install libopenmpi-dev

最后观察下列指令nvcc -DUSING_CUDA -DUSING_MPI MC-GPU_v1.3.cu -o MC-GPU_v1.3.x -O3 -use_fast_math -L/usr/lib/ -I. -I/usr/local/cuda/include -I/usr/local/cuda/samples/common/inc -I/usr/local/cuda/samples/shared/inc/ -I/usr/include/openmpi -lmpi -lz --ptxas-options=-v -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_70,code=sm_70
发现-I/usr/include/openmpiopenmpi路径在usr include文件夹下,去该文件夹下寻找并没有发现该文件,就根据自己使用mkdir 文件名创建一个目录 usr/include/openmpi/ompi/mpi/cxx/,然后使用sudo命令将从gittiub上下载下来的mpicxx.h文件放到所创建的目录里面去,报错如下,也就是显示mpicxx.h,怀疑是从网上下下来的.h文件有误,又去ubuntu的根目录里面继续搜索mpicxx.h文件,这次找到了自带的文件,将该文件替换掉从网上下载下来的文件之后,该错误解决
在这里插入图片描述
之后重复运行nvcc开头的语句,在同一个路径报错不同的头文件有问题,同样的去ubuntu的根目录里面继续搜索复制到对应文件夹即可
在这里插入图片描述
下列报错,./exception.h(36): error: identifier "MPI_Error_class" is undefined是因为没有mpi.h头文件导致的,从有复制了一下改文件到/usr/include/文件。但是后面再次执行的时候又报错,最后是从网上重新下载了一个版本的exception.h才成功运行,但是存在一些警告,暂时忽略。到目前位置,nvcc打头的语句不再报错
在这里插入图片描述
在这里插入图片描述

第二个语句的调试

mpirun -n 4 ./MC-GPU_v1.3.x MC-GPU_v1.3.in
1 显示我没输入文件

在这里插入图片描述
将输入文件按照错误提示重命名一下,该错误解决
在这里插入图片描述

2 又提示输入光谱文件有问题

在这里插入图片描述
是因为光谱文件有问题,一开始输入的光谱内容是这样的,第一列是能量,单位是kev,第二列是没有归一化的光子数。
在这里插入图片描述
以下是正确的光谱输入方法
在这里插入图片描述

3 材料的设置

好像输入材料的长度要和光谱长度保持一致,比如输入94kv的光谱。。。。这个坑我不是很理解,后续填

4 体模设置

。。。。这个坑,后续填

最后代码可以直接用visual studio code打开,将其当作编译器

编译器的终端就可以直接运行mcGPU,同在linux里面打开的终端是一样的功能。
使用 cd home/我的用户名/MCGPU-master 在visual studio code下方的终端里面进入改文件夹,执行./MC-GPU_v1.3.x MC-GPU_v1.3.in就是运行
在这里插入图片描述
在这里插入图片描述

  • 15
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker Desktop是一个用于在Windows和Mac上运行Docker的应用程序。它提供了一个用户友好的界面,可以轻松地管理和运行Docker容器。WSL(Windows Subsystem for Linux)是Windows 10中的一个功能,它允许用户在Windows上运行Linux发行版。 如果在安装Docker Desktop时遇到了"docker+desktop-unexpected+wsl"错误,可能是由于WSL未正确配置或启用所致。以下是解决此问题的步骤: 1. 确保已安装WSL:在Windows 10上,打开PowerShell或命令提示符,并运行以下命令来检查WSL是否已安装: ```shell wsl --list --verbose ``` 如果没有任何输出或显示"WSL 2 is not installed",则需要安装WSL。可以按照Microsoft的官方文档进行安装:https://docs.microsoft.com/en-us/windows/wsl/install-win10 2. 启用WSL 2:在安装WSL后,需要将WSL 2设置为默认版本。打开PowerShell或命令提示符,并运行以下命令: ```shell wsl --set-default-version 2 ``` 3. 安装Linux发行版:在WSL 2中运行Docker需要安装一个Linux发行版。可以从Microsoft Store中选择一个喜欢的发行版,例如Ubuntu、Debian等。打开Microsoft Store,搜索并安装所选的发行版。 4. 配置Docker Desktop:打开Docker Desktop应用程序,转到设置(Settings)-> WSL Integration。确保已启用所需的Linux发行版,并将其与Docker Desktop关联起来。 完成上述步骤后,应该能够成功安装和运行Docker Desktop,并在WSL 2中使用Docker。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值