SLURM 計算服務

Slurm 系統簡介

NSTCCore 服務採用開源軟體 Slurm (Simple Linux Utility for Resource Management) 作為工作排程系統,用於管理高效能運算(HPC)叢集的計算資源。

點擊展開詳細內容

Slurm 系統架構主要由三部分組成:

  1. Controller Daemon (slurmctld): 負責整個叢集的資源管理與工作排程
  2. Compute Node Daemon (slurmd): 負責接收並執行排程系統分配的工作。
  3. Client Commands: 提供使用者操作Slurm的指令工具,例如:sbatchsinfosqueue等等。

於NSTCCore服務中,系統架構包含:

  • 兩台 Controller Daemon 作為高可用性(High Availability)
  • 約 46 台計算節點(Compute Node/ Worker Node)提供運算資源
  • 4台登入節點(Login Nodes/ User Interface Nodes)提供使用者操作

使用者無法直接登入計算節點執行程式,而需透過登入節點使用Slurm提交工作,排程系統會依據可用資源,將工作分配至適當的計算節點執行。

登入說明

點擊展開詳細內容

✧ 前置作業

    1. 申請帳號與 2FA 設定

      • 請至網站申請使用者帳號
      • 帳號申請完成後,請依照系統指示設定Two-Factor Authentication (2FA),並取得對應的 QR-code
      • 請確保行動裝置已完成 2FA 設定,否則將無法登入系統
    2. 安裝 SSH Client

      • 使用者需具備 SSH 連線工具
        • Windows 用戶可以安裝putty, MobaXterm 等工具
        • macOS 和 Linux 用戶可以使用系統內建的terminal
      • 若需要在登入節點執行GUI軟體,需啟動 X11 Forwarding
        • Windows 用戶可以安裝Xming
        • MacOS 用戶可以安裝 XQuartz

✧ 使用者空間

    使用者可使用存儲空間分為兩種:

    • 家目錄(Home Space)/dicos_ui_home/<DiCOS account>

      • 此為使用者登入後的預設目錄
      • 此空間為暫存性空間,重要資料請務必備份至群組空間或下載至本地端保存。
    • 群組空間(Group Space)/ceph/work/<Your Group Name>

      • 此空間為同一群組的成員共享使用。

    詳細說明請參考 資料管理

✧ 透過Secure Shell (ssh)連線登入使用者介面(登入節點)

    • 請使用以下指令連線至使用者介面:
    • ssh -XY <DiCOS account>@slurm-ui.twgrid.org

      參數說明:

      • -X/-Y : 啟用X11 Forwarding
    • 首次連線時,系統可能會詢問是否信任主機金鑰,請輸入 yes 繼續。

    • 登入時需完成二階段認證,操作說明請參考二階段認證設定指南

    • 使用者介面 (User Interface Nodes)

      User Interfaces Nodes OS Purpose Note
      slurm-ui.twgrid.org Almalinux 9 Job submission, File download/upload General portal, DNS Round Robin for load balance among slurm-ui01, slurm-ui02 and slurm-ui03.
      slurm-ui-asiop.twgrid.org Almalinux 9 Job submission, File download/upload Dedicated for AS-IOP users, online in 2022/09/19
      ⚠ 注意事項:
      1. 登入節點僅作為提交工作、編輯程式、監控任務狀態、傳輸資料之用途, 請勿在登入節點上執行長時間或高負載的運算工作。 若發現此類行為,系統管理員有權在未事先通知的情況下終止相關程序。
      2. 登入後,預設會進入使用者的家目錄(Home Space) /dicos_ui_home/<DiCOS account>
      3. 請使用群組空間(Group Space)作為主要工作環境, 包含程式安裝、資料處理等。
      4. 登入後請留意系統顯示的公告與相關使用注意事項。

Slurm 操作說明

✧ Slurm 基本概念

