NVIDIA GPU Cloud (NGC)集群使用笔记

1. 安装ngc命令

NGC集群的使用需要用到ngc命令行,安装方法如下:

  1. 下载NGC CLI

bash?linenums wget --content-disposition https://ngc.nvidia.com/downloads/ngccli_linux.zip && unzip ngccli_linux.zip && chmod u+x ngc-cli/ngc</p> <pre><code> 1. 检查二进制文件md5 hash ?linenums
find ngc-cli/ -type f -exec md5sum {} + | LC_ALL=C sort | md5sum -c ngc-cli.md5

  1. 将ngc添加到path

bash?linenums echo "export PATH=\"\$PATH:$(pwd)/ngc-cli\"" >> ~/.bash_profile && source ~/.bash_profile</p> <pre><code> 1. 配置ngc ?linenums
ngc config set

如果需要卸载ngc,只需要执行如下命令:

?linenums
dirname
which ngc | xargs rm -r</p> <pre><code> # 2. NGC使用流程 NGC运行的原理是基于docker,整个使用流程如下: ![](./attachments/1656313249492.drawio.svg) ![NVIDIA GPU Cloud (NGC)集群使用笔记](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20220813/2022_6_27_1656313484644.png) 1. 创建一个新的docker image,以pytorch为例,我们可以使用官方的pytorch image ?linenums
docker pull nvcr.io/nvidia/pytorch:22.05-py3

  1. 创建docker container

bash?linenums docker run --name hyperbox --gpus all -it e34705793a75</p> <pre><code> * –name test:表示将创建的container命名为 * –gpus all: 表示使用GPU * -it: 表示创建container后将进入交互模式 * e34705793a75: 是docker image的id 运行上面的命令后会进入container,你可以安装好所有需要的依赖库。安装好后执行如下命令即可退出container ?linenums
exit

  1. 将container打包成新的image

bash?linenums docker commit -a "author_name" -m "commit message" a460d64be5e3nvcr.io/nvidian/onboarding/hyperbox:v1.1</p> <pre><code> * a460d64be5e3:是创建的container的id。可以通过 ps -a查看container的id * .io/nvidian/onboarding/hyperbox:v1.1 : 这是给container打上了标签 - 是organization - 是team - :v1.1 是image的别名和版本号 1. 上传生成的image 等上面的命令执行结束后会生成新的image,执行如下命令即可上传image ?linenums
docker push nvcr.io/nvidian/onboarding/hyperbox:v1.1

  1. NGC配置运行

上传image后,我们在NGC网站界面便可选择指定的image了。

NVIDIA GPU Cloud (NGC)集群使用笔记

除了image以外,还需要配置以下选项:

  • dataset: NGC上有很多已经上传的dataset,用户可以把dataset挂载到指定位置 /mount/cifar10
    NVIDIA GPU Cloud (NGC)集群使用笔记
  • workspace:我们可以把代码存放到 workspace,具体的操作细节会在下一节介绍。
  • result: 实验的日志信息(如终端屏幕上打印出来的信息)都会保存到 /result目录下的一个log文件里,所以需要把代码存日志的路径改到 /result路径下。

3. NGC基础概念:dataset result workspace

3.1 workspace

workspace简单理解就是云上的一个文件夹,这里面可以存很多需要的东西,比如代码,模型权重等等。

*
1. 创建workspace,命名为 my_workspace

bash?linenums ngc workspace create --name my_workspace</p> <pre><code> * 1. 上传文件到workspace </code></pre> <p>ngc workspace upload --source ./local_path/source_code.py my_workspace</p> <pre><code> 1. workspace其他命令 ![NVIDIA GPU Cloud (NGC)集群使用笔记](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20220813/2022_6_27_1656314502966.png) ## 3.2 NGC 某个job结束后会把日志信息保存到 /result,运行结束之后我们可以下载实验结果。 假设 job 的id是 3061231,运行如下命令即可下载实验结果 </code></pre> <p>ngc result download 3061231</p> <pre><code> result其他命令如下: ![NVIDIA GPU Cloud (NGC)集群使用笔记](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20220813/2022_6_27_1656314596116.png) ## 3.3 ![NVIDIA GPU Cloud (NGC)集群使用笔记](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20220813/2022_6_27_1656314562728.png) # 4. ngc运行命令示例 以下命令也可以在NGC网页上自动生成 ?linenums
ngc batch run \
–name "Job-nv-us-west-2-837300" \
–preempt RUNONCE \
–min-timeslice 0s \
–ace nv-us-west-2 \
–instance dgx1v.32g.4.norm \
–total-runtime 500000s \
–image "nvidian/onboarding/hyperbox:v1.1" \
–commandline "cd /mount/workspace; python main.py" \
–result /result \
–org nvidian \
–datasetid 75237:/mount/cifar10 \
–workspace h6Vds94gT3-YyJ4365jZVg:/mount/workspace:RW

NVIDIA GPU Cloud (NGC)集群使用笔记
邮箱:marsggbo@foxmail.com **
2022-06-27 13:59:51

**

Original: https://www.cnblogs.com/marsggbo/p/16416276.html
Author: marsggbo
Title: NVIDIA GPU Cloud (NGC)集群使用笔记

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/9498/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部
最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总