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

网友投稿 2264 2022-10-06

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

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

1. 安装ngc命令

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

-NGC CLI

wget --content-disposition && unzip ngccli_linux.zip && chmod u+x ngc-cli/ngc

检查二进制文件md5 hash

find ngc-cli/ -type f -exec md5sum {} + | LC_ALL=C sort | md5sum -c ngc-cli.md5

将ngc添加到path

echo "export PATH=\"\$PATH:$(pwd)/ngc-cli\"" >> ~/.bash_profile && source ~/.bash_profile

配置ngc

ngc config set

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

dirname `which ngc` | xargs rm -r

2. NGC使用流程

NGC运行的原理是基于docker,整个使用流程如下:

创建一个新的docker image,以pytorch为例,我们可以使用官方的pytorch image

docker pull nvcr.io/nvidia/pytorch:22.05-py3

创建docker container

docker run --name hyperbox --gpus all -it e34705793a75

​​--name test​​​:表示将创建的container命名为​​test​​​​--gpus all​​: 表示使用GPU​​-it​​: 表示创建container后将进入交互模式e34705793a75: 是docker image的id

运行上面的命令后会进入container,你可以安装好所有需要的依赖库。安装好后执行如下命令即可退出container

exit

将container打包成新的image

docker commit -a "author_name" -m "commit message" a460d64be5e3nvcr.io/nvidian/onboarding/hyperbox:v1.1

​​a460d64be5e3​​​:是创建的container的id。可以通过​​docker ps -a​​查看container的id​​nvcr.io/nvidian/onboarding/hyperbox:v1.1 ​​: 这是给container打上了标签

​​nvidian​​是organization​​onboarding​​是team​​hyperbox:v1.1 ​​是image的别名和版本号

上传生成的image

等上面的命令执行结束后会生成新的image,执行如下命令即可上传image

docker push nvcr.io/nvidian/onboarding/hyperbox:v1.1

NGC配置运行

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

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

3. NGC基础概念:dataset result workspace

3.1 workspace

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

创建workspace,命名为​​my_workspace​​

ngc workspace create --name my_workspace

上传文件到workspace

ngc workspace upload --source ./local_path/source_code.py my_workspace

workspace其他命令

3.2 result

NGC 某个job结束后会把日志信息保存到​​/result​​,运行结束之后我们可以-实验结果。

假设 job 的id是 3061231,运行如下命令即可-实验结果

ngc result download 3061231

result其他命令如下:

3.3 dataset

4. ngc运行命令示例

以下命令也可以在NGC网页上自动生成

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

如有意合作或学术讨论欢迎私戳联系~

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微信小程序button组件的使用介绍
下一篇:yii2 使用raw http request
相关文章

 发表评论

暂时没有评论,来抢沙发吧~