常見名詞
常用指令
常見節點狀態
常見工作狀態
常見排隊等待原因
名詞 說明
節點(Node) 提供計算資源的伺服器
佇列(Partition) 將節點依用途或資源類型劃分的資源集合
工作(Job) 使用者提交至 Slurm 系統執行的計算任務
指令 說明
sacct 顯示正在執行或已完成工作的資訊
salloc 申請互動式工作資源
sbatch 提交批次工作
scancel 取消工作
scontrol 檢視和修改配置與狀態
sinfo 顯示節點與佇列狀態
sprio 顯示工作的優先權細項
squeue 顯示工作排隊狀態
srun 直接提交並執行工作指令
狀態 說明
idle 閒置可用
alloc 已被完全分配
mix 部分資源已被使用
down 不可使用
drain 停止接收新工作
comp 正在釋放資源
unknown 無法辨識狀態
狀態 說明
PENDING 等待排程中
RUNNING 執行中
COMPLETED 正常完成
FAILED 執行失敗
CANCELLED 已被取消
TIMEOUT 超過時間限制
NODE_FAIL 節點故障
OUT_OF_MEMORY 記憶體不足
狀態 說明
Priority 有其他優先權更高的工作正在等待或執行中
Resources 目前沒有足夠的可用資源
Dependency 工作相依的前置工作尚未完成
ReqNodeNotAvail 工作所需節點目前無法使用,或已保留給較高優先權佇列的工作使用
PartitionTimeLimit 申請的執行時間超過佇列允許的上限

✧ 資源介紹

機器列表
Partition 列表
載入中...
載入中...
說明:
  • 系統預設每個CPU核心配置6000 MB記憶體。若工作需要更多的記憶體資源,可於提交工作時自行指定。
  • Quality of Service, QoS
    • MaxTRES (Maximum Trackable Resources):允許申請的最大資源量。
    • MinTRES (Minimum Trackable Resources):提交工作時所需滿足的最小資源需求。

✧ Slurm 指令介紹

以下範例假設使用者已登入slurm-ui.twgrid.org

sinfo
salloc
sbatch
sacct
squeue
scancel
查看節點和佇列狀態 sinfo
sinfo 
PARTITION                    AVAIL  TIMELIMIT  NODES  STATE NODELIST
bigmemory_hdr1                  up 14-00:00:0      2    mix hpa-wn[01,03]
edr1-al9_short*                 up    3:00:00     12    mix hpa-wn[05-11,13-14,20-21,23]
edr1-al9_short*                 up    3:00:00      8  alloc hpa-wn[12,15-19,22,24]
...
b6000-al9_long                  up 7-00:00:00      1    mix hp-rtx6kp01 
說明:
  • PARTITION:佇列名稱
  • AVAIL:佇列是否可用(up 表示可用)
  • TIMELIMIT:工作可執行的最大時間
  • NODES:該佇列中的節點數量
  • STATE:節點目前狀態
  • NODELIST:節點名稱列表
  • 帶有 * 的佇列為預設佇列。

其他用法

  • 以節點為主查看狀態

     sinfo -N
    NODELIST     NODES                    PARTITION STATE 
    hp-rtx6kp01      1              b6000-al9_short mix   
    hp-rtx6kp01      1               b6000-al9_long mix   
    hp-rtx6kp01      1                    b6000-al9 mix
    ...
  • 查看各佇列的節點與CPU使用情況

     sinfo -o "%.30P %.5a %.6D %.15A %.16C"
                PARTITION AVAIL  NODES      NODES(A/I)    CPUS(A/I/O/T)
           bigmemory_hdr1    up      2             2/0      256/0/0/256
                   global    up     29            23/6 4185/1383/0/5568
          edr1-al9_short*    up     20            20/0   3798/42/0/3840
    edr1-al9_short_serial    up     20            20/0   3798/42/0/3840
                ...
  • 查看節點CPU和GPU使用情況

     sinfo -O NodeHost:15,CPUsState:20,Gres:10,GresUsed
    HOSTNAMES      CPUS(A/I/O/T)       GRES      GRES_USED
    hp-rtx6kp02    24/40/0/64          gpu:8     gpu:2
    hpa-wn01       0/128/0/128         (null)    (null)
    hpa-wn03       0/128/0/128         (null)    (null)
    hpa-wn05       180/12/0/192        (null)    (null)
    hpa-wn07       132/60/0/192        (null)    (null)
    ...
