# HiPAC 2025
## 官網
- 2025: https://event1.nchc.org.tw/2025/hipac/index.html
## 分組&分工狀況
### 養老院
- 教練:
- 隊長: 白兔 (qiskit + HPL + Infra)
- 光頭哥哥
- qiskit
- HPL
- Ricky
- infra、黑魔法(x
- 宇衡
- qiskit
- 紹霆
- LAMMPS
- 逸暉
- LAMMPS
### 四加一
- 教練:
- 隊長: pgm
| member | sys | lib | bench | 量子 | LAMMPS |
|:------:|:---:|:---:|:-----:|:----:|:------:|
| pgm | v | v | v | | |
| chieni | v | v | v | | |
| JHTNT | v | v | | | |
| k7 | v | v | | | |
| 健瑋 | v | v | | | |
| 泳碩 | | | v | | |
### 工作建議 by PJ
APP 組
- APP 編譯的優化參數
- APP 本身的參數調校、其他的 run-time 調校
- 還是要知道 APP 用到的 library 怎麼裝
- 但 library 優化由 lib 組負責
- 請將所有需要用到的 library 整理出來
- 賽前準備好安裝腳本、以及運行腳本
lib 組
- 負責所有 library 的安裝流程
- library 編譯優化、run-time 參數調校
- 規劃 library 的 dependency (安裝順序)
- 請和 APP 組合作、整理出所有需要的 lib 並開始優化研究
- 製作 module file
- 賽前準備好安裝腳本、最好還能有簡單的測試腳本
sys 組
- 叢集系統規劃、安裝、系統參數調校
- 安裝必要的 tool, driver, kernel module, ...
- 規劃目錄結構、檔案系統、網路設定、job 結果上傳機制
- kernel 參數調整、FS/NFS 優化、系統監測
- 系統安裝、設定腳本
## 賽前 Check List
### 裝系統
- NV & IB Driver
- CUDA
- OneAPI MKL
- apt install ... (事先寫腳本)
- 網路設定、NFS...
> 如果你有 apt upgrade, 那先 reboot 再裝 driver
https://medium.com/@yt.chen/nvidia-smi-%E9%80%A3%E4%B8%8D%E5%88%B0-driver-%E7%9A%84%E8%87%AA%E6%95%91%E6%96%B9%E6%B3%95-69cbed16171d
> 教育訓練記得問 能不能用 ipoib, 以及是否每組都有自己的 ip 區段
:::success
看怎麼做自動 job 結果上傳
:::
### Lib
編譯的 flag 先寫在腳本上
- MPI 編譯
- 其他可能用到的 lib 編譯
- modulefile, 環境變數設定腳本
### APP
- APP 編譯的腳本 (包含優化 flag)
- APP 執行的腳本 (sbatch 腳本)
## 準備事項與時程
- 2/26
- 競賽消息
- 後續時程
- 去年檢討
- 3/5
- 去年檢討與工作內容介紹 (每人 5~10min)
- 3/12
- modulefile (建壹)
- 新生提問和分享(每人 5min)
- 台灣杉使用說明(PJ)
- 3/19
- PyTorch分散式訓練
- 3/26
- InfiniBand、OFED
- 4/9
- Compile-Time, Run-Time Optimization
- 4/23
- 確定各組分工、隊長
- pgm 分享 FS 或 LDAP
- 4/30
- 5/7
- GPU Architecture, Programming & Optimization (PJ)
- 5/14
- 量子計算
- 5/21
- 計劃書在這天之前給國展老師審第一次
## 認領區
### 老人應該已經會的
- gcc/g++ (尤其是 lib/include path, 優化參數)
- make, cmake, config
- 環境變數: PATH, LD_LIBRARY_PATH, LIBRARY_PATH, CPATH...
### 系統建置
- Raid/Ram Disk
- File System, IO Truning, NFS Truning
- NIS/LDAP (或其他解決 NFS 環境中權限問題的方法) :heavy_check_mark:
- InfiniBand Tuning
- Monitoring
- Result Upload Servie
- 可以寫一個 http 服務開在公網 (GCP、AWS 或 TWCC VM)
- Job 結束自動上傳結果,節省拉資料的時間
### MPI/Library
- MPI over Native IB
- OpenMPI Runtime Truning
- MKL Runtime Truning
- OpenMP Runtime Truning
### 考古題
### AI
- GPT/LLama/Gemma fine truning
- Bionemo fine truning/inference
- LoRA 訓練
### HPC APP
- LAMMPS: 分子動力學模擬
- GROMACS: 生醫類型分子動力學軟體
- SPECFEM3D_GLOBE: 地震模擬
- The Einstein Toolkit: 天體、重力模擬
- OpenFOAM: 流體力學