在 Azure 中的 Linux RDMA 叢集以 Microsoft HPC Pack 執行 OpenFoam

07/22/2016

本文內容

重要

傳統 Vm 將于2023年3月1日淘汰。

如果您使用 ASM 的 IaaS 資源,請在2023年3月1日前完成遷移。 我們鼓勵您更快切換,以利用 Azure Resource Manager 中的許多功能增強功能。

本文說明一個在 Azure 虛擬機器中執行 OpenFoam 的方式。 在這裡,您將在 Azure 上部署一個具有 Linux 計算節點的 Microsoft HPC Pack 叢集,並使用 Intel MPI 來執行 OpenFoam 作業。 您可以使用支援 RDMA 的 Azure VM 作為計算節點,讓計算節點能夠透過 Azure RDMA 網路進行通訊。 其他在 Azure 中執行 OpenFoam 的選項還包括 Marketplace 中所提供已完整設定的市售映像 (例如 UberCloud 的 OpenFoam 2.3 on CentOS 6),以及藉由在 Azure Batch 上執行。

注意

Azure 針對建立和使用資源方面,有二種不同的的部署模型:Resource Manager 和傳統。 本文將說明如何使用這兩個模型,但 Microsoft 建議大多數新的部署請使用 Resource Manager 模型。

OpenFOAM (代表 Open Field Operation and Manipulation) 是一個開放原始碼計算流體力學 (CFD) 軟體套件,廣泛運用在商業和學術組織的工程及科學領域中。 其中包含網格處理工具,特別是 snappyHexMesh,這是一種用於複雜 CAD 幾何的前置和後置處理的平行化網格處理器。 幾乎所有的程序皆以平行方式執行,讓使用者能夠依其需求充分利用電腦硬體。

Microsoft HPC Pack 提供可在 Microsoft Azure 虛擬機器叢集上執行大規模 HPC 和平行應用程式 (包括的 MPI 應用程式) 的功能。 HPC Pack 也支援在 HPC Pack 叢集中部署的 Linux 計算節點 VM 上,執行 Linux HPC 應用程式。 如需搭配 HPC Pack 使用 Linux 計算節點的簡介,請參閱開始在 Azure 中的 HPC Pack 叢集使用 Linux 計算節點。

注意

本文說明如何使用 HPC Pack 來執行 Linux MPI 工作負載。 本文假設您對 Linux 系統管理及在 Linux 叢集上執行 MPI 工作負載,有某種程度的熟悉。 如果您使用的 MPI 和 OpenFOAM 版本與本文中所顯示的版本不同,您可能必須修改一些安裝和組態步驟。

必要條件

具有支援 RDMA 之 Linux 計算節點的 HPC Pack 叢集 - 使用 Azure Resource Manager 範本或 Azure PowerShell 指令碼,部署具有 A8、A9、H16r 或 H16rm 大小之 Linux 計算節點的 HPC Pack 叢集。 如需了解任一選項的必要條件與步驟,請參閱 開始使用 Azure 中 HPC Pack 叢集內的 Linux 計算節點 。 如果您選擇 PowerShell 指令碼部署選項,請參閱本文結尾範例檔案中的範例組態檔。 您可以使用此組態來部署 Azure 型 HPC Pack 叢集,其中包含一個 A8 大小的 Windows Server 2012 R2 前端節點,以及兩個 A8 大小的 SUSE Linux Enterprise Server 12 計算節點。 請將您的訂用帳戶和服務名稱取代為適當的值。

其他應該知道的事項

如需 Azure 的 Linux RDMA 網路必要條件,請參閱高效能運算 VM 大小。

如果使用 PowerShell 指令碼部署選項,請將所有 Linux 計算節點部署在一個雲端服務內,以使用 RDMA 網路連線。

部署 Linux 節點之後,請透過 SSH 進行連線來執行任何額外的系統管理工作。 您可以在 Azure 入口網站中找到每個 Linux VM 的 SSH 連線詳細資料。

Intel MPI - 若要在 Azure 中的 SLES 12 HPC 計算節點上執行 OpenFOAM,您必須從 Intel.com 網站安裝 Intel MPI Library 5 執行階段。 (Intel MPI 5 已預先安裝在以 CentOS 為基礎的 HPC 映射上)。 在稍後的步驟中,如有必要,請在您的 Linux 計算節點上安裝 Intel MPI。 若要為此步驟做準備,請在向 Intel 註冊之後,依循確認電子郵件中的連結前往相關的網頁。 然後,複製適當 Intel MPI 版本之 .tgz 檔案的下載連結。 這篇文章根據 Intel MPI 5.0.3.048 版。

OpenFOAM Source Pack - 從 OpenFOAM Foundation 網站下載適用於 Linux 的OpenFOAM Source Pack 軟體。 本文是依據 Source Pack 2.3.1 版 (可透過 OpenFOAM-2.3.1.tgz 的形式下載) 而撰寫的。 請依照本文稍後的指示,在 Linux 計算節點上解壓縮並編譯 OpenFOAM。