互動式提交作業 salloc

互動式作業通常是用於程式測試、除錯及編譯或需要即時操作的工作情境。
  • 申請資源
    • GPU
       salloc --partition=<partition name> --gres=gpu:<# of boards>
    • CPU
      salloc --partition=<partition name> --ntasks=<number> --tasks-per-node=<number> --cpus-per-task=<number>
  • 實際範例:
    $ salloc --partition=edr1-al9_short --ntasks=1 --tasks-per-node=1 --cpus-per-task=1
    salloc: Granted job allocation 3429295
    $ srun hostname
    hpa-wn07.twgrid.org
    $ exit
    exit
    salloc: Relinquishing job allocation 3429295
    salloc: Job allocation 3429295 has been revoked.

    成功申請資源後,系統會回傳Job ID,並取得互動式資源配置。此時可透過srun在已分配到的節點上執行指令,其效果等同於直接於該節點進行操作。使用完畢後,輸入exit即可離開互動式環境,並釋放資源。

提交批次作業 sbatch

建議使用腳本方式提交作業,因此需先建立作業腳本。

  • 腳本 job.sh範例

  • #!/bin/bash
    #SBATCH --job-name=hello_world                # Job name
    #SBATCH --partition=intel-g4-al9_short        # Partition name
    #SBATCH --nodes=1                             # Number of nodes
    #SBATCH --ntasks-per-node=1                   # Number of tasks per node
    #SBATCH --cpus-per-task=1                     # Number of CPUs per task
    #SBATCH --mem=1G                              # Maximum memory 
    #SBATCH --output=%j.out                       # Standard output file (%j: Job ID)
    #SBATCH --error=%j.err                        # Standard error file (%j: Job ID)
    #SBATCH --time=00-01:00:00                    # Time limit
    #SBATCH --mail-type=ALL                       # Email notifications = BEGIN, END, FAIL, ALL
    #SBATCH --mail-user=<your email>              # Email address to send notifications
    
    date
    echo "Hello DiCOS Users!"
    echo "Hello World!"
    hostname 
    說明:
    腳本主要分為兩個部分:
    1. Slurm 指令區 (#SBATCH) : 用於定義資源需求與作業參數
    2. 執行區 (command section) : 使用者實際執行的程式
    參數說明:
    • --job-name : 工作名稱
    • --partition: 指定提交作業的佇列
    • --nodes: 使用的節點數量
    • --ntasks-per-node: 每個節點上要執行的任務數量
    • --cpus-per-task: 每個任務使用的CPU核心數量
    • --gres=gpu:<number of boards> : 指定GPU資源數量
    • --mem: 工作的記憶體總量
    • --output : 標準輸出檔案
    • --error : 標準錯誤輸出檔案
    • --time=<Days-Hours:Minutes:Seconds>: 工作最大執行時間
    • --mail-type: 寄送通知信件的條件,可設定為NONE,BEGIN, END, FAIL, ALL
    • --mail-user: 接收通知的電子郵件,請務必填寫完整有效的電子郵件,否則通知信件將無法成功寄送。
  • 提交作業

  • sbatch job.sh

    提交後,系統會回傳 JOB ID,後續可以根據此Job ID追蹤工作狀態。

    Submitted batch job 812234

    執行完工作後,會在腳本中指定的標準輸出檔案中看到輸出結果

    Tue May 26 02:53:28 UTC 2026
    Hello DiCOS Users!
    Hello World!
    hpi-wn01.twgrid.org
查看提交的作業 sacct

顯示過去24小時內工作清單

sacct
JobID           JobName  Partition    Account  AllocCPUS      State ExitCode
------------ ---------- ---------- ---------- ---------- ---------- --------
812234       helloworld edr1-al9_+       asgc          1  COMPLETED      0:0
812234.batch      batch                  asgc          1  COMPLETED      0:0
812234.0           echo                  asgc          1  COMPLETED      0:0
說明:
  • JobID:工作 ID
  • JobName:工作名稱
  • Partition:工作所使用的佇列
  • Account:使用者的群組
  • AllocCPUS:配置的 CPU 核心數量
  • State:工作狀態
  • ExitCode:程式結束代碼

其他用法

  • 查看特定工作狀態
    sacct -j <JOB ID>
    JobID           JobName  Partition    Account  AllocCPUS      State ExitCode
    ------------ ---------- ---------- ---------- ---------- ---------- --------
    812234       helloworld edr1-al9_+       asgc          1  COMPLETED      0:0
    812234.batch      batch                  asgc          1  COMPLETED      0:0
    812234.0           echo                  asgc          1  COMPLETED      0:0
  • 指定時間區間,範例為過去7天的工作紀錄。
    sacct --starttime $(date -d "7 days ago" +%Y-%m-%d)
查看排隊資訊 squeue
squeue
     JOBID PARTITION      NAME  USER ST       TIME  NODES NODELIST(REASON)
   3503901 intel-g4-     job_a user1 PD       0:00      2 (Resources)
   3504615 intel-g4-     job_b user1 PD       0:00      1 (Priority)
   3504770 intel-g4-     job_c user1 PD       0:00      1 (Priority)
   3508093  a100-al9     job_d user3  R 3-03:26:14      1 hp-teslaa01
   3512280 intel-g4-     job_e user1 PD       0:00      1 (Priority)
   3526197  a100-al9     job_f user4  R 1-01:05:49      1 hp-teslaa01
   3526202  a100-al9     job_g user4  R 1-01:04:15      1 hp-teslaa03
3532468_15  a100-al9 array_job user2  R      19:12      1 hp-teslaa01
3532468_19  a100-al9 array_job user2  R      18:39      1 hp-teslaa03
      ...
說明:
  • JOBID : 工作 ID
  • PARTITION:佇列名稱
  • NAME:工作名稱
  • USER:使用者名稱
  • ST:工作狀態
  • TIME:工作已執行時間
  • NODE:使用的節點數量
  • NODELIST(REASON):工作執行所在節點名稱;若工作尚未開始執行,則顯示等待原因。

其他用法

  • 查看自己的工作狀態
    squeue -u <DiCOS account> 
刪除已提交作業 scancel
scancel <Job ID> 
  • 實際範例:
    $ sbatch job
    Submitted batch job 949585
    $ scancel 949585
    $ squeue -u user1
       JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)

