-
-
owned this note
-
Published
Linked with GitLab
---
tags: tutorial, 生醫, T3
---
# T3(台灣杉三號) 生醫節點使用說明
## 登入
* 生醫專用節點主機位置:t3-c4.nchc.org.tw
或 203.145.216.54。
* 請勿使用台灣杉1號進行計算,如此會衍生出額外的費用,請使用者配合。
* 帳號密碼:iservice內 **會員中心->會員資訊->主機帳號資訊** ,可以找到您的帳號或修改密碼
* One Time Password(OTP)請參閱:https://man.twcc.ai/@TWCC-III-manual/SJwbCxzqO#%E5%8F%96%E5%BE%97-OTP-%E8%AA%8D%E8%AD%89%E7%A2%BC
## 資料上傳
* 目前請使用 t3-c4.nchc.org.tw 節點上傳資料,可以使用sftp、scp、rsync上傳資料。
## 生醫計算環境節點
|節點種類|節點數量|核心數|記憶體大小|
|:--:|:--:|:--:|:--:|
|CPU節點(一般節點)|39|56|192G|
|CPU節點(較大節點)|6|56|384G|
|GPU節點|2|8GPU|768G|
|2TB大記憶體節點|1|36|2TB|
|4TB大記憶體節點|1|72|4TB|
|6TB大記憶體節點|2|112|6TB|
## 儲存空間
目前每個帳號在以下位置所擁有的空間如下:
| 空間 | 容量 | 刪除期限 |
|:-------------------------- |:------------------:| ------------------ |
| /home/$USER | 100G | 無 |
| /staging/biology/$USER | 10T | 無 |
| /work/$USER | 1500GB | 一個月不動檔案刪除 |
| /staging/reserve/PI_folder | 付費空間需另外申請 | 無 |
※ 爲鼓勵國科會計畫用戶使用本中心此最新的超級電腦,自2021年9月1日起,調高國科會計畫每個帳號之高速檔案系統(HFS)儲存空間的暫存工作目錄區域(/work)免費額度,由原本的100 GB,提高到1500 GB。而家目錄區域(/home)免費額度則維持不變,仍為100 GB。
※ 國科會計畫之帳號於新建立時,系統將預設免費儲存空間額度為家目錄區域100 GB,暫存工作目錄為100 GB。若有需要提高暫存工作區域之免費額度,須請客戶自行調高。用戶欲調整免費儲存空間之額度,請由申購高速儲存系統(HFS)介面進行調整,相關說明文件可參考下面台灣杉三號可用儲存資源與調整之說明文件連結。
※ 台灣杉三號可用儲存資源與調整之說明文件請參考: https://man.twcc.ai/@TWCC-III-manual/HyOgKIiuu
※ <font color="#f00">**請注意:調整額度時,請勿超過1500GB,避免被收取超用額度的費用,超過的額度收費依據國網中心HFS公告收費,並將由使用者負擔,每GB每月定價4元,一個月1TB收費4000元。**</font>
## 公用軟體安裝位置
`/opt/ohpc/Taiwania3/pkg/biology`
## Partition(Queue) 資源設定
|Partition|記憶體配置(`--mem`)|核心數搭配(`-c`)|時間限制|個人Job上限|使用節點|
|:--:|:--:|:--:|:--:|:--:|:--:|
|ngsTest|3G|1|10 mins|2|一般U節點|
|ngs7G|7G|2|48 hrs|500|一般節點|
|ngs12G|12G|3|48 hrs|250|一般節點|
|ngs24G|23G|7|48 hrs|120|一般節點|
|ngs48G|46G|14|unlimit|80|一般節點|
|ngs96G|92G|28|unlimit|60|一般節點|
|ngs192G|184G|56|unlimit|30|一般節點|
|ngs192G_28|184G|28|unlimit|12|較大節點|
|ngs384G|372G|56|unlimit|6|較大節點|
|ngs224core|184G*4(sbatch 不用指定mem)|56*4 (sbatch 參數使用: -c 56 -n 4)|unlimit|4|一般節點|
|ngs448core|184G*8(sbatch 不用指定mem)|56*8 (sbatch 參數使用: -c 56 -n 8)|unlimit|2|一般節點|
|ngs512G|500G|9|unlimit|8|2,4TB大記憶體節點|
|ngs1T_18|1000G|18|unlimit|4|2,4TB大記憶體節點|
|ngs2T_36|2000G|36|unlimit|2|2,4TB大記憶體節點|
|ngs4T_72|4000G|72|unlimit|1|4TB大記憶體節點|
|ngs2T_28|2000G|28|unlimit|6|6TB大記憶體節點|
|ngs3T_56|3000G|56|unlimit|4|6TB大記憶體節點|
|ngs6T_112|6000G|112|unlimit|2|6TB大記憶體節點|
|ngs1gpu|90G|6CPU/1GPU|unlimit|16|GPU節點|
|ngs2gpu|180G|12CPU/2GPU|unlimit|8|GPU節點|
|ngs4gpu|360G|24CPU/4GPU|unlimit|4|GPU節點|
|ngs8gpu|720G|48CPU/8GPU|unlimit|2|GPU節點|
|ngscourse|12G|3|48 hrs|250|一般節點|
|ngscourse96G|92G|28|unlimit|60|一般節點|
※ 為確保記憶體與核心數能有效且充分利用,因此設定上述排程與記憶體核心數搭配與限制。
## 工作指令稿
### 1. 使用SLURM排程系統來送出工作
**請編寫一個檔案內容如下:**
* SLURM Job Script (CPU Queue)範例如下:
```shell
#!/usr/bin/sh
#SBATCH -A MST109178 # Account name/project number
#SBATCH -J Job_name # Job name
#SBATCH -p ngs48G # Partition Name 等同PBS裡面的 -q Queue name
#SBATCH -c 14 # 使用的數 請參考Queue資源設定
#SBATCH --mem=46g # 使用的記憶體量 請參考Queue資源設定
#SBATCH -o out.log # Path to the standard output file
#SBATCH -e err.log # Path to the standard error ouput file
#SBATCH --mail-user=XXXX@narlabs.org.tw # email
#SBATCH --mail-type=BEGIN,END # 指定送出email時機 可為NONE, BEGIN, END, FAIL, REQUEUE, ALL
echo 'Hello world!' ##這邊寫入你要執行的指令
```
※ 上面的core數與記憶體搭配,請[參考Queue資源設定或排程限制](https://man.twcc.ai/cV1vwW9GRTql6ODnTREPhw?both#PartitionQueue-%E8%B3%87%E6%BA%90%E8%A8%AD%E5%AE%9A),要設對工作才能正常送出,請注意。
* SLURM Job Script (GPU Queue)範例如下:
```shell
#!/usr/bin/sh
#SBATCH -A MST109178 # Account name/project number
#SBATCH -J Job_name # Job name
#SBATCH -p ngs1gpu # Partition Name 等同PBS裡面的 -q Queue name
#SBATCH -c 6 # 使用的core數 請參考Queue資源設定
#SBATCH --mem=90g # 使用的記憶體量 請參考Queue資源設定
#SBATCH --gres=gpu:1 # 使用的GPU數 請參考Queue資源設定
#SBATCH -o out.log # Path to the standard output file
#SBATCH -e err.log # Path to the standard error ouput file
#SBATCH --mail-user=XXXX@narlabs.org.tw # email
#SBATCH --mail-type=BEGIN,END # 指定送出email時機 可為NONE, BEGIN, END, FAIL, REQUEUE, ALL
nvidia-smi ##這邊寫入你要執行的指令
```
* **寫完工作指令稿(jobscript.sh)後送出執行**
執行指令:`sbatch jobscript.sh`
執行結果:
```shell=
[USER@lgn304 ~]$ sbatch jobscript.sh
Submitted batch job 84684
```
進行工作遞交後,將會獲得一個 Job ID (上述範例為84684)。
### 2.送工作時指定參數
將上述script改為如下指令,並在最後加入job.sh即可。
```wrap
sbatch -A MST109178 -J Job_name -p ngs48G -c 14 --mem=46g -o out.log -e err.log --mail-user=XXXX@narlabs.org.tw --mail-type=BEGIN,END job.sh
```
如果要直接打指令可以利用 --wrap="" 參數傳入指令
```wrap
sbatch -A MST109178 -J Job_name -p ngs48G -c 14 --mem=46g -o out.log -e err.log --mail-user=wadehwang@narlabs.org.tw --mail-type=BEGIN,END --wrap="ls /opt/ohpc/Taiwania3/pkg/biology"
```
### 3.引入外部變數
如果有變數要引入Job中使用,可以使用 --export= 來指定參數
```
A=5
b='test'
sbatch --export=A=$A,b=$b job.sh
```
### 4.Array Job
若要使用 Array Job 可在Jobscript內使用 --array 定義 Index 範圍
,在Task內部可使用 SLURM_ARRAY_TASK_ID 這個環境變數讀取該Task的Index。
**範例:**
```shell
#!/usr/bin/sh
#SBATCH -A MST109178 # Account name/project number
#SBATCH -J Job_name # Job name
#SBATCH -p ngs48G # Partition Name 等同PBS裡面的 -q Queue name
#SBATCH -c 14 # 使用的core數 請參考Queue資源設定
#SBATCH --mem=46g # 使用的記憶體量 請參考Queue資源設定
#SBATCH --array=1-10 # 定義index範圍為1~10
echo $SLURM_ARRAY_TASK_ID # SLURM_ARRAY_TASK_ID 為該Task的index
```
其他Array Job詳細用法請見:
https://slurm.schedmd.com/job_array.html
## 查看job狀態/刪除工作
### 1. 列出送出的工作
指令:`squeue -u [username]`
範例:

### 2. 個別工作詳細資訊
指令:`scontrol show job [job ID]`
範例:

### 3. 刪除工作
指令:`scancel -i [job ID]`
## 進階
### 1. 查詢使用空間的用量、限制
#### a. 查詢work、home 空間
指令:`/usr/lpp/mmfs/bin/mmlsquota -u $USER --block-size auto fs01 fs02`

** $USER請輸入您的主機帳號
** fs01是/work
** fs02是/home
#### b.查詢 staging 空間
指令:`/usr/lpp/mmfs/bin/mmlsquota -u $USER --block-size auto 5Kstaging:biology`

** $USER請輸入您的主機帳號
** 5Kstaging:biology為/staging/biology/$USER
#### c. 查詢 /staging/reserve 空間
指令:`/usr/lpp/mmfs/bin/mmlsquota -j $Fileset --block-size auto 5Kstaging`

** $Fileset請輸入您的在/staging/reserve/$Fileset目錄名稱
### 2. 資料權限設定、共享
#### a. 設定 /staging/reserve/$Fileset 空間權限
Fileset擁有者,可進行目錄空間與檔案分享,設定權限請注意需完成下列兩行指令。
#### b. 分享$Fileset讀取權限給someone帳號
指令:`setfacl -R -m u:someone:r-X,g::---,o::--- /staging/reserve/$Fileset`
#### c. 設定讀取繼承權限給someone帳號,未來該目錄內檔案繼承目錄權限,自動設定權限給someone帳號。
指令:`setfacl -d -m u:someone:r-X,g::---,o::--- /staging/reserve/$Fileset`
** 若您需要讓someone有權限寫入分享目錄,請將r-X改為rwX即可。
設定完成後,可以透過指令getfacl進行確認。
```shell
[USER@lgn304 ~]$ getfacl /staging/reserve/$Fileset
# file: Fileset
# owner: yourself
# group: root
user::rwx
user:someone:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:someone:rwx
default:group::---
default:mask::rwx
default:other::---
```
移除someone帳號的權限,與設定時一樣需執行兩行指令,移除即時讀取與繼承權限。
指令:`setfacl -x u:someone /staging/reserve/$Fileset`
指令:`setfacl -d -x u:someone /staging/reserve/$Fileset`
### 3. 查詢工作記憶體使用狀況
指令:`sacct -j $jobid -o JobID,JobName,Partition,User,NCPUS,AllocNodes,maxrss,Start,End,Elapsed,State`
```
JobID JobName Partition User NCPUS AllocNodes MaxRSS Start End Elapsed State
------------ ---------- ---------- --------- ---------- ---------- ---------- ------------------- ------------------- ---------- ----------
152151 GATK30X ngs192G u00cwh00 56 1 2021-09-14T18:58:46 2021-09-15T07:33:25 12:34:39 COMPLETED
152151.batch batch 56 1 116474744K 2021-09-14T18:58:46 2021-09-15T07:33:25 12:34:39 COMPLETED
152151.exte+ extern 56 1 1204K 2021-09-14T18:58:46 2021-09-15T07:33:25 12:34:39 COMPLETED
```
$jobid.batch行 MaxRSS欄位 顯示數字即為記憶體用量最大值。
### 4. 查詢可用排程與節點資源
#### a. 查詢可用排程狀態
指令: `qstat -ngs`
```shell
Total Total Running Running Pending Pending
Queue_Name STAT Job Core Job Core Job Core
---------------------------------------------------------------
ngsTest up 4 4 0 0 4 4
ngs7G up 2 2 0 0 2 2
ngs12G up 1 1 0 0 1 1
ngs24G up 1 1 0 0 1 1
ngs48G up 59 826 59 826 0 0
ngs96G up 0 0 0 0 0 0
ngs192G up 0 0 0 0 0 0
ngs224core up 0 0 0 0 0 0
ngs448core up 0 0 0 0 0 0
ngs512G up 0 0 0 0 0 0
ngs1T_18 up 0 0 0 0 0 0
ngs2T_36 up 0 0 0 0 0 0
ngs4T_72 up 0 0 0 0 0 0
ngs2T_28 up 0 0 0 0 0 0
ngs3T_56 up 0 0 0 0 0 0
ngs6T_112 up 0 0 0 0 0 0
ngs1gpu up 0 0 0 0 0 0
ngs2gpu up 0 0 0 0 0 0
ngs4gpu up 0 0 0 0 0 0
ngs8gpu up 0 0 0 0 0 0
---------------------------------------------------------------
SUM 67 834 59 826 8 8
```
#### b. 查詢排程與節點狀態
指令: `sinfo -s|grep ngs`
```shell
[USER@lgn304 ~]$ sinfo -s|grep ngs
PARTITION AVAIL TIMELIMIT NODES(A/I/O/T) NODELIST
ngsTest up 10:00 30/0/0/30 cpn[3871-3900]
ngs7G up 2-00:00:00 30/0/0/30 cpn[3871-3900]
ngs12G up 2-00:00:00 30/0/0/30 cpn[3871-3900]
ngs24G up 2-00:00:00 30/0/0/30 cpn[3871-3900]
ngs48G up infinite 30/0/0/30 cpn[3871-3900]
ngs96G up infinite 30/0/0/30 cpn[3871-3900]
ngs192G up infinite 30/0/0/30 cpn[3871-3900]
ngs224core up infinite 30/0/0/30 cpn[3871-3900]
ngs448core up infinite 30/0/0/30 cpn[3871-3900]
ngs512G up infinite 0/2/0/2 bgm[3001-3002]
ngs1T_18 up infinite 0/2/0/2 bgm[3001-3002]
ngs2T_36 up infinite 0/2/0/2 bgm[3001-3002]
ngs4T_72 up infinite 0/2/0/2 bgm[3001-3002]
ngs2T_28 up infinite 0/2/0/2 bgm[3001-3002]
ngs3T_56 up infinite 0/2/0/2 bgm[3001-3002]
ngs6T_112 up infinite 0/2/0/2 bgm[3001-3002]
```
#### c. 查詢排程限制
指令: `sacctmgr show qos -o format=name,MinTRES%28,MaxTRES%28,MaxJobsPU|grep ngs`
```shell
Name MinTRES MaxTRES MaxJobsPU
---------- ------------------- ------------------- ---------
ngstest cpu=1,mem=3G cpu=1,mem=3G 2
ngs7g cpu=2,mem=7G cpu=2,mem=7G 500
ngs12g cpu=3,mem=12G cpu=3,mem=12G 250
ngs24g cpu=7,mem=23G cpu=7,mem=23G 120
ngs48g cpu=14,mem=46G cpu=14,mem=46G 80
ngs96g cpu=28,mem=92G cpu=28,mem=92G 60
ngs192g cpu=56,mem=184G cpu=56,mem=184G 30
ngs224core cpu=224 cpu=224 4
ngs448core cpu=448 cpu=448 2
ngs512g cpu=9,mem=500G cpu=9,mem=500G 8
ngs1t18 cpu=18,mem=1000G cpu=18,mem=1000G 4
ngs2t36 cpu=36,mem=2000G cpu=36,mem=2000G 2
ngs4t72 cpu=72,mem=4000G cpu=72,mem=4000G 1
ngs2t28 cpu=28,mem=2000G cpu=28,mem=2000G 3
ngs3t56 cpu=56,mem=3000G cpu=56,mem=3000G 2
ngs6t112 cpu=112,mem=6000G cpu=112,mem=6000G 1
ngs192g28 cpu=28,mem=184G cpu=28,mem=184G 12
ngs384g cpu=56,mem=372G cpu=56,mem=372G 6
```
使用指令: `scontrol show partition ngs12G` 來了解ngs12G partition的QoS
```shell
PartitionName=ngs12G
AllowGroups=MST109178 AllowAccounts=mst109178 AllowQos=ALL
AllocNodes=ALL Default=NO QoS=ngs12g
DefaultTime=NONE DisableRootJobs=NO ExclusiveUser=NO GraceTime=0 Hidden=NO
MaxNodes=UNLIMITED MaxTime=2-00:00:00 MinNodes=0 LLN=NO MaxCPUsPerNode=UNLIMITED
Nodes=cpn[3856-3894]
PriorityJobFactor=1 PriorityTier=100 RootOnly=NO ReqResv=NO OverSubscribe=NO
OverTimeLimit=NONE PreemptMode=OFF
State=UP TotalCPUs=2184 TotalNodes=39 SelectTypeParameters=NONE
JobDefaults=(null)
DefMemPerNode=UNLIMITED MaxMemPerNode=UNLIMITED
```
#### d. 查詢節點使用狀態
指令: `ngsnodes`
```shell
Nodes Status for NGS and Protein Platform
Node T_ncpus U_ncpus A_ncpus T_ngpus U_ngpus A_ngpus T_Mem U_Mem A_Mem nJobs State Partition Used
cpn3871 56 55 1 0 0 0 187G 183G 4G 2 busy ngs48G,ct2k
cpn3872 56 55 1 0 0 0 187G 183G 4G 3 busy ngs48G,ct2k,ct2k
cpn3873 56 54 2 0 0 0 187G 184G 4G 4 busy ngs48G,ngs48G,ngs48G,ct2k
cpn3874 56 54 2 0 0 0 187G 180G 7G 2 busy ngs48G,ct560
cpn3875 56 42 14 0 0 0 187G 143G 45G 4 free ngs48G,ngs48G,ngs7G,ct2k
cpn3876 56 54 2 0 0 0 187G 184G 4G 4 busy ngs48G,ngs48G,ngs48G,ct2k
cpn3877 56 54 2 0 0 0 187G 184G 4G 4 busy ngs48G,ngs48G,ngs48G,ct2k
cpn3878 56 55 1 0 0 0 187G 183G 4G 3 busy ngs48G,ct2k,ct560
cpn3879 56 55 1 0 0 0 187G 183G 4G 3 busy ngs48G,ct2k,ct560
cpn3880 56 54 2 0 0 0 187G 184G 4G 4 busy ngs48G,ngs48G,ngs48G,ct2k
cpn3881 56 55 1 0 0 0 187G 183G 4G 3 busy ngs48G,ct2k,ct560
cpn3882 56 40 16 0 0 0 187G 136G 52G 3 free ngs48G,ngs48G,ct2k
cpn3883 56 54 2 0 0 0 187G 184G 4G 4 busy ngs48G,ngs48G,ngs48G,ct2k
cpn3884 56 40 16 0 0 0 187G 136G 52G 3 free ngs48G,ngs48G,ct2k
cpn3885 56 54 2 0 0 0 187G 184G 4G 4 busy ngs48G,ngs48G,ngs48G,ct2k
cpn3886 56 55 1 0 0 0 187G 183G 4G 3 busy ngs48G,ct2k,ct2k
cpn3887 56 54 2 0 0 0 187G 184G 4G 4 busy ngs48G,ngs48G,ngs48G,ct2k
cpn3888 56 40 16 0 0 0 187G 136G 52G 3 free ngs48G,ngs48G,ct2k
cpn3889 56 54 2 0 0 0 187G 184G 4G 4 busy ngs48G,ngs48G,ngs48G,ct2k
cpn3890 56 55 1 0 0 0 187G 185G 2G 4 busy ngs48G,ngs48G,ct2k,ct2k
cpn3891 56 55 1 0 0 0 187G 185G 2G 4 busy ngs48G,ngs48G,ct2k,ct2k
cpn3892 56 54 2 0 0 0 187G 184G 4G 4 busy ngs48G,ngs48G,ngs48G,ct2k
cpn3893 56 55 1 0 0 0 187G 183G 4G 3 busy ngs48G,ct2k,ct2k
cpn3894 56 54 2 0 0 0 187G 184G 4G 4 busy ngs48G,ngs48G,ngs48G,ct2k
cpn3895 56 54 2 0 0 0 187G 184G 4G 4 busy ngs48G,ngs48G,ngs48G,ct2k
cpn3896 56 54 2 0 0 0 187G 184G 4G 4 busy ngs48G,ngs48G,ngs48G,ct2k
cpn3897 56 55 1 0 0 0 187G 185G 2G 4 busy ngs48G,ngs48G,ct2k,ct2k
cpn3898 56 55 1 0 0 0 187G 183G 4G 3 busy ngs48G,ct2k,ct2k
cpn3899 56 54 2 0 0 0 187G 184G 4G 4 busy ngs48G,ngs48G,ngs48G,ct2k
cpn3900 56 54 2 0 0 0 187G 184G 4G 4 busy ngs48G,ngs48G,ngs48G,ct2k
bgm3001 112 0 112 0 0 0 6046G 0G 6046G 0 free
bgm3002 112 0 112 0 0 0 6046G 0G 6046G 0 free
gpn3001 56 0 56 8 0 8 187G 0G 187G 0 free
T = Total ; U = Used ; A = Available
```
** 由於台灣杉3號有NRQ(Non-Reserved Queue)設計,當GP1核心設施生醫專用資源閒置時,將會釋放至NRQ供其他用戶使用,若GP1核心設施使用者送出工作後,NRQ使用者的工作會被中斷,優先計算GP1核心設施使用者所送出之工作。
** 查詢節點狀態時,請注意Partition Used欄位,若有非ngs開頭Partition使用生醫專用節點,代表生醫專用資源有多餘資源可供使用,並非資源被占滿。
### 5. 查詢是否已加入生醫核心設施計畫
指令: `get_su_balance`
```shell
[USER@lgn304 ~]$ get_su_balance
{"PROJECT_ID":"MST109178","PROJECT_NAME":"國家生醫數位資料與分析運算雲端服務平台III","SU_BALANCE":"237010.1157"}
```
**您必須要加入MST109178計畫才能使用生醫專用計算環境。
## 軟體使用說明
### SRAtoolkit
1.第一次使用請先使用以下指令進入界面設定:
```
/opt/ohpc/Taiwania3/pkg/biology/SRAToolkit/sratoolkit_v2.11.1/bin/vdb-config --interactive
```
2.進入界面後,按s 儲存,按x離開。

3.設定完畢後即可使用。
### 如何跑 R code
1. 先編輯一個檔案內容為 R code,假設名字為 myRcode.r,以下為檔案模擬內容:
```r=
#!/usr/bin/env Rscript
library(XXXX)
data=read.table("XXXX")
......
```
2. 使用 Rscript 這個指令去執行R code即可,國網電腦上面有已經裝好不同版本的Rscript程式,路徑如下:
```shell=
/work/opt/ohpc/Taiwania3/pkg/biology/R/R_v3.6.3/bin/Rscript
/work/opt/ohpc/Taiwania3/pkg/biology/R/R_v3.6.3_gcc_8.3.0/bin/Rscript
/work/opt/ohpc/Taiwania3/pkg/biology/R/R_v3.6.3_gcc_8.3.0.old/bin/Rscript
/work/opt/ohpc/Taiwania3/pkg/biology/R/R_v3.6.3_gcc_v7.5.0/bin/Rscript
/work/opt/ohpc/Taiwania3/pkg/biology/R/R_v3.6.3_rstudio/bin/Rscript
/work/opt/ohpc/Taiwania3/pkg/biology/R/R_v4.1.0/bin/Rscript
```
3. 執行rscript 之指令: **請放到[工作指令稿](https://man.twcc.ai/cV1vwW9GRTql6ODnTREPhw?both#%E5%B7%A5%E4%BD%9C%E6%8C%87%E4%BB%A4%E7%A8%BF)裡面執行**:
```shell
/work/opt/ohpc/Taiwania3/pkg/biology/R/R_v4.1.0/bin/Rscript myRcode.r
```
4. 如果執行時有短少的 R package 請來信 hsin@narlabs.org.tw,我們會協助您安裝。
### 執行 IGV
使用X11支援Terminal如mobaxterm即可display回用戶端做使用。
**範例:**
```
/work/opt/ohpc/Taiwania3/pkg/biology/IGV/IGV_v2.10.3/igv.sh
```

### 如何使用 RAPIDS
#### Server端
1. Allocate GPU partition
```wrap
salloc -A MST109178 -p ngs1gpu -c 6 --mem=90g --gres=gpu:1 -J Rapids_Job srun --pty bash
```
* 成功後出現下面訊息,記住node名稱與jobid,下面範例中allocate的node是gpn3002,jobid為742593

2. 設定環境變數
```
export SINGULARITYENV_TINI_SUBREAPER=1
ml libs/singularity
```
3. 載入 RAPIDS singularity
```wrap
singularity run --nv \
/work/opt/ohpc/Taiwania3/pkg/biology/Rapids/rapids_cuda11.0/rapidsai_21.10-cuda11.0-runtime-ubuntu18.04.sif
```
4. 出現下面訊息後記住port,在下面範例中port是8888

#### 客戶端
5. 客戶端建立 ssh tunnel,{}中填入對應的資訊,就可以使用jupyter notebook 做訓練了。
`ssh -NfL {localport}:{nodename}:{port} {username}@t3-c4.nchc.org.tw`
範例:
```
ssh -NfL 10002:gpn3002:8888 u00cwh00@t3-c4.nchc.org.tw
```
6. 使用瀏覽器打開
網址:localhost:10002

7. 範例位置在 /rapids/notebooks/
可以cp到自己家目錄執行
8. 使用完成後,請記得刪除保留的GPU資源,以免資源浪費與產生額外的費用
`scancel -i $jobid`
範例:
```
scancel -i 742593
```
### 如何使用Google Drive、Amazon等雲端資料資料
1. 先載入 Rclone
```
module load biology/Rclone/1.59.0-DEV
```
2. 點選下面說明網頁中平台,根據說明進行設定
https://rclone.org/docs/
##
### Last updated: 2022/07/04 17:00