EnSight (選擇性) - 若要查看 OpenFOAM 模擬的結果,請下載並安裝 EnSight 視覺效果與分析程式。 授權和下載資訊請見 EnSight 網站。

設定運算節點之間的相互信任

在多個 Linux 節點上執行跨節點作業,需要節點相互信任 (藉由 rsh 或 ssh)。 當您使用 Microsoft HPC Pack IaaS 部署指令碼建立 HPC Pack 叢集時,指令碼會自動為您指定的系統管理員帳戶設定永久相互信任。 針對您在叢集的網域中建立的非系統管理員使用者,您必須在將工作配置給他們時,設定節點間的暫時相互信任,並且在工作完成之後終結關聯性。 若要為每位使用者建立信任,請將 HPC Pack 用於信任關係的 RSA 金鑰組提供給叢集。

產生 RSA 金鑰組

產生 RSA 金鑰組很容易,其中包含公開金鑰和私密金鑰,方法是執行 Linux ssh-keygen 命令。

登入 Linux 電腦。

執行以下命令:

ssh-keygen -t rsa

注意

按 Enter 以使用預設設定,直到完成命令。 請勿在這裡輸入複雜密碼;當系統提示您輸入密碼時,只要按 Enter鍵。

將目錄變更為 ~/.ssh 目錄。 私密金鑰會儲存在 id_rsa,而公開金鑰會儲存在 id_rsa.pub。

將金鑰組新增至 HPC Pack 叢集

使用您的 HPC Pack 系統管理員帳戶與您的前端節點進行遠端桌面連線 (當您執行部署指令碼時設定的系統管理員帳戶)。

您可以使用標準的 Windows Server 程序在叢集的 Active Directory 網域中建立網域使用者帳戶。 例如,在前端節點上使用 Active Directory 使用者和電腦工具。 本文中的範例假設您建立名為 hpclab\hpcuser 的網域使用者。

建立名為 C:\cred.xml 的檔案,並且將 RSA 金鑰資料複製到其中。 本文結尾有提供一個範例 cred.xml 檔案。

Copy the contents of private key here

Copy the contents of public key here

開啟命令提示字元並輸入下列命令,以設定 hpclab\hpcuser 帳戶的認證資料。 您使用 extendeddata 參數來傳遞您針對金鑰資料建立之 C:\cred.xml 檔案的名稱。

hpccred setcreds /extendeddata:c:\cred.xml /user:hpclab\hpcuser /password:

這個命令會成功完成而沒有輸出。 為您執行工作所需的使用者帳戶設定認證之後,將 cred.xml 檔案儲存在安全的位置,或將它刪除。

如果您在其中一個 Linux 節點上產生 RSA 金鑰組,請記得在您完成使用後刪除金鑰。 如果 HPC Pack 找到現有的 id_rsa 檔案或 id_rsa.pub 檔案,它就不會設定相互信任。

重要

我們不建議以共用叢集上的叢集系統管理員身分執行 Linux 工作,因為系統管理員提交的工作會在 Linux 節點上的根帳戶底下執行。 不過,非系統管理員使用者所提交的作業會在具有與作業使用者相同名稱的本機 Linux 使用者帳戶下執行。 在此情況下,HPC Pack 會在配置給該作業的所有節點上,為此 Linux 使用者設定相互信任。 您可以在執行工作之前,手動在 Linux 節點上設定 Linux 使用者,否則 HPC Pack 會在工作提交時自動建立使用者。 如果 HPC Pack 建立使用者,HPC Pack 會在工作完成之後刪除它。 為了降低安全性威脅,HPC Pack 會在作業完成之後移除金鑰。

為 Linux 節點設定檔案共用

現在,請在前端節點的資料夾上設定一個標準 SMB 共用。 若要允許 Linux 節點存取具有共用路徑的應用程式檔案,請將共用資料夾掛接在 Linux 節點上。 如果您想,您可以使用其他檔案共用選項 (例如 Azure 檔案共用,在許多案例中皆建議使用此選項) 或 NFS 共用。 請參閱開始在 Azure 中的 HPC Pack 叢集使用 Linux 計算節點中的檔案共用資訊和詳細步驟。

在前端節點上建立資料夾,並藉由設定讀取/寫入權限與每個人共用。 例如,在前端節點上將 C:\OpenFOAM 共用為 \\SUSE12RDMA-HN\OpenFOAM。 在這裡, SUSE12RDMA-HN 是前端節點的主機名稱。

開啟 Windows PowerShell 視窗並執行下列命令:

clusrun /nodegroup:LinuxNodes mkdir -p /openfoam

clusrun /nodegroup:LinuxNodes mount -t cifs //SUSE12RDMA-HN/OpenFOAM /openfoam -o vers=2.1`,username=`,password=''`,dir_mode=0777`,file_mode=0777