✧ Slurm 其他用法

作業陣列
依賴性工作

適合用於重複執行大量相同程式但使用不同參數的的工作情境。使用者只需提交一次工作,即可建立多個子工作。

job.sh腳本中加入:

#SBATCH --array=<range> 
類型 指令 說明
指定連續index #SBATCH --array=0-10 表示建立11個子工作,
index為0,1,2,...,10
指定特定index #SBATCH --array=1,3,5,7 表示建立4個子工作,
index為1,3,5,7
指定區間和步長 #SBATCH --array=1-7:2 表示建立4個子工作,
index為1,3,5,7
限制同時執行數量:使用% #SBATCH --array=1-10%4 表示建立11個子工作,
index為1,2,...,10,最多同時執行4個
  • 實際範例:
  • 使用 stress 程式進行測試。先將不同的執行時間寫入 stress_args.txt,再於 job.sh 中利用環境變數${SLURM_ARRAY_TASK_ID} 取得對應的參數,讓每個 Job Array Task 執行不同秒數的工作。
    #!/bin/bash
    #SBATCH --job-name=array_job                  # Job name
    #SBATCH --partition=edr1-al9_short            # Partition name
    #SBATCH --nodes=1                             # Number of nodes
    #SBATCH --ntasks-per-node=1                   # Number of tasks per node
    #SBATCH --cpus-per-task=1                     # Number of CPUs per task
    #SBATCH --array=0-4                           # Array job
    #SBATCH --mem=1G                              # Maximum memory 
    #SBATCH --output=%A_%a.out                    # Standard output file (%j: Job ID, %A: Array Job ID, %a: Task ID ) 
    #SBATCH --error=%A_%a.err                     # Standard error file (%j: Job ID, %A: Array Job ID, %a: Task ID)
    #SBATCH --time=00-01:00:00                    # Time limit
    #SBATCH --mail-type=ALL                       # Email notifications = BEGIN, END, FAIL, ALL
    #SBATCH --mail-user=Dicos-Support@twgrid.org  # Email address to send notifications
    
    
    date
    hostname
    TASK_ID=${SLURM_ARRAY_TASK_ID}
    DURATION=$(sed -n "$((TASK_ID+1))p" stress_args.txt)
    echo "Array Job ID : $SLURM_ARRAY_JOB_ID”
    echo "Task ID      : $TASK_ID”
    echo "Stress Time  : ${DURATION}s”
    
    stress -c 1 -t ${DURATION}
    10
    20
    30
    40
    50

