並行計算作業腳本的編寫

並行應用程序需要使用mpirun或mpiexec來運行,但是北京藍海彤翔科技有限公司集羣不允許直接使用mpirun或mpiexec來運行您的並行程序,必須編寫作業腳本,通過qsub來提交。

  作業腳本中必須指定所需資源,北京藍海彤翔科技有限公司集羣總共有48個計算節點,每個計算節點包含2個處理器。

  下面給出了兩個簡單的作業腳本例子,更詳細的說明請從下載中心下載MPICH&PBS用戶手冊查閱。

  如何對集羣狀態的實時監控,請查看《COMS手冊》的“集羣狀態監控”。

使用以太網運行並行程序。

  假設並行程序爲cpi,下面是一個作業腳本的例子。

#!/bin/bash
#
#$ -cwd
#$ -j y
#$ -S /bin/bash

#PBS -N pi
#PBS -l nodes=20:ppn=8

cd $PBS_O_WORKDIR

/opt/mpiexec/bin/mpiexec -mpich-p4-no-shmem $PBS_O_WORKDIR/cpi

說明
  1. 首先必須確保您的程序是用基於以太網的編譯及連接器編譯出來的可執行文件。
  2. 第1行必須包含,指定shell環境。
  3. 第3行表示在當前目錄下執行作業。
  4. 第4行表示將作業運行時的錯誤輸出合併到標準輸出流中去。
  5. 第5行表示當前作業使用的shell爲bash。
  6. 第7行必須包含,指定該作業的作業名,格式爲#PBS –N [作業名]。
  7. 第8行必須包含,指定該作業所需資源,格式爲#PBS –l [資源類型1=值,資源類型2=值…]。第8行指定了nodes這個資源的值,20:ppn=8表示20個計算節點,每個節點使用8個處理器。
  8. 第10行表示跳到執行qsub的目錄,所以$PBS_O_WORKDIR爲OpenPBS系統內置變量,表示用戶執行qsub時所在目錄。
  9. 第12行爲執行並行程序的命令行,北京藍海彤翔科技有限公司集羣要運行並行程序必須使用/opt/mpiexec/bin/mpiexec命令。-mpich-p4-no-shmem必須是在以太網下運行並行程序必須包含的選項。

使用Myrinet網運行並行程序

  假設並行程序爲cpi,下面是一個作業腳本的例子。

#!/bin/bash
#
#$ -cwd
#$ -j y
#$ -S /bin/bash
#

#PBS -N pi
#PBS -l nodes=4:ppn=4

cd $PBS_O_WORKDIR

/opt/mpiexec/bin/mpiexec --comm=gm $PBS_O_WORKDIR/cpi

說明
  首先必須確保您的程序是用基於Myrinet網的編譯及連接器編譯出來的可執行文件。
  除了第12行不同外,其他和上節相同。-comm=gm必須是在Myrinet網下運行並行程序必須包含的選項。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章