第一個命令會在 LinuxNodes 群組中的所有節點上建立名為 /openfoam 的資料夾。 第二個命令會將共用資料夾 //SUSE12RDMA-HN/OpenFOAM 掛接在 Linux 節點上,且 dir_mode 和 file_mode 位元會設為 777。 命令中的 username 和 password 應為前端節點上使用者的認證。

注意

第二個命令中的 “`” 符號是 PowerShell 的逸出符號。 “`,” 表示 “,” (逗號) 是命令的一部分。

安裝 MPI 和 OpenFOAM

若要在 RDMA 網路上以 MPI 工作的形式執行 OpenFOAM,您必須使用 Intel MPI Library 編譯 OpenFOAM。

首先,執行數個 clusrun 命令,以在您的 Linux 節點上安裝 Intel MPI 程式庫 (如果尚未安裝) 和 OpenFOAM。 請使用先前設定的前端節點共用,在 Linux 節點之間共用安裝檔案。

重要

這些安裝和編譯步驟是範例。 您必須具備一些 Linux 系統管理知識,以確保正確安裝相依的編譯器和程式庫。 您可能需要修改一些特定的環境變數,或 Intel MPI 與 OpenFOAM 版本的其他設定。 如需詳細資料,請參閱適用於您環境的 Intel MPI Library for Linux 安裝指南和 OpenFOAM Source Pack 安裝。

安裝 Intel MPI

將下載的 Intel MPI 安裝套件 (在此範例中為 l_mpi_p_5.0.3.048.tgz) 儲存在前端節點的 C:\OpenFoam 中,使 Linux 節點能夠從 /openfoam 存取此檔案。 然後,執行 clusrun ,以在所有 Linux 節點上安裝 Intel MPI Library。

下列命令會複製安裝套件,並將其解壓縮到每個節點的 /opt/intel 上。

clusrun /nodegroup:LinuxNodes mkdir -p /opt/intel

clusrun /nodegroup:LinuxNodes cp /openfoam/l_mpi_p_5.0.3.048.tgz /opt/intel/

clusrun /nodegroup:LinuxNodes tar -xzf /opt/intel/l_mpi_p_5.0.3.048.tgz -C /opt/intel/

若要以無訊息方式安裝 Intel MPI Library,請使用 silent.cfg 檔案。 您可以在本文結尾處的範例檔案中找到範例。 將此檔案放在共用資料夾 /openfoam 中。 如需 silent.cfg 檔案的詳細資訊,請參閱 Intel MPI Library for Linux 安裝指南 - 無訊息安裝。

提示

請確實將您的 silent.cfg 檔案儲存為具有 Linux 行尾結束符號 (只有 LF,不是 CR LF) 的文字檔。 此步驟可確保它在 Linux 節點上正常執行。

以無訊息模式安裝 Intel MPI Library。

clusrun /nodegroup:LinuxNodes bash /opt/intel/l_mpi_p_5.0.3.048/install.sh --silent /openfoam/silent.cfg

設定 MPI

若要進行測試,您應在每個 Linux 節點的 /etc/security/limits.conf 中加入以下幾行:

clusrun /nodegroup:LinuxNodes echo "* hard memlock unlimited" `>`> /etc/security/limits.conf

clusrun /nodegroup:LinuxNodes echo "* soft memlock unlimited" `>`> /etc/security/limits.conf

更新 limits.conf 檔案之後,請重新啟動 Linux 節點。 例如,使用下列 clusrun 命令:

clusrun /nodegroup:LinuxNodes systemctl reboot

重新啟動之後,請確定共用資料夾已掛接為 /openfoam。

編譯和安裝 OpenFOAM

將下載的 OpenFOAM Source Pack 安裝套件 (在此範例中為 OpenFOAM-2.3.1.tgz) 儲存至前端節點的 C:\OpenFoam,使 Linux 節點能夠從 /openfoam 存取此檔案。 然後,執行 clusrun 命令,以在所有 Linux 節點上編譯 OpenFOAM。

在每個 Linux 節點上建立資料夾 /opt/OpenFOAM、將來源封裝複製到此資料夾,並在該處加以解壓縮。

clusrun /nodegroup:LinuxNodes mkdir -p /opt/OpenFOAM

clusrun /nodegroup:LinuxNodes cp /openfoam/OpenFOAM-2.3.1.tgz /opt/OpenFOAM/

clusrun /nodegroup:LinuxNodes tar -xzf /opt/OpenFOAM/OpenFOAM-2.3.1.tgz -C /opt/OpenFOAM/

若要使用 Intel MPI Library 編譯 OpenFOAM,請先設定 Intel MPI 和 OpenFOAM 的某些環境變數。 請使用名為 settings.sh 的 Bash 指令碼來設定變數。 您可以在本文結尾處的範例檔案中找到範例。 將此檔案 (使用 Linux 行尾結束符號儲存的) 放在共用資料夾 /openfoam 中。 此檔案也包含您後續用來執行 OpenFOAM 工作的 MPI 和 OpenFOAM 執行階段的設定。