用來控制工作的執行順序,根據先前的工作執行狀態來決定是否開始啟動後續的工作,從而實現多個工作的流程化或批次順序執行。

觸發條件 類型(type) 說明
工作開始/取消 after:job_id[[+time][:jobid[+time]...]] 工作在指定工作開始或取消後,該工作即可執行。若加上+time,則該工作會以開始或取消的時間點起,延遲指定分鐘數才開始執行
工作完成 afterany:job_id[:jobid...] 此為預設類型,工作在指定工作終止後,無論成功或失敗,該工作皆開始執行
陣列工作成功 aftercorr:job_id[:jobid...] 用於工作陣列,陣列的任務在指定工作中的相應任務ID成功完成後開始執行。如果指定的工作不是陣列,則等同於afterok
工作失敗 afternotok:job_id[:jobid...] 工作在指定工作以失敗終止後,即開始執行
工作成功 afterok:job_id[:jobid...] 工作在指定工作成功執行後開始執行
  • 實際範例:
  • 工作成功後才執行下一個工作。以下以job1.shjob2.sh為例,示範如何使用afterok Dependency,使 job2.shjob1.sh 成功完成後才開始執行。提交作業時可搭配--parsable選項,使sbatch僅回傳工作ID,並將其儲存於Shell變數中,以供後續 Dependency 設定使用。

    #!/bin/bash
    #SBATCH --job-name=preprocess                 # Job name
    #SBATCH --partition=intel-g4-al9_short        # Partition name
    #SBATCH --nodes=1                             # Number of nodes
    #SBATCH --ntasks-per-node=1                   # Number of tasks per node
    #SBATCH --cpus-per-task=1                     # Number of CPUs per task
    #SBATCH --mem=1G                              # Maximum memory
    #SBATCH --output=%j.out                       # Standard output file (%j: Job ID)
    #SBATCH --error=%j.err                        # Standard error file (%j: Job ID)
    #SBATCH --time=00-01:00:00                    # Time limit
    #SBATCH --mail-type=ALL                       # Email notifications = BEGIN, END, FAIL, ALL
    #SBATCH --mail-user=Dicos-Support@twgrid.org  # Email address to send notifications
    
    echo "[$(date)] Start preprocessing"
    hostname
    sleep 30
    echo "[$(date)] Preprocessing finished" 
    #!/bin/bash
    #SBATCH --job-name=analysis                   # Job name
    #SBATCH --partition=intel-g4-al9_short        # Partition name
    #SBATCH --nodes=1                             # Number of nodes
    #SBATCH --ntasks-per-node=1                   # Number of tasks per node
    #SBATCH --cpus-per-task=1                     # Number of CPUs per task
    #SBATCH --mem=1G                              # Maximum memory
    #SBATCH --output=%j.out                       # Standard output file (%j: Job ID)
    #SBATCH --error=%j.err                        # Standard error file (%j: Job ID)
    #SBATCH --time=00-01:00:00                    # Time limit
    #SBATCH --mail-type=ALL                       # Email notifications = BEGIN, END, FAIL, ALL
    #SBATCH --mail-user=Dicos-Support@twgrid.org  # Email address to send notifications
    
    echo "[$(date)] Start analysis"
    hostname
    sleep 60
    echo "[$(date)] Preprocessing analysis" 
    #!/bin/bash
    
    # submit preprocessing job
    JOB1=$(sbatch --parsable job1.sh)
    echo "Preprocess Job ID = $JOB1"
    
    # submit analysis job (only runs if preprocess succeeds)
    JOB2=$(sbatch --parsable --dependency=afterok:$JOB1 job2.sh)
    echo "Analysis Job ID = $JOB2"
                    

