# AIFR Cluster
``` mermaid
graph LR
WAN[WAN] --- OpenWrt
OpenWrt[OpenWrt<br>10.0.0.254<br>10.0.1.254] -.- AIFR
OpenWrt -.- AIFR_N2
OpenWrt -.- AIFR_N3
OpenWrt -.- AIFR_N4
OpenWrt -.- AIFR_N5
OpenWrt -.- AIFR-Public
OpenWrt -.- login[login<br>10.0.1.200]
OpenWrt -.- c01[c01<br>10.0.1.1]
OpenWrt -.- c02[c02<br>10.0.1.2]
OpenWrt -.- c03[c03<br>10.0.1.3]
OpenWrt -.- w01[w01<br>10.0.1.101]
OpenWrt -.- w02[w02<br>10.0.1.102]
OpenWrt -.- public[public<br>10.0.1.102]
AIFR(AIFR<br>10.0.0.1) --> OpenWrt[OpenWrt<br>10.0.0.254, 10.0.1.254]
AIFR(AIFR<br>10.0.0.1) --> login[login<br>10.0.1.200]
AIFR(AIFR<br>10.0.0.1) --> c01[c01<br>10.0.1.1]
AIFR_N2(AIFR-N2<br>10.0.0.2) --> c02[c02<br>10.0.1.2]
AIFR_N3(AIFR-N3<br>10.0.0.3) --> c03[c03<br>10.0.1.3]
AIFR_N4(AIFR-N4<br>10.0.0.4) --> w01[w01<br>10.0.1.101]
AIFR_N5(AIFR-N5<br>10.0.0.5) --> w02[w02<br>10.0.1.102]
AIFR-Public(AIFR-Public<br>140.114.80.195) --> public[public<br>10.0.1.102]
login === UnifiedNFS[Unified NFS]
public --- UnifiedNFS
c01 --- UnifiedNFS
c02 --- UnifiedNFS
c03 --- UnifiedNFS
w01 --- UnifiedNFS
w02 --- UnifiedNFS
c02 === Backup[Backup]
Backup --- UnifiedNFS
subgraph Internet
WAN
OpenWrt
end
subgraph Cluster
login[login<br>10.0.1.200]
public[public<br>10.0.1.201]
c01[c01<br>10.0.1.1]
c02[c02<br>10.0.1.2]
c03[c03<br>10.0.1.3]
w01[w01<br>10.0.1.101]
w02[w02<br>10.0.1.102]
UnifiedNFS
Backup
end
style AIFR fill:#f9d,stroke:#333,stroke-width:4px
style AIFR_N2 fill:#f9d,stroke:#333,stroke-width:4px
style AIFR_N3 fill:#f9d,stroke:#333,stroke-width:4px
style AIFR_N4 fill:#f9d,stroke:#333,stroke-width:4px
style AIFR_N5 fill:#f9d,stroke:#333,stroke-width:4px
style AIFR-Public fill:#f9d,stroke:#333,stroke-width:4px
style OpenWrt fill:#d9f,stroke:#333,stroke-width:2px
style login fill:#d9f,stroke:#333,stroke-width:2px
style public fill:#d9f,stroke:#333,stroke-width:2px
style c01 fill:#d9f,stroke:#333,stroke-width:2px
style c02 fill:#d9f,stroke:#333,stroke-width:2px
style c03 fill:#d9f,stroke:#333,stroke-width:2px
style w01 fill:#d9f,stroke:#333,stroke-width:2px
style w02 fill:#d9f,stroke:#333,stroke-width:2px
linkStyle 22 stroke:#0000FF,stroke-width:2px;
linkStyle 29 stroke:#0000FF,stroke-width:2px;
linkStyle 30 stroke:#0000FF,stroke-width:2px;
```
<p style="text-align:center;">
<img src="https://hackmd.io/_uploads/BJP577kh2.jpg" style="width:400px;">
<p style="text-align:center;">
AIFR-Cluster (R401, Physics building)
### 公告
:::info
更新時間:2023/09/12
:::
:::warning
過去(node1~node4)的備份資料放在`/cluster/backup`資料夾中,請自行複製至自己的`$HOME`,抓完資料後請通知管理員移除舊資料。
:::
:::danger
1. 2022/08~ 由於學校網路政策,校內IP偶爾會不開放校外連線,請嘗試安裝VPN軟體進行連線。
2. `/cluster/backup` 會在 2023/08/31 移除,檔案會轉移至其他硬碟儲存
注意: `login`節點僅提供登入服務,請勿在該節點上執行計算,否則會造成卡頓。
:::
### 注意事項
1. 若無法連接伺服器,請連接學校 VPN 後再嘗試一次。
2. `login` 節點為登入節點,請勿進行大量計算,避免造成卡頓。
3. 若需要創建帳號或遇到問題,請聯絡 jamiechang917@gmail.com。
---
## 計算資源列表
### 實體主機
| 主機名稱 | CPU | RAM | GPU | Disk |
|:-----------:|:----------------:|:---------:|:------------:|:---------:|
| AIFR | i9-13900K 24C32T | DDR5 128G | RTX 4090 24G | 2T + 4T |
| AIFR-N2 | i9-13900K 24C32T | DDR5 32G | RTX 4090 24G | 1T + 4T |
| AIFR-N3 | i5-12500 6C12T | DDR4 32G | RTX 3090 24G | 500G + 2T |
| AIFR-N4 | i5-10500 6C12T | DDR4 32G | RTX 3090 24G | 256G + 2T |
| AIFR-N5 | i3-8100 4C4T | DDR4 16G | RTX 3080 10G | 256G + 2T |
| AIFR-Public | i7-6700 4C8T | DDR4 16G | N/A | 1T |
### 運算節點
| 節點名稱 | CPU | RAM | GPU | Disk | Host | IP |
|:--------:|:--------:|:---:|:------------:|:-----------:|:-------:|:----------:|
| login | 4 Cores | 16G | N/A | Unified NFS | AIFR | 10.0.1.200 |
| public | 8 Cores | 16G | N/A | Unified NFS | AIFR | 10.0.1.201 / 140.114.80.195 |
| c01 | 28 Cores | 96G | RTX 4090 24G | Unified NFS | AIFR | 10.0.1.1 |
| c02 | 32 Cores | 28G | RTX 4090 24G | Unified NFS | AIFR-N2 | 10.0.1.2 |
| c03 | 12 Cores | 28G | RTX 3090 24G | Unified NFS | AIFR-N3 | 10.0.1.3 |
| w01 | 12 Cores | 28G | RTX 3090 24G | Unified NFS | AIFR-N4 | 10.0.1.101 |
| w02 | 4 Cores | 12G | RTX 3080 10G | Unified NFS | AIFR-N5 | 10.0.1.102 |
備註:
`login` (登入節點), `public` (網頁前端節點, 外網IP: 140.114.80.195), `c0x` (計算節點), `w0x` (網頁服務節點)
家目錄: `/cluster/home`
備份目錄: `/backup` in `c02` (每天凌晨3點鏡像備份`/cluster`)
---
## 連接及使用方式
### 登入節點
:::danger
注意: `login`節點僅提供登入服務,請勿在該節點上執行計算,否則會造成卡頓。
:::
連接登入節點(`login` node),請輸入`ssh <username>@140.114.80.46`,`<username>`為自己的使用者帳號。
```
$ ssh <username>@140.114.80.46
<username>@140.114.80.46's password:
___ ___ ___
/\ \ ___ /\ \ /\ \
/::\ \ /\ \ /::\ \ /::\ \
/:/\:\ \ \:\ \ /:/\:\ \ /:/\:\ \
/::\~\:\ \ /::\__\ /::\~\:\ \ /::\~\:\ \
/:/\:\ \:\__\ __/:/\/__/ /:/\:\ \:\__\ /:/\:\ \:\__\
\/__\:\/:/ / /\/:/ / \/__\:\ \/__/ \/_|::\/:/ /
\::/ / \::/__/ \:\__\ |:|::/ /
/:/ / \:\__\ \/__/ |:|\/__/
/:/ / \/__/ |:| |
\/__/ \|__|
Welcome to AIFR Cluster!
# Node List
| Name | IP Address | CPU | RAM | GPU | Description |
| ------ | ---------- | -------- | ----- | -------- | --------------- |
| login | 10.0.1.200 | 4 cores | 16 GB | N/A | Login Node |
| public | 10.0.1.201 | 8 cores | 16 GB | N/A | Public Node |
| c01 | 10.0.1.1 | 28 cores | 96 GB | RTX 4090 | Compute Node 01 |
| c02 | 10.0.1.2 | 32 cores | 28 GB | RTX 4090 | Compute Node 02 |
| c03 | 10.0.1.3 | 12 cores | 28 GB | RTX 3090 | Compute Node 03 |
| w01 | 10.0.1.101 | 12 cores | 28 GB | RTX 3090 | Web Node 01 |
| w02 | 10.0.1.102 | 4 cores | 12 GB | RTX 3080 | Web Node 02 |
# Service
Remote Login (ssh) : ssh <username>@140.114.80.46
File Transfer (sftp) : sftp <username>@140.114.80.46
# Storage
Home Directory : /cluster/home (4T in total)
Please contact jamiechang917@gmail.com if you have questions.
NOTICE: c02, c03 are still in maintenance.
WARNING: Please do not use the login node for heavy tasks.
Last login: Mon Aug 7 00:09:05 2023 from 1.34.125.3
<username>@login:~$
```
### 進入要使用的運算節點
:::info
進行繁重的計算請在運算節點中執行,登入節點並沒有 GPU 能夠使用。
:::
這裡以`login`節點登入到`c01`節點為範例,輸入`ssh c01`。
```
<username>@login:~$ ssh c01
Last login: Sun Aug 6 18:40:51 2023 from 10.0.1.200
<username>@c01:~$
```
能夠使用的運算節點名稱請參考 [運算節點](###運算節點)。
### 上傳/下載檔案
若需要拿取 cluster 上的資料,請使用`sftp`。
本機端下載cluster資料
```
$ sftp <username>@140.114.80.46
sftp> ls
hello.txt
sftp> get hello.txt
Fetching /cluster/home/jamiechang917/hello.txt to hello.txt
```
本機端上傳資料給cluster
```
$ sftp <username>@140.114.80.46
sftp> ls
sftp> put hello.txt
Uploading hello.txt to /cluster/home/jamiechang917/hello.txt
hello.txt 100% 0 0.0KB/s 00:00
sftp> ls
hello.txt
```
### 載入編譯好的程式
cluster 內建許多已經編譯好的程式,可以直接使用,省去自行安裝的麻煩,這裡我們使用`module`。要查看目前能使用的`module`,輸入`module avail`。
```
$ module avail
-------------------------------------------- /cluster/software/modulefiles ---------------------------------------------
cuda/10.1 cuda/11.0 cuda/11.2 cuda/11.4 cuda/11.6 cuda/11.8 cuda/12.1 gcc/8.4.0 gcc/10.4.0
cuda/10.2 cuda/11.1 cuda/11.3 cuda/11.5 cuda/11.7 cuda/12.0 cuda/12.2 gcc/9.4.0 gcc/12.3.0
Key:
modulepath
```
載入`module`,輸入`module load <module>`。
```
$ module load cuda/11.4
*****************************************************
| CUDA 11.4 Module & cuDNN 8.9.3 Library Loaded |
*****************************************************
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Mon_Oct_11_21:27:02_PDT_2021
Cuda compilation tools, release 11.4, V11.4.152
Build cuda_11.4.r11.4/compiler.30521435_0
```
查看目前已經載入的`module`,輸入`module list`。
```
$ module list
Currently Loaded Modulefiles:
1) cuda/11.4
```
卸載載入的`module`,輸入`module unload <module>`。若要卸載全部的`module`,輸入`module purge`。
```
$ module unload cuda/11.4
$ module list
No Modulefiles Currently Loaded.
```
### 查看 CPU / GPU 使用狀況
節點有可能正在進行運算,在送出工作前先確認節點是否閒置。
查看 CPU 及 RAM 使用狀況,輸入`htop`。
```
$ htop
```

查看 GPU 使用狀況,輸入 `nvidia-smi` 或 `nvtop`。
```
$ nvidia-smi
Mon Aug 7 02:14:25 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.86.10 Driver Version: 535.86.10 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce RTX 4090 Off | 00000000:00:10.0 Off | Off |
| 30% 58C P0 48W / 500W | 2MiB / 24564MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| No running processes found |
+---------------------------------------------------------------------------------------+
```
```
$ nvtop
```

---
## 其他
### VPN安裝及設定
:::info
若發現連接不上,可以嘗試使用校內VPN
:::
#### Windows
在 Microsoft Store 搜尋 Pulse Secure 並安裝,安裝好後打開 設定->網路與網際網路-> VPN -> 新增VPN

連線名稱任意,伺服器位置填寫 nthu.twaren.net,完成設定後連線會跳出視窗要求輸入使用者名稱及密碼。使用者名稱為清大[校園無線區域網路帳號](https://net.nthu.edu.tw/netsys/wireless:application) (XXXXX@wlan.nthu.edu.tw),密碼則為該帳號密碼。
#### Mac
Mac OS X 10.15.6 以上版本:請從[此處](https://ccnet.ntu.edu.tw/vpn/Download/ps-pulse-mac-9.1r14.0-b13525-installer.dmg)下載程式並安裝 (Pulse Secure 程式來源:NTU)
Mac OS X 10.11.0 以上版本:請從[此處](https://ccnet.ntu.edu.tw/vpn/Download/ps-pulse-mac-9.1r12.0-b10247-installer.dmg)下載程式並安裝 (Pulse Secure 程式來源:NTU)
安裝後建立新的VPN連線,名稱任意,伺服器填寫 nthu.twaren.net,儲存後點擊連線

會要求輸入使用者名稱及密碼。使用者名稱為清大[校園無線區域網路帳號](https://net.nthu.edu.tw/netsys/wireless:application) (XXXXX@wlan.nthu.edu.tw),密碼則為該帳號密碼。

<!--
## 計算資源列表
| 主機名稱 (Hostname) | AIFR-Node01 | AIFR-Node02 | AIFR-Node03 | AIFR-Node04 |
|:-------------------:|:--------------------:|:--------------------:|:-------------------:|:----------------------:|
| CPU | Intel i5-12500 6C12T | Intel i5-10500 6C12T | Intel i5-8100 4C4T | Intel i9-13900K 24C32T |
| GPU | RTX 3090 24G | RTX 3090 24G | RTX 3080 10G | RTX 4090 24G |
| RAM | DDR4 3200MHz 8G x 2 | DDR4 2400MHz 8G x 2 | DDR4 2400MHz 8G x 2 | DDR5 4800MHz 16G x 2 |
| 硬碟 | 500G SSD + 2TB HDD | 500G SSD + 2TB HDD | | 1TB SSD + 4TB HDD |
| 內部IP | 10.0.0.1 | 10.0.0.2 | 10.0.0.3 | 10.0.0.4 |
| 外部IP | 140.114.80.46 | 140.114.80.195 | 140.114.80.196 | 140.114.80.194 |
-->
<!-- ## AIFR-Nodes
> 已註冊帳號:`jamiechang917`, `henrywang`, `UNO-GPU-2000`, `ktchou`, `chitingho`, `ray`. `yfhou`, `yining_juan` (Node01, Node04)
> 已註冊帳號:`jamiechang917`, `aifr`, `chiaujou`, `czsu`, `G10916009`, `owo`, `oxo`, `vivian212332`, `WayneHsu`, `yfhou`, `yining_juan`, `zm_Chen` (Node02)
> Node01 常用帳號: `henrywang` (王竑勛), `yining_juan` (阮羿寧) , `andrewchen` (陳致寧)
> Node02 常用帳號: `WayneHsu` (徐偉晉),
> Node03 常用帳號: `ming` (Richard), `yining_huan` (阮羿寧), `yfhou` (yifan)
> Node04 常用帳號: `ming` (Richard)(CAE ?), `yining_huan` (阮羿寧)(LLM ?) -->