安裝編譯 OpenFOAM 所需的相依封裝。 根據您的 Linux 散發套件,您可能需要先新增儲存機制。 執行類似下列的 clusrun 命令:

clusrun /nodegroup:LinuxNodes zypper ar http://download.opensuse.org/distribution/13.2/repo/oss/suse/ opensuse

clusrun /nodegroup:LinuxNodes zypper -n --gpg-auto-import-keys install --repo opensuse --force-resolution -t pattern devel_C_C++

如有需要,可透過 SSH 連線到每個 Linux 節點來執行命令,以確認它們是否正常執行。

執行下列命令以編譯 OpenFOAM。 編譯程序需要一些時間才能完成,並且會在標準輸出中產生大量的記錄資訊,因此,請使用 /interleaved 選項以便以交錯方式顯示輸出。

clusrun /nodegroup:LinuxNodes /interleaved source /openfoam/settings.sh `&`& /opt/OpenFOAM/OpenFOAM-2.3.1/Allwmake

注意

命令中的 “`” 符號是 PowerShell 的逸出符號。 “`&” 表示 “&” 是命令的一部分。

準備執行 OpenFOAM 工作

現在,請準備在兩個 Linux 節點上執行名為 sloshingTank3D 的 MPI 作業,這是其中一個 OpenFoam 範例。

設定執行階段環境

若要在 Linux 節點上設定 MPI 和 OpenFOAM 的執行階段環境,請在前端節點上的 Windows PowerShell 視窗中執行下列命令。 (此命令僅適用於 SUSE Linux。)

clusrun /nodegroup:LinuxNodes cp /openfoam/settings.sh /etc/profile.d/

準備範例資料

請使用您先前設定的前端節點共用,在 Linux 節點之間共用檔案 (掛接為 /openfoam)。

透過 SSH 連接到您其中一個 Linux 計算節點。

執行下列命令以設定 OpenFOAM 執行階段環境 (如果您尚未執行此作業)。

$ source /openfoam/settings.sh

將 sloshingTank3D 範例複製到共用資料夾,並瀏覽到該資料夾。

$ cp -r $FOAM_TUTORIALS/multiphase/interDyMFoam/ras/sloshingTank3D /openfoam/

$ cd /openfoam/sloshingTank3D

如果您使用此範例的預設參數,其執行時間可能需要數十分鐘,因此您可能會想要修改某些參數,讓它執行得更快。 一個簡單的選擇是修改 system/controlDict 檔案中的時間步階變數 deltaT 和 writeInterval。 此檔案儲存了所有與控制時間以及讀取和寫入解決方案資料有關的輸入資料。 例如,您可以將 deltaT 的值從 0.05 變更為 0.5,以及將 writeInterval 的值從 0.05 變更為 0.5。

在 system/decomposeParDict 檔案中指定所要的變數值。 此範例使用兩個分別具有 8 個核心的 Linux 節點,因此,請將 numberOfSubdomains 設為 16,以及將 hierarchicalCoeffs 的 n 設為 (1 1 16),這表示以 16 個處理程序平行執行 OpenFOAM。 如需詳細資訊,請參閱 OpenFOAM User Guide: 3.4 Running applications in parallel (OpenFOAM 使用者指南:3.4 平行執行應用程式)。

從 sloshingTank3D 目錄執行下列命令,以準備範例資料。

$ . $WM_PROJECT_DIR/bin/tools/RunFunctions

$ m4 constant/polyMesh/blockMeshDict.m4 > constant/polyMesh/blockMeshDict

$ runApplication blockMesh

$ cp 0/alpha.water.org 0/alpha.water

$ runApplication setFields

在前端節點上,您應該會看到範例資料檔案複製到 C:\OpenFoam\sloshingTank3D 中。 (C:\OpenFoam 是前端節點上的共用資料夾。)

mpirun 的主機檔案

在此步驟中,您會建立 mpirun 命令所使用的主機檔案 (計算節點清單)。

在其中一個 Linux 節點上的 /openfoam 下,建立名為 hostfile 的檔案,以便在所有 Linux 節點上的 /openfoam/hostfile 都可存取此檔案。

將您的 Linux 節點名稱寫入此檔案中。 在此範例中,檔案會包含下列名稱:

SUSE12RDMA-LN1

SUSE12RDMA-LN2

提示

您也可以在前端節點的 C:\OpenFoam\hostfile 上建立此檔案。 如果您選擇這個選項,請將其儲存為具有 Linux 行尾結束符號 (只有 LF,不是 CR LF) 的文字檔。 這可確保它在 Linux 節點上正常運作。

Bash 指令碼包裝函式

如果您有許多 Linux 節點,而您想要讓您的作業只在其中一些節點上執行,則不建議使用固定的主機檔案,因為您不知道系統會將哪些節點配置給您的作業。 在此情況下,請為 mpirun 撰寫 Bash 指令碼包裝函式,以自動建立主機檔案。 您可以在本文結尾找到稱為 hpcimpirun.sh 的範例 bash 腳本包裝函式,並將它儲存為/openfoam/hpcimpirun.sh。這個範例腳本會執行下列動作:

設定 mpirun的環境變數,和透過 RDMA 網路執行 MPI 工作時所使用的某些附加命令參數。 在此範例中,它會設定下列變數:

I_MPI_FABRICS=shm:dapl

I_MPI_DAPL_PROVIDER=ofa-v2-ib0

I_MPI_DYNAMIC_CONNECTION=0

根據環境變數 $CCP_NODES_CORES 建立主機檔案,該變數會在工作啟動時由 HPC 前端節點設定。

$CCP_NODES_CORES 的格式會遵循下列模式:

...`

其中

- 配置給此工作的節點數目。

- 配置給此工作的各節點名稱。

- 配置給此工作的節點上核心數目。

例如,如果作業需要兩個節點才能執行,則 $CCP_NODES_CORES 會類似於:

2 SUSE12RDMA-LN1 8 SUSE12RDMA-LN2 8

呼叫 mpirun 命令,並將兩個參數附加到命令列。

--hostfile : - 指令碼所建立的主機檔案路徑

-np ${CCP_NUMCPUS}: ${CCP_NUMCPUS} - HPC Pack 前端節點所設定的環境變數,會儲存配置給此工作的總核心數目。 在此案例中,它會指定 mpirun的處理程序數目。

提交 OpenFOAM 工作

現在,您可以在 HPC 叢集管理員中提交工作。 您必須在命令列中,針對某些作業工作傳遞指令碼 hpcimpirun.sh。

連接至您的叢集前端節點並且啟動 HPC 叢集管理員。

在 [資源管理] 中,確定 Linux 計算節點處於 [線上] 狀態。 如果不是,請選取這些節點,然後按一下 [ 上線]。

在 [工作管理] 中,按一下 [新增工作]。

輸入作業的名稱,例如 sloshingTank3D。

在 [ 工作資源] 中,選取 [節點] 做為資源類型,並將 [最小值] 設為 2。 在此範例中,此組態會在兩個分別具有 8 個核心的 Linux 節點上執行作業。

按一下左導覽窗格中的 [編輯工作],然後按一下 [加入] 來將工作加入到作業中。 請使用下列命令列與設定,將四個工作新增到作業中。

注意

執行 source /openfoam/settings.sh 會設定 OpenFOAM 和 MPI 執行階段環境,因此下列每個作業會在 OpenFOAM 命令之前加以呼叫。

工作 1。 執行 decomposePar,產生以平行方式執行 interDyMFoam 的資料檔案。

將一個節點指派給工作

命令列 - source /openfoam/settings.sh && decomposePar -force > /openfoam/decomposePar${CCP_JOBID}.log

工作目錄 - /openfoam/sloshingTank3D

請參閱下圖。 以同樣的方式設定其餘的工作。

工作 2。 以平行方式執行 interDyMFoam ,以計算範例。

將兩個節點指派給工作

命令列 - source /openfoam/settings.sh && /openfoam/hpcimpirun.sh interDyMFoam -parallel > /openfoam/interDyMFoam${CCP_JOBID}.log

工作目錄 - /openfoam/sloshingTank3D

工作 3。 執行 reconstructPar,以將來自每個 processor_N_ 目錄的數組時間目錄合併成一組目錄。

將一個節點指派給工作

命令列 - source /openfoam/settings.sh && reconstructPar > /openfoam/reconstructPar${CCP_JOBID}.log

工作目錄 - /openfoam/sloshingTank3D

工作 4。 以平行方式執行 foamToEnsight ,以將 OpenFOAM 結果檔案轉換成 EnSight 格式,並將 EnSight 檔案放在案例目錄中名為 Ensight 的目錄內。

將兩個節點指派給工作

命令列 - source /openfoam/settings.sh && /openfoam/hpcimpirun.sh foamToEnsight -parallel > /openfoam/foamToEnsight${CCP_JOBID}.log

工作目錄 - /openfoam/sloshingTank3D

以遞增作業順序,將相依性新增至這些作業。

按一下 [ 提交 ] 以執行此工作。

根據預設,HPC Pack 會以您目前登入的使用者帳戶提交工作。 按一下 [ 提交] 之後可能會出現一個對話方塊,提示您輸入使用者名稱和密碼。

在某些情況下,HPC Pack 會記住您以前輸入的使用者資訊,而不會顯示此對話方塊。 若要讓 HPC Pack 再次顯示此對話方塊,請在命令提示字元中輸入下列命令,然後提交作業。

hpccred delcreds

執行工作可能需要數十分鐘到數小時不等,視您為範例設定的參數而定。 在熱度圖中,您會看到作業在 Linux 節點上執行。

在每個節點上會啟動 8 個處理程序。

工作完成時,請 C:\OpenFoam\sloshingTank3D 下的資料夾中找出工作結果,記錄檔則位於 C:\OpenFoam 上。

在 EnSight 中檢視結果

您可以選擇性地使用 EnSight 來視覺化和分析 OpenFOAM 工作的結果。

在前端節點上安裝 EnSight 之後,請加以啟動。

開啟 C:\OpenFoam\sloshingTank3D\EnSight\sloshingTank3D.case。

您會在檢視器中看見一個儲存槽。

從 internalMesh 建立 Isosurface,然後選擇變數 alpha_water。

為先前的步驟中建立的 Isosurface_part 設定色彩。 例如,將它設為水藍色。

在 [組件] 面板中選取 [圖表牆],以從 [圖表牆] 建立 Iso-volume,然後按一下工具列中的 Isosurfaces 按鈕。

在對話方塊中,選取 Isovolume 做為 [類型],然後將 [Isovolume 範圍] 的最小值設為 0.5。 若要建立 isovolume,請按一下 [使用選取的組件建立]。

為先前的步驟中建立的 Iso_volume_part 設定色彩。 例如,將它設為深藍色。

設定 [ 圖表牆] 的色彩。 例如,將它設為透明的白色。

現在,按一下 [ 播放 ] 以檢視模擬的結果。

範例檔案

PowerShell 指令碼叢集部署的 XML 組態檔範例

Subscription-1

allvhdsje

Japan East

suse12rdmavnet

SUSE12RDMACluster

HeadNodeAsDC

hpclab.local

LocalDB

SUSE12RDMA-HN

suse12rdma-je

A8

SUSE12RDMA-LN%1%

suse12rdma-je

A8

2

b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-hpc-v20150708

範例 cred.xml 檔案

-----BEGIN RSA PRIVATE KEY-----

MIIEpQIBAAKCAQEAxJKBABhnOsE9eneGHvsjdoXKooHUxpTHI1JVunAJkVmFy8JC

qFt1pV98QCtKEHTC6kQ7tj1UT2N6nx1EY9BBHpZacnXmknpKdX4Nu0cNlSphLpru

lscKPR3XVzkTwEF00OMiNJVknq8qXJF1T3lYx3rW5EnItn6C3nQm3gQPXP0ckYCF

Jdtu/6SSgzV9kaapctLGPNp1Vjf9KeDQMrJXsQNHxnQcfiICp21NiUCiXosDqJrR

AfzePdl0XwsNngouy8t0fPlNSngZvsx+kPGh/AKakKIYS0cO9W3FmdYNW8Xehzkc

VzrtJhU8x21hXGfSC7V0ZeD7dMeTL3tQCVxCmwIDAQABAoIBAQCve8Jh3Wc6koxZ

qh43xicwhdwSGyliZisoozYZDC/ebDb/Ydq0BYIPMiDwADVMX5AqJuPPmwyLGtm6

9hu5p46aycrQ5+QA299g6DlF+PZtNbowKuvX+rRvPxagrTmupkCswjglDUEYUHPW

05wQaNoSqtzwS9Y85M/b24FfLeyxK0n8zjKFErJaHdhVxI6cxw7RdVlSmM9UHmah

wTkW8HkblbOArilAHi6SlRTNZG4gTGeDzPb7fYZo3hzJyLbcaNfJscUuqnAJ+6pT

iY6NNp1E8PQgjvHe21yv3DRoVRM4egqQvNZgUbYAMUgr30T1UoxnUXwk2vqJMfg2

Nzw0ESGRAoGBAPkfXjjGfc4HryqPkdx0kjXs0bXC3js2g4IXItK9YUFeZzf+476y

OTMQg/8DUbqd5rLv7PITIAqpGs39pkfnyohPjOe2zZzeoyaXurYIPV98hhH880uH

ZUhOxJYnlqHGxGT7p2PmmnAlmY4TSJrp12VnuiQVVVsXWOGPqHx4S4f9AoGBAMn/

vuea7hsCgwIE25MJJ55FYCJodLkioQy6aGP4NgB89Azzg527WsQ6H5xhgVMKHWyu

Q1snp+q8LyzD0i1veEvWb8EYifsMyTIPXOUTwZgzaTTCeJNHdc4gw1U22vd7OBYy

nZCU7Tn8Pe6eIMNztnVduiv+2QHuiNPgN7M73/x3AoGBAOL0IcmFgy0EsR8MBq0Z

ge4gnniBXCYDptEINNBaeVStJUnNKzwab6PGwwm6w2VI3thbXbi3lbRAlMve7fKK

B2ghWNPsJOtppKbPCek2Hnt0HUwb7qX7Zlj2cX/99uvRAjChVsDbYA0VJAxcIwQG

TxXx5pFi4g0HexCa6LrkeKMdAoGAcvRIACX7OwPC6nM5QgQDt95jRzGKu5EpdcTf

g4TNtplliblLPYhRrzokoyoaHteyxxak3ktDFCLj9eW6xoCZRQ9Tqd/9JhGwrfxw

MS19DtCzHoNNewM/135tqyD8m7pTwM4tPQqDtmwGErWKj7BaNZARUlhFxwOoemsv

R6DbZyECgYEAhjL2N3Pc+WW+8x2bbIBN3rJcMjBBIivB62AwgYZnA2D5wk5o0DKD

eesGSKS5l22ZMXJNShgzPKmv3HpH22CSVpO0sNZ6R+iG8a3oq4QkU61MT1CfGoMI

a8lxTKnZCsRXU1HexqZs+DSc+30tz50bNqLdido/l5B4EJnQP03ciO0=

-----END RSA PRIVATE KEY-----

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEkoEAGGc6wT16d4Ye+yN2hcqigdTGlMcjUlW6cAmRWYXLwkKoW3WlX3xAK0oQdMLqRDu2PVRPY3qfHURj0EEellpydeaSekp1fg27Rw2VKmEumu6Wxwo9HddXORPAQXTQ4yI0lWSerypckXVPeVjHetbkSci2foLedCbeBA9c/RyRgIUl227/pJKDNX2Rpqly0sY82nVWN/0p4NAyslexA0fGdBx+IgKnbU2JQKJeiwOomtEB/N492XRfCw2eCi7Ly3R8+U1KeBm+zH6Q8aH8ApqQohhLRw71bcWZ1g1bxd6HORxXOu0mFTzHbWFcZ9ILtXRl4Pt0x5Mve1AJXEKb username@servername;

安裝 MPI 的 silent.cfg 檔案範例

# Patterns used to check silent configuration file

#

# anythingpat - any string

# filepat - the file location pattern (/file/location/to/license.lic)

# lspat - the license server address pattern (0123@hostname)

# snpat - the serial number pattern (ABCD-01234567)

# accept EULA, valid values are: {accept, decline}

ACCEPT_EULA=accept

# optional error behavior, valid values are: {yes, no}

CONTINUE_WITH_OPTIONAL_ERROR=yes

# install location, valid values are: {/opt/intel, filepat}

PSET_INSTALL_DIR=/opt/intel

# continue with overwrite of existing installation directory, valid values are: {yes, no}

CONTINUE_WITH_INSTALLDIR_OVERWRITE=yes

# list of components to install, valid values are: {ALL, DEFAULTS, anythingpat}

COMPONENTS=DEFAULTS

# installation mode, valid values are: {install, modify, repair, uninstall}

PSET_MODE=install

# directory for non-RPM database, valid values are: {filepat}

#NONRPM_DB_DIR=filepat

# Serial number, valid values are: {snpat}

#ACTIVATION_SERIAL_NUMBER=snpat

# License file or license server, valid values are: {lspat, filepat}

#ACTIVATION_LICENSE_FILE=

# Activation type, valid values are: {exist_lic, license_server, license_file, trial_lic, serial_number}

ACTIVATION_TYPE=trial_lic

# Path to the cluster description file, valid values are: {filepat}

#CLUSTER_INSTALL_MACHINES_FILE=filepat

# Intel(R) Software Improvement Program opt-in, valid values are: {yes, no}

PHONEHOME_SEND_USAGE_DATA=no

# Perform validation of digital signatures of RPM files, valid values are: {yes, no}

SIGNING_ENABLED=yes

# Select yes to enable mpi-selector integration, valid values are: {yes, no}

ENVIRONMENT_REG_MPI_ENV=no

# Select yes to update ld.so.conf, valid values are: {yes, no}

ENVIRONMENT_LD_SO_CONF=no

範例 settings.sh 指令碼

#!/bin/bash

# impi

source /opt/intel/impi/5.0.3.048/bin64/mpivars.sh

export MPI_ROOT=$I_MPI_ROOT

export I_MPI_FABRICS=shm:dapl

export I_MPI_DAPL_PROVIDER=ofa-v2-ib0

export I_MPI_DYNAMIC_CONNECTION=0

# openfoam

export FOAM_INST_DIR=/opt/OpenFOAM

source /opt/OpenFOAM/OpenFOAM-2.3.1/etc/bashrc

export WM_MPLIB=INTELMPI

範例 hpcimpirun.sh 指令碼

#!/bin/bash

# The path of this script

SCRIPT_PATH="$( dirname "${BASH_SOURCE[0]}" )"

# Set mpirun runtime evironment

source /opt/intel/impi/5.0.3.048/bin64/mpivars.sh

export MPI_ROOT=$I_MPI_ROOT

export I_MPI_FABRICS=shm:dapl

export I_MPI_DAPL_PROVIDER=ofa-v2-ib0

export I_MPI_DYNAMIC_CONNECTION=0

# mpirun command

MPIRUN=mpirun

# Argument of "--hostfile"

NODELIST_OPT="--hostfile"

# Argument of "-np"

NUMPROCESS_OPT="-np"

# Get node information from ENVs

NODESCORES=(${CCP_NODES_CORES})

COUNT=${#NODESCORES[@]}

if [ ${COUNT} -eq 0 ]

then

# CCP_NODES_CORES is not found or is empty, just run the mpirun without hostfile arg.

${MPIRUN} $*

else

# Create the hostfile file

NODELIST_PATH=${SCRIPT_PATH}/hostfile_$$

# Get every node name and write into the hostfile file

I=1

while [ ${I} -lt ${COUNT} ]

do

echo "${NODESCORES[${I}]}" >> ${NODELIST_PATH}

let "I=${I}+2"

done

# Run the mpirun with hostfile arg

${MPIRUN} ${NUMPROCESS_OPT} ${CCP_NUMCPUS} ${NODELIST_OPT} ${NODELIST_PATH} $*

RTNSTS=$?

rm -f ${NODELIST_PATH}

fi

exit ${RTNSTS}

Linux移动光标指令hkjl,使用 HPC Pack 在 Linux VM 上執行 OpenFOAM - Azure Virtual Machines | Microsoft Docs...相关推荐

  1. linux 内核配置raid,在 Linux VM 上配置软件 RAID - Azure Virtual Machines | Microsoft Docs

    在 Linux 上配置软件 RAID 02/02/2017 本文内容 一种比较常见的情况是,在 Azure 中的 Linux 虚拟机上使用软件 RAID 将多个附加的数据磁盘显示为单个 RAID 设备 ...

  2. linux 计算标准差,Azure Linux VM 的计算基准测试分数 - Azure Virtual Machines | Microsoft Docs...

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. Linux VM 的计 ...

  3. star ccm 报java错误_在 Linux VM 上运行 STAR-CCM+ 与 HPC Pack - Azure Virtual Machines | Microsoft Docs...

    在 Azure 中的 Linux RDMA 群集上运行 STAR-CCM+ 和 Microsoft HPC Pack 09/13/2016 本文内容 重要 经典 VM 将于 2023 年 3 月 1 ...

  4. azure linux 配置端口,快速入门 - 在 Azure 门户中创建 Linux VM - Azure Virtual Machines | Microsoft Docs...

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 快速入门:在 Azur ...

  5. xrdp linux 3389 端口,在 Linux 中使用 xrdp - Azure Virtual Machines | Microsoft Docs

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 安装并配置 xrdp ...

  6. linux nfs spec,创建 NFS Ubuntu Linux 服务器卷 - Azure Kubernetes Service | Microsoft Docs

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 在 Azure Kub ...

  7. linux的ftp指令发邮件,三种使用Linux命令发送邮件

    使用mail命令 mail命令是mailutils(On Debian)或mailx(On RedHat)包中的一部分,我们可以使用他在命令行里面发送消息. 如果你的系统没有安装mail命令,可以使用 ...

  8. 【Linux】基本指令和常用应用安装

    [Linux]基本指令和常用应用安装 文章目录 [Linux]基本指令和常用应用安装 介绍 Linux树状结构 tree 显示和跳转指令 ls ls -l(详细信息) ls -a(隐藏信息) ls - ...

  9. Linux部分实用指令

    Linux部分实用指令 对文件.文件夹操作 ls(list) mkdir(make directory) touch cp(copy) mv(move) rm(remove) vim cat head ...

最新文章

  1. 计算文本文件中各个词(中英文)出现的频率
  2. opencv 裁剪 java_如何在opencv java中裁剪检测到的面部图像
  3. TABLES ABOUT CRM MARTETING
  4. 如何编写一个webpack插件
  5. python 修改字符串 循环_python – 模式匹配并用if else循环替换字符串
  6. 软件工程课堂作业——寻找“水王”
  7. 学Ruby开发的几个好网站
  8. 使用Angular reactive form发送HTTP请求的一个简单例子
  9. 你不知道的JavaScript-0
  10. Linux用户与“最小权限”原则
  11. Docker 安装solr 配置IK分词,说明
  12. VC中CListCtrl设置滚动条在最下边的方法(MSDN中的例子)
  13. mysql创建有参数的函数,7-3:MySQL 创建不带参数的自定义函数
  14. 高等数学18讲(19版)7.29
  15. linux 配置vpn 客户端,mandriva下成功配置vpn客户端
  16. Excel画饼图(立体的哦)
  17. 谷歌浏览器,网页截长图
  18. 一个网工的十年奋斗史 - 移民篇
  19. 中国企业实施ERP的难点攻略
  20. 《hadoop进阶》web日志系统 KPI指标的分析与实现

热门文章

  1. 摄影测量期末复习cumt
  2. Office2016的安装进度在 90% 时挂起
  3. java number比较大小_JAVA Number与Math类
  4. 多因素分析显示脂肪沉积比炎症损害更能预测强直性脊柱炎患者的脊柱新骨形成...
  5. iPhone开发部分总结
  6. 从零开始学习信号完整性--7-SI分析仿真
  7. RABBIT API (随机ACG图片接口推荐)
  8. 平安银行薪资职级表_秋招提前批!平安银行总行公告发布!薪资拿到手软~
  9. Integration of image quality and motion cues for face anti-spoofing A neural network approach
  10. 离线语音远程遥控车控门制作教程(二)