Module 工具簡介

NSTCCore 服務的登入節點及計算節點皆已安裝Module環境,用於集中管理軟體環境。使用者可以依需求快速切換不同版本的編譯器、函式庫及應用軟體。

✧ Module 基本概念

常用指令
軟體/工具列表
指令 說明
module avail 列出可以使用的模組
module list 列出已經載入的模組
module load <package> 載入模組
module unload <package> 卸載模組
module purge 移除所有載入的模組

目前提供的軟體模組可分為以下類別:

類型 軟體/工具名稱
開發與編譯 GCC、AOCC、Intel Compiler、CMake、基礎開發工具
程式語言 Python/Anaconda、R、Julia、Go
GPU 運算環境 CUDA Toolkit、NVHPC
MPI 平行計算 OpenMPI、MPICH、Intel MPI
基礎函式庫 Intel MKL、Intel TBB、AMD AOCL、LAPACK、HDF5
科學計算與工具 GROMACS、Relion、生物相關(samtools等)、ROOT、Mumax3、Singularity、Paraview

若您有任何軟體需求,請聯絡DiCOS-Support@twgrid.org

✧ Module 指令介紹

以下範例假設使用者已登入slurm-ui.twgrid.org

module avail
module list
module load
module unload
module purge
列出可以使用的模組
module avail 
----------------------------------------------------- /ceph/sharedfs/apps/general/almalinux9/modulefiles ------------------------------------------------------
   R/4.2.1                    gcc/11.5.0                             htslib/1.21                                   nvhpc-hpcx/25.1   (D)
   R/4.4.0                    gcc/13.1.0                      (D)    julia/1.11.5                                  nvhpc-nompi/25.1  (D)
   R/4.4.1             (D)    gromacs/2021.swaxs-0.1/gpu-mpi         julia/1.11.6                           (D)    nvhpc/25.1        (D)
   anaconda3/2024.10-1 (D)    gromacs/2022.swaxs-0.1/a100-gpu        lapack/v3.12.1                                python3/3.9.23
   ...
列出已經載入的模組
module list
  Currently Loaded Modules:
  1) gcc/13.1.0
載入模組
module load <package>
$ module load cuda/13.1.0
$ module list

Currently Loaded Modules:
  1) cuda/13.1.0
卸載模組
module unload <package>
$ module unload cuda/13.1.0
$ module list
No modules loaded
移除所有載入的模組
module purge
$ module load cuda/13.1.0 mpi/openmpi-5.0.5/cuda-12.4/gcc-13.1.0 
$ module list

Currently Loaded Modules:
  1) cuda/12.4.0   2) gcc/13.1.0   3) mpi/openmpi-5.0.5/cuda-12.4/gcc-13.1.0
$ module purge
$ module list
No modules loaded
    

✧ Module 實際應用

