日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

USTC服务器使用笔记

發(fā)布時(shí)間:2025/3/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 USTC服务器使用笔记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本機(jī)系統(tǒng):Windows 10 (我真是堅(jiān)持走在用Windows寫python的路上不回頭。。。)

使用軟件:putty(ssh連接) 和 WinSCP(文件管理)

1.登陸

putty軟件輸入IP地址和端口號(hào), 登陸gwork

2.環(huán)境

/ghome下的有一userid命名的文件夾,賬號(hào)創(chuàng)建即生成,限額20G, 代碼及script文件放在這里

/gdata下可以自從創(chuàng)建userid命名的文件夾,限額300G,用于儲(chǔ)存job生成的結(jié)果。

/gpubg公共數(shù)據(jù)區(qū)

3.使用

調(diào)試:從gwork主機(jī)sshG101,斷開ssh連接的方法,logout

startdocker -u "-it" -c /bin/bash bit:5000/deepo bit:5000/deepo是一個(gè)集中了幾乎所有深度學(xué)習(xí)框架的一個(gè)docker 鏡像,使用上述命令將進(jìn)入docker container內(nèi)部,相當(dāng)于一個(gè)虛擬機(jī),你在內(nèi)部對(duì)系統(tǒng)所做的任何操作都將在系統(tǒng)退出后丟失,但對(duì)用戶根目錄下(/ghome/<username>)的文件操作將不會(huì)丟失。此命令沒有用-P命令掛載用戶代碼和配置目錄,系統(tǒng)默認(rèn)掛載了整個(gè)用戶根目錄,也沒有使用-D掛載數(shù)據(jù)目錄,用戶可以根據(jù)需要掛載。

退出docker的命令:

exit

退出G101后,查看鏡像的命令

sudo docker images

如果沒有正確得退出docker(如直接關(guān)閉terminal),需要利用命令查看docker id,并且關(guān)閉

sudo docker ps
sudo docker stop CONTAINER_ID

調(diào)試成功后,編寫pbs文件提交,注意windows系統(tǒng)下的換行符需要改成unix模式(可以使用notepad++編輯器)。

pbs中的命令行如下:

startdocker -D <mydatapath> -P <my-proc-config-path> -s <my-script-file> bit:5000/deepo """
-s 參數(shù)后的my-script-file 可以是shell腳本或python腳本,但都需要在第一行加解釋器,如shell腳本需要加:#!/bin/bashpython腳本需要加:#!/usr/local/bin/bash
""" 下面是一個(gè)pbs文件示例: #PBS -N myjob1 #PBS -o /home/liulm/myjob1.out #PBS -e /home/liulm/myjob1.err #PBS -l nodes=1:gpus=1:S #PBS -r y cd $PBS_O_WORKDIR echo Time is 'date' echo Directory is $PWD echo This job runs on the following nodes: cat $PBS_NODELIFE cat $PBS_GPULIFE ./myproc
"""

-N: job 名

-o: 輸出文件路徑

-e: 報(bào)錯(cuò)文件輸出路徑

-l: 集群資源分配, 節(jié)點(diǎn)數(shù)和gpu數(shù)(通常一就可以滿足要求)

-r:? 任務(wù)操作類型, -r表示job立即執(zhí)行


"""

對(duì)job的操作指令集合:

qsub myjob1.pbs #提交作業(yè) qstat -n #查看作業(yè) qhold job_id #掛起作業(yè),被掛起的job狀態(tài)顯示為H qrls job_id #取消掛起作業(yè),job重新運(yùn)行 pbsnodes #查看節(jié)點(diǎn) pbsnodes -l free #查看空閑節(jié)點(diǎn)

?4.自定義docker鏡像文件(相當(dāng)于安裝庫(kù)?)

emmm,步驟比較復(fù)雜。

而自己python程序中比較小的packeage可以使用如下方法:

不需要構(gòu)建鏡像。以numpy為例: 1. 下載numpy的源碼(一般能從個(gè)人PC上拷貝),放入服務(wù)器上的某個(gè)目錄,比如/gdata/xxx/pylib 2. 掛載目錄,-v /gdata/xxx/pylib:/data/pylib 3. 將掛載后的目錄加入python import的搜索路徑,兩個(gè)方法a. 指定容器的PYTHONPATH, 在startdocker的-u里面加入-e PYTHONPATH=/data/pylib,此時(shí)/data/pylib的優(yōu)先級(jí)可能次于系統(tǒng)自帶路徑(沒測(cè)過),import numpy 會(huì)導(dǎo)入系統(tǒng)的numpyb. 在程序的一開始加入下面兩行代碼import syssys.path.insert(1, '/data/pylib')1表示/data/pylib的優(yōu)先級(jí)僅次于程序所在目錄此時(shí)/data/pylib的優(yōu)先級(jí)高于系統(tǒng)自帶路徑,import numpy 會(huì)導(dǎo)入/data/pylib的numpy

?

5. DGX1服務(wù)器使用

slurm構(gòu)成的小集群, 操作仍在gwork 上,共享文件系統(tǒng)

script格式如下:

my.slurm#!/bin/bash #SBATCH --job-name=myjob1 #SBATCH -gres=gpu:4 #SBATCH --output=myjob.out echo "Submitted from $SLURM_SUBMIT_DIR" on node "$SLURM_SUBMIT_HOST" echo "Running on node "$SLURM _JOB_NODELIST echo "Allocate Gpu Units:" $CUDA_VISABLE_DEVICES ##program here## startdocker {-c <mycd>|-s <myscript>} nvdl.githost.io:4678/dgx/cuda:9.0-cudnn7-devel-ubuntu16.04

操作命令:

sbatch <myscript> #提交文件 squeue #查看隊(duì)列情況 scancel <jobid> #取消job

?

轉(zhuǎn)載于:https://www.cnblogs.com/fassy/p/8818883.html

總結(jié)

以上是生活随笔為你收集整理的USTC服务器使用笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。