使用Windows平台搭建NVIDIA CUDA Python数据分析环境

最近迷上了CUDA加速计算,但我又是一个不太喜欢用“钞”能力来解决问题的人(其实就是我穷买不起GPU云服务器罢了/(ㄒoㄒ)/~~)。

正所谓人不不作死枉少年,既然买不起,那就自己动手搭建一个环境吧。

索性真的感谢微软,他们使用WSL协议允许用户在Windows系统下模拟Linux环境并进行开发。

准备

首先你需要明确你当前的电脑系统环境需要使用Windows10或者以上的操作系统,这里我使用的是Windows11,其操作和Windows10一样。

打开Microsoft Store,搜索Ubuntu

这里我使用的是Ubuntu18.04LTS,并且已经将其转移到我的E盘学习盘下安装。至于如何提取安装包可以自行搜索如何找到Microsoft Store的安装文件路径,这里不赘述了。如果你的C盘空间还足够,也可以忽略安装转移这一步。

找到如下两个文件,并把它转移到你想要的盘符即可完成WSL安装的转移。

转移好后,双击ubuntu1804.exe文件后,会生成一个ext4格式的虚拟磁盘文件,因为Linux普遍都是接受ext格式的文件系统,因此生成一个ext4的虚拟磁盘也不足为怪。

 

 需要说明!

在开始安装你的WSL系统时,你需要先确保几点:

在Windows功能中打开WSL子系统功能

 

在BIOS中开启虚拟化技术,依据自己处理器的平台去开启相应的技术

在Windows上安装CUDA™驱动,访问CUDA官网下载:CUDA Toolkit 11.5 Downloads | NVIDIA Developer

 具体安装方式可自行搜索,这里不赘述了。

完成上述和Linux系统的配置之后,即可开始Python环境的配置。

因为它是构建在Windows上的子系统,因此我们的目的更多的是节省系统空间,所以我们使用

miniconda来安装Python环境。

访问miniconda下载网站来获取镜像:Miniconda — Conda documentation

这里我们下载Linux x86-64的安装脚本。

 下载好后,即可开始安装。这里我是用Visual Studio Code来对WSL环境进行运维及编辑

输入如下命令来执行安装程序

sudo bash Anaconda3-2021.05-Linux-x86_64.sh 

 一路回车就好

输入yes以接受conda的协议

 

 修改root/.bashrc环境变量配置文件

sudo vi ~/.bashrc 

将conda安装路径添加到PATH中,这里我使用的是anaconda,因此在你安装时应修改为你的miniconda安装的路径

# <<< conda initialize <<<
export PATH=/home/elin/anaconda3/:$PATH

配置好后在Shell输入conda -V来验证miniconda是否成功

(base) elin@DESKTOP-H74RKIM:~/conda$ conda -V
conda 4.10.1

准备好conda之后,可以开始配置我们的GPU环境了

我们这里使用RAPIDS集成环境,集成众多GPU加速库,如:

cuDF -GPU加速的数据处理库,基于PandasAPI

cuPy -GPU加速的矩阵数学库,基于NumpyAPI

cuML -GPU加速的机器学习库,基于Scikit-LearnAPI

访问RAPIDS官网来获取RAPIDS安装方式:https://rapids.ai/start.html

依据你的需要和CUDA驱动版本和Python版本来复制安装命令,可以通过点击COPY COMMAND按钮来复制命令。

值得一提的是,这里RAPIDS的安装命令是conda create而不是conda install,这也就意味着这个指令将会生成一个名为 rapids-21.10的GPU开发env环境。

所以在使用时,可以输入conda activate rapids-21.10环境,因笔者没有及时更新RAPIDS因此,笔者的使用环境是21.08

(base) elin@DESKTOP-H74RKIM:~/conda$ conda activate rapids-21.08

启用后,我创建了一个Notebook文件来检验我们的RAPIDS环境是否启用成功。

 可以看到vscode识别到了我们的rapids环境了。

写一段代码保个底:

CUDA_STATS = None
try:
    import cudf
    CUDA_STATS = True
    print(f"Now your system is Ready for CUDA Acclerate :{CUDA_STATS}")
except Exception as Error:
    CUDA_STATS = False
    print(f"Now your system is Ready for CUDA Acclerate :{CUDA_STATS}")

 可以看到我们的CUDA加速已经生效了。

总结

因为CUDA在HPC的生态垄断,导致各种GPU的加速库都只支持NVIDIA CUDA GPU,当然这并不是意味着AMD没有自己的HPC生态。

基于AMD ROCm的高性能计算设备也在逐步的发展。这是更多的开发者更愿意使用CUDA API来进行开发。

好了,又水了一篇文章,真好。

我是Deahost,下期见! 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Day(AKA Elin)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值