Anaconda/ Python
編譯

對於使用Python進行程式開發、資料分析、科學計算的使用者而言,Anaconda提供完整的開發環境與套件管理工具,能夠簡化套件安裝流程、降低版本衝突問題,並透過虛擬環境功能管理不同專案所需的軟體配置,提升開發與研究工作的效率。

module load anaconda3
  • Conda 指令
  • 指令 說明
    conda config --add envs_dirs <new environment directory path> 設定個人Conda 環境儲存位置
    conda create --name <environment name> python=<python version> 建立虛擬環境
    conda env list 查看虛擬環境
    conda activate <environment name> 啟動虛擬環境
    conda deactivate 退出虛擬環境
  • 實際範例
  • $ conda config --add envs_dirs /ceph/work/ASGC/yiruchen0101/conda_envs/
    $ conda create -n py311 python=3.11
    Retrieving notices: ...working... done
    Channels:
     - defaults
    Platform: linux-64
    Collecting package metadata (repodata.json): done
    Solving environment: done
    
    ## Package Plan ##
    
      environment location: /ceph/work/ASGC/yiruchen0101/conda_envs/py311
    
      added / updated specs:
        - python=3.11
    
    
    The following packages will be downloaded:
    
        package                    |            build
        ---------------------------|-----------------
        _openmp_mutex-5.1          |           52_gnu           7 KB
        libgcc-15.2.0              |       h69a1729_8         803 KB
        libgcc-ng-15.2.0           |       h166f726_8          28 KB
        libstdcxx-15.2.0           |       h39759b7_8         3.7 MB
        ------------------------------------------------------------
                                               Total:         4.5 MB
    
    The following NEW packages will be INSTALLED:
    
      _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main 
      _openmp_mutex      pkgs/main/linux-64::_openmp_mutex-5.1-52_gnu 
      bzip2              pkgs/main/linux-64::bzip2-1.0.8-h5eee18b_6 
      ca-certificates    pkgs/main/linux-64::ca-certificates-2026.3.19-h06a4308_0 
      ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.44-h9e0c5a2_3 
      libexpat           pkgs/main/linux-64::libexpat-2.8.0-h7354ed3_0 
      libffi             pkgs/main/linux-64::libffi-3.4.8-hc5d346e_2 
      libgcc             pkgs/main/linux-64::libgcc-15.2.0-h69a1729_8 
      libgcc-ng          pkgs/main/linux-64::libgcc-ng-15.2.0-h166f726_8 
      libnsl             pkgs/main/linux-64::libnsl-2.0.0-h5eee18b_0 
    ...
    
    Proceed ([y]/n)? y
    
    Downloading and Extracting Packages:
    
    Preparing transaction: done
    Verifying transaction: done                           
    Executing transaction: done                           
    ##### To activate this environment, use
         $ conda activate py311
    ##### To deactivate an active environment, use
         $ conda deactivate
    $ conda env list
    base                     /ceph/sharedfs/software/compiler/anaconda/almalinxu9/x86_el9
    py311                    /ceph/work/ASGC/yiruchen0101/conda_envs/py311

由於本服務同時提供AMD和Intel架構的計算節點,建議使用者在編譯程式時,先進入slurm的互動式環境,並選擇與預計執行程式相同CPU架構的partition,使用srun在配置的節點中進行編譯,以確保編譯結果與執行環境相容,並獲得最佳效能。

  • 進入slurm的互動式環境
    salloc -—partition=(edr1-al9_short / intel-g4-al9_short) --ntasks=1 --tasks-per-node=1 
  • 選擇適合的編譯器環境
    • AMD AOCC compiler
      module load aocc
    • Intel compiler
      module load icc
    • GNU Compiler Collection
      module load gcc
    • NVIDIA HPC SDK
      module load nvhpc

最後更新: 2026年6月

📬 聯絡我們
Email:DiCOS-Support@twgrid.org
電話:02-2789-8313(週一至週五 09:00–17:00)