HPC NTCU

@hpc-ntcu

Public team

Joined on Aug 14, 2023

  • 官網 https://www.hpcadvisorycouncil.com/events/2025/APAC-AI-HPC/ 時程 正式開始報名: 3/11 (SCAsia2025 新加坡 14:00~18:00) 確認隊伍名單: 5/23 公布訓練計畫: 5/30 賽前教育訓練: 6/9 起 存取競賽機器: 8/4 起 成果簡報繳交: 10/10 截止
     Like  Bookmark
  • 官網 2025: https://event1.nchc.org.tw/2025/hipac/index.html 分組&分工狀況 養老院 教練: 隊長: 白兔 (qiskit + HPL + Infra)光頭哥哥qiskit HPL Ricky
     Like  Bookmark
  • 研究步驟: 搞懂 Grover演算法看程式碼 OpenMP 要搞熟 https://qiskit.github.io/qiskit-aer/stubs/qiskit_aer.AerSimulator.html https://qiskit.github.io/qiskit-aer/stubs/qiskit_aer.QasmSimulator.html 了解 Qiskit的AER套件
     Like  Bookmark
  • CPU: 13th Gen Intel(R) Core(TM) i9-13900KF GPU: RTX3090 x 2(without nvlink) RAM: 128GB OS: Ubuntu 22.04 CUDA: 11.8 Nvidia driver: 535.183.01 目前只有測試單節點 1. Install OpenMPI 4.1.2 sudo apt install build-essential gfortran wget -y
     Like  Bookmark
  • 依賴 ​​​​sudo apt install build-essential hwloc libhwloc-dev libevent-dev gfortran 編譯 OpenBLAS $ git clone https://github.com/xianyi/OpenBLAS.git $ cd OpenBLAS $ git checkout v0.3.21 $ make $ make PREFIX=$HOME/opt/OpenBLAS install ::: warning make不了
     Like  Bookmark
  • 環境:RTX3060 ubuntu24.04 memory4GB 2cores 要關上 Nouveau 驅動 安裝nvidia驅動 先安裝gcc和build-essential 查詢推薦的driver ubuntu-drivers devices
     Like  Bookmark
  • https://github.com/RyaxTech/ansible-hpc-cluster --- - name: Deploy Slurm Cluster hosts: all become: yes vars: control_node: hpc1 compute_nodes: hpc2 slurm_version: 23.11.4
     Like  Bookmark
  • OpenMP :::info TODO 了解 OpenMP 的用途、怎麼寫、怎麼編譯 OMP 有很多 run-time 的環境變數可以調教改變 thread 開啟的數量和行為 例如 CPU binding OMP 參數如何影響應用程式的運行
     Like  Bookmark
  • 基本設置 免密碼登入 在 vscode 的 ssh remote 新增兩台 ib 節點的連線 到 ~/.ssh/config 將 Host 分別修改成 hpc-ib-n1 與 hpc-ib-n2 Host hpc-ib-n1 HostName xxx.xx.xx.xxx User ntcucshpc Port 22054
     Like  Bookmark
  • InfiniBand 是用於高效能計算的網路通訊標準,並且支援 RDMA (Remote Direct Memory Access) 技術,具有極高的頻寬與極低的延遲,用於高速資料傳輸。可以透過鏈路聚合提升 throughput。 IB cable ConnectX-7 image FDR-10 4X -> 40 Gbps
     Like  Bookmark
  • :::warning 超重要!!!!!! 國網的賽前說明 一定要去聽!!!!!!!! 由於我們的主機效能沒那麼好,因此調校的效果可能不會這麼明顯 不管是練習還是比賽,調校時記得紀錄參數的內容以及結果,方便繪製成圖表 ::: <a style="color:red" >紅字是我去年(2024)沒做到的但今年想試試的</a> 了解APP的用途以及背景例: NAMD為分子動力模擬學,可以用於病毒模擬分析通常HiPAC出的題目都是國網做過的研究,可以從國網相關的搜尋一些資訊
     Like  Bookmark
  • MPI Cluster 架構 在一個 Cluster 中會有多台機器(電腦),稱為 node一個 node 當作 Manager (Master)分配運算工作給 nodes 多個 nodes 當作 Woker (Slave) 執行 manager 分配的運算工作 Nodes 間使用網路溝通,為了方便操作,通常會將每個 nodes 設定靜態 IP OpenMPI 依賴兩種服務進行溝通
     Like  Bookmark
  • 簡介 一種讓使用者可以動態管理環境變數的工具。 避免環境變數衝突。 方便不同軟體版本共存(如 Python 3.8 / 3.9)。 安裝與設定 安裝 sudo apt install environment-modules 啟用 modules source /etc/profile.d/modules.sh
     Like  Bookmark
  • Issue Build Cluster NFS 或其他共享的檔案系統(千千萬萬要掛home pgm: 應該是 NIS 的問題吧 不是 home平行檔案系統 iscsi env modules 環境變數管理 Slurm
     Like  Bookmark
  • Message Passing Interface (MPI) 跨語言的 平行程式 API 標準,常用在 HPC 領域的程式開發通常支援直接 C/C++ 及 Fortran 透過擴充的 library 也可以在 Java、Python 等語言執行 定義 processes 之間的的 通訊介面/協定 高階的訊息傳遞 API,比 POSIX 原生的 IPC 更容易使用 同時有極高的效率以及移植性 MPI 可以透過各類型的網路(TCP、IB)做 跨 nodes 的溝通
     Like  Bookmark
  • 關於 PIC 軟體 PIC 的功能,是模擬一個空間中的粒子運動,並藉此計算出電場、磁場或是輻射 模擬的整個空間大小,稱為 domain 一個 domain 會被切成多個網格 (grid) PIC 做的事情就是計算每個網格中的粒子分布情況 每一次更新網格,叫做一個 step;一個 step 代表一小段物理時間(e.g., 10ns) 對於相同內容的模擬,每一個 step 做的運算是相同的但根據國展老師的經驗,因為 domain 中的粒子總數可能會變化,所以有可能隨著模擬的 step 越多 (粒子總量越多),計算量越大 賽後經驗: 也可能隨著模擬時間、粒子密度的分布也有所變化,導致不同方向所需的計算資源(GPU 數量)有變化
     Like  Bookmark
  • 以 UEFI + GPT 開機,systemd 為 init system 為例 除了 PVE 的設定外,幾乎都是參考官方手冊,照著手冊做應該不太有問題Gentoo AMD64 Handbook 注意: 因為官方的手冊是 wiki 的格式,我發現前幾天有被人改過而且內容感覺是錯的 現在已經修正回來了,暫時可以安心服用 不過建議在貼上指令前多看兩眼 建立 VM OSISO image 選擇 install-amd64-minial
     Like  Bookmark
  • d for daemon systemd也是一種init系統,所謂的init系統就是kernel啟動以後,會執行的pid 1號程式 OS啟動後需要啟動很多服務,最後才能進入可提供服務的狀態 如何知道有哪些服務?How to List/Enable/Disable/Start/Stop/Restart/Reload 我們想確認一個服務是否正常查詢服務的log 假設我自己想架一個簡單的網站,如何寫一個服務設定檔,在開機時自動啟動。假設啟動HTTP伺服器需要等網路連上線,我該怎麼寫相依性 如何使用systemctl 關機/重新開機 systemd裡面那麼多的Target有什麼用?他們跟以前的runlevel有什麼關係,什麼是runlevel
     Like  Bookmark
  • OpenMPI 參考: https://docs.open-mpi.org/en/v5.0.x/installing-open-mpi/quickstart.html 0. 軟體需求 需先安裝以下套件 支援 C99 以上的 C/C++ 編譯器GCC、Clang 或 Intel C++ Compiler 安裝 GCC​​​​sudo apt install build-essential 若需要支援 fortran,需要安裝 gfortran​​​​sudo apt install gfortran
     Like  Bookmark
  • 檔案系統: XFS or BTRFS I/O排程器: 改成deadline或noopecho deadline > /sys/block/sda/queue/scheduler 或是 GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet elevator=noop" https://shape.host/resources/kernel-configuration-for-high-performance-computing-on-linux 電源管理 GRUB_CMDLINE_LINUX="intel_idle.max_cstate=0 processor.max_cstate=0"
     Like  Bookmark