MPI 叢集偵錯工具的組態屬性
MPI 叢集偵錯工具組態屬性可讓您定義執行偵錯工作階段的方式。此資訊用於下列工作:
選取要在其上執行偵錯工作階段的叢集與節點
指定要執行的處理序數目
指定部署資訊
指定偵錯前與偵錯後指令碼
以下表格說明 MPI 叢集偵錯工具的組態屬性:
MPI 叢集偵錯工具組態屬性
屬性 | 說明 | 預設值 |
---|---|---|
執行環境 |
指定在叢集上啟動偵錯工具時要使用的前端節點、要啟動的 MPI 處理序數目,以及選擇性指定每個運算節點的處理序配置。 若要要求特定節點並選擇性地配置處理序,請從 [執行環境] 下拉式清單中選取 [編輯 Hpc 節點]。這樣會開啟 [節點選取器] 對話方塊。如需其他考量事項,請參閱特定節點選擇與 -hosts 參數。 或者,指定 localhost/<number of processes> 在本機啟動偵錯工具。
注意:
在此屬性中指定的資源選項會覆寫在工作描述檔中指定的任何資源分派。
|
localhost/1 |
部署目錄 |
指定偵錯工具啟動時會複製專案輸出檔到其中的目錄。此目錄通常位於叢集前端節點,而且必須是可由所有參與偵錯工作階段之運算節點讀取的網路共用,例如: 在前端節點上安裝 HPC Pack 2008 時,會建立 CcpSpoolDir 目錄共用。 若部署目錄不存在,而您具有所指定根目錄的寫入權限,便會自動建立部署目錄。 |
本機偵錯: 無 叢集偵錯: \\headnode\CcpSpoolDir\$(UserName)\$(ProjectName) |
工作目錄 |
指定每個處理序使用的工作目錄。這是執行可執行檔的位置。 在叢集偵錯期間,若此目錄與部署目錄不同,則系統會將部署目錄中的檔案複製到運算節點上的工作目錄。 |
本機偵錯: Visual Studio 專案的輸出目錄。 叢集偵錯: %tmp% 目錄。 |
應用程式命令 |
指定 MPI 在每個叢集節點上執行的應用程式名稱或應用程式路徑 (這是您在 Visual Studio 中進行偵錯的應用程式)。該路徑可以是共用資源或本機路徑。 偵錯工具會將應用程式檔案複製到部署目錄。 |
$(TargetFileName) |
應用程式引數 |
指定您要傳遞至應用程式的引數。 |
無 |
MPIShim 位置 |
指定開發電腦上 MPIshim 可執行檔的完整路徑。Visual Studio 會嘗試將 MPIShim 從此位置複製到部署目錄。 MPIshim 是 Visual Studio 隨附的檔案,而且會與遠端偵錯元件一起安裝,以啟用平行偵錯功能。 您可以在完全自訂的 MPI 叢集偵錯工具啟動作業中提供此屬性的值。 |
%ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger |
MPIExec 命令 |
指定協調啟動您 MPI 應用程式之 MPI 程式的完整路徑。 若您的運算節點上已安裝另一個 MPI 程式庫實作,而且您要使用關聯的 MPI 堆疊來啟動您的應用程式,請使用此屬性來指定可執行檔在每個運算節點上的完整路徑。若每個節點上的路徑不相同,您就必須在偵錯工具的 [要部署的其他檔案] 屬性中,包含 MPIexec.exe 與其相依程式庫。 若您指定的 MPI 堆疊不支援-hosts 參數,在特定情況下可能會發生執行階段錯誤。如需相關資訊,請參閱特定節點選擇與 -hosts 參數。 |
MPIexec.exe |
其他 MPIExec 引數 |
指定要傳遞至 MPIexec.exe 命令的其他引數。例如,您可以使用其他引數來為由 MPIexec.exe 啟動的處理序設定環境變數。 若指定-hosts 參數,在特定情況下可能會發生執行階段錯誤。如需相關資訊,請參閱特定節點選擇與 -hosts 參數。 如需 MPIexec 命令的詳細資訊,請參閱 mpiexec Command Reference (https://go.microsoft.com/fwlink/?LinkId=144910) (可能為英文網頁)。 |
無 |
MPI 網路安全模式 |
指定允許連接到目前 Visual Studio 執行個體的 IP 位址。 共有三種安全模式:
|
接受來自任何位址的連接 |
MPI 網路篩選條件 |
指定要接受連接的 IP 位址範圍。指定此範圍的起始 IP 位址及子網路遮罩。 例如,192.168.0.1/255.255.255.0 的網路篩選條件包含介於 192.168.0.1 到 192.168.0.254 之間的所有 IP 位址。
注意:
若要套用此篩選條件,請在 [MPI 網路安全模式] 中,選取 [接受來自指定位址範圍的連接]。
|
無 |
偵錯工具類型 |
為您要執行的程式碼指定偵錯工具類型:「原生」、「Managed」、「混合」或「指令碼」。 |
自動 根據 .exe 檔的內容選取偵錯工具類型。 |
工作描述檔 |
指定包含要加入偵錯工作之任務的工作描述檔 (XML)。系統會先加入在此檔案中指定的任務,接著偵錯工具才會建立任務 (偵錯工具會建立部署、偵錯與清除任務)。
注意:
您在叢集偵錯工具屬性中選取的資源會覆寫在工作描述檔中指定的任何資源分派。
若要在 HPC 工作管理員主控台從新增或更新的工作建立工作描述檔,請按一下 [新增工作] 或 [檢視工作] 對話方塊中的 [另存工作為]。 |
無 |
要部署的其他檔案 |
指定除了專案及其相依性所需的檔案與目錄之外,要複製到部署目錄的檔案與目錄。 |
無 |
排程器逾時 (毫秒) |
指定偵錯工具嘗試連絡前端節點的時間長度 (毫秒)。在此期間過後,偵錯工具會認為前端節點無效。 |
5000 毫秒 |
部署 CRT |
指定 Visual Studio 是否會隨著應用程式部署 C 執行階段 (CRT) 組件。 若指定 [是],系統會隨著應用程式部署 CRT 組件。 若指定 [否],系統不會隨著應用程式部署 CRT 組件。 若您的多執行緒偵錯動態連結程式庫 (DLL) 是以靜態方式連結,您將不需要部署 CRT 檔案。若您的多執行緒偵錯 DLL 是以動態方式連結,您便需要部署 CRT 檔案。 |
是 |
清除部署 |
指定 Visual Studio 是否應在偵錯後刪除部署目錄。 若指定 [是],偵錯工具停止時,便會刪除部署目錄並移除共用資源。
注意:
若部署目錄包含並非由 Visual Studio 放置到該處的檔案,則不會刪除部署目錄。例如,若您的應用程式產生輸出至部署目錄,您應該使用偵錯後指令碼來刪除該目錄。
若指定 [否],便不會刪除部署目錄。 |
是 |
偵錯前指令碼 |
指定偵錯前要執行之指令碼的路徑。指令碼會在執行 Visual Studio 的相同電腦執行。 例如,您可以使用偵錯前指令碼在節點放置應用程式資料,或調整叢集上的防火牆設定以允許遠端偵錯工具。 |
無 |
偵錯前指令碼引數 |
指定傳遞至偵錯前指令碼的引數字串。 |
無 |
偵錯後指令碼 |
指定停止偵錯後要執行之指令碼的路徑。 例如,偵錯工作階段停止之後,您可以使用偵錯後指令碼來清除放置的資料或您的應用程式所產生的輸出檔案,或調整叢集上的防火牆設定以封鎖遠端偵錯工具。 |
無 |
偵錯後指令碼引數 |
指定傳遞至偵錯後指令碼的引數字串。 |
無 |
特定節點選擇與 -hosts 參數
設定 MPI 叢集偵錯工具時,您必須指定要使用的叢集與要啟動的處理序數目。或者,您可以選取特定節點,以用於偵錯工作階段。
MPI 叢集偵錯工具使用-hosts 參數搭配 MPIexec 命令,在以下兩項條件均成立時,放置處理序:
您選取特定節點,以用於偵錯工作階段。
您選取的處理序數目小於必要節點上的資源數目。
若您要求特定節點與必要節點上的資源總數須大於指定的處理序數目,偵錯工具就會使用-hosts 參數來放置處理序。例如,若您選取各有四個核心的兩個節點 (NODE01 與 NODE02),並指定您想要啟動 6 個處理序,偵錯工具便會將下列引數傳遞至 MPIexec.exe:-hosts 2 NODE01 4 NODE2 2
。
注意: |
---|
若 MPI 叢集偵錯工具使用-hosts 參數放置處理序,只要下列任一項條件成立,就會發生執行階段錯誤:
|
請參閱
概念
作法:設定和啟動 MPI 叢集偵錯工具
逐步解說:在 Visual Studio 2010 啟動 MPI 叢集偵錯工具
針對 HPC 叢集上的 MPI 應用程式進行偵錯