Proprietà di configurazione per Debugger cluster MPI
Le proprietà di configurazione di Debugger cluster MPI consentono di definire la modalità di esecuzione della sessione di debug. Queste informazioni sono utilizzate per le seguenti attività:
Per selezionare il cluster e i nodi su cui eseguire la sessione di debug
Per specificare il numero di processi da eseguire
Per specificare le informazioni di distribuzione
Per specificare gli script pre-debug e post-debug
Nella seguente tabella sono descritte le proprietà di configurazione per Debugger cluster MPI:
Proprietà di configurazione di Debugger cluster MPI
Proprietà | Descrizione | Valore predefinito |
---|---|---|
Ambiente di esecuzione |
Consente di specificare l'head node da utilizzare all'avvio del debugger sul cluster, il numero di processi MPI da avviare e, facoltativamente, l'allocazione dei processi per compute node. Per richiedere nodi specifici e allocare i processi in modo selettivo, selezionare Modifica nodo HPC dall'elenco a discesa Ambiente di esecuzione. Viene visualizzata la finestra di dialogo Selettore nodo. Per ulteriori informazioni, vedere Selezione di nodi specifici e parametro -hosts. In alternativa, specificare localhost/<number of processes> per avviare il debugger in locale.
Nota:
La selezione delle risorse specificata in questa proprietà sostituisce eventuali allocazioni di risorse specificate nel file di descrizione del processo.
|
localhost/1 |
Directory di distribuzione |
Consente di specificare la directory in cui saranno copiati i file di output del progetto all'avvio del debugger. Questa directory si trova generalmente sull'head node del cluster e deve essere una condivisione di rete leggibile da tutti i compute node che partecipano alla sessione di debug, ad esempio: La directory di condivisione CcpSpoolDir viene creata durante l'installazione di HPC Pack 2008 sull'head node. Se non esiste, ma si dispone di autorizzazioni in scrittura sulla directory principale specificata, la directory di distribuzione viene creata automaticamente. |
Debug locale: Nessuno Debug cluster: \\headnode\CcpSpoolDir\$(UserName)\$(ProjectName) |
Directory di lavoro |
Consente di specificare la directory di lavoro utilizzata da ciascun processo. Corrisponde alla posizione da cui viene eseguito il file eseguibile. Se, durante il debug del cluster, non corrisponde alla directory di distribuzione, i file della directory di distribuzione vengono copiati nelle directory di lavoro dei compute node. |
Debug locale: La directory di output del progetto Visual Studio. Debug cluster: La directory %tmp%. |
Comando applicazione |
Consente di specificare il nome o il percorso dell'applicazione che viene eseguita da MPI su ciascun nodo cluster (è l'applicazione per cui è in corso il debug in Visual Studio). Il percorso può corrispondere a una risorsa condivisa o a un percorso locale. Il debugger copia il file dell'applicazione nella cartella di distribuzione. |
$(TargetFileName) |
Argomenti applicazione |
Consente di specificare argomenti da passare all'applicazione. |
Nessuno |
Percorso MPIShim |
Consente di specificare il percorso completo al file eseguibile MPIshim sul computer di sviluppo. Visual Studio tenta di copiare MPIshim da questa posizione alla directory di distribuzione. MPIshim è incluso in Visual Studio ed è installato con i componenti di debug remoto per abilitare il debug parallelo. È possibile specificare un valore per questa proprietà come parte di un avvio totalmente personalizzato di Debugger cluster MPI. |
%ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger |
Comando MPIExec |
Consente di specificare il percorso completo del programma MPI che coordina l'avvio dell'applicazione MPI. Se sui compute node è installata un'altra implementazione della libreria MPI e si desidera utilizzare lo stack MPI associato per avviare l'applicazione, è possibile utilizzare questa proprietà per specificare il percorso completo del file eseguibile su ciascun compute node. Se il percorso non è identico su ciascun nodo, è necessario includere MPIexec.exe e le rispettive librerie dipendenti nella proprietà Ulteriori file da distribuire per il debugger. Se lo stack MPI specificato non supporta il parametro -hosts, è possibile che si verifichino errori di runtime in circostanze specifiche. Per ulteriori informazioni, vedere Selezione di nodi specifici e parametro -hosts. |
MPIexec.exe |
Argomenti MPIExec aggiuntivi |
Consente di specificare ulteriori argomenti da passare a MPIexec.exe. Ad esempio, è possibile utilizzare argomenti aggiuntivi per impostare le variabili di ambiente per i processi avviati da MPIexec.exe. Se si specifica il parametro -hosts, è possibile che si verifichino errori di runtime in circostanze specifiche. Per ulteriori informazioni, vedere Selezione di nodi specifici e parametro -hosts. Per ulteriori informazioni sul comando MPIexec, vedere mpiexec Command Reference (https://go.microsoft.com/fwlink/?LinkId=144910; informazioni in lingua inglese). |
Nessuno |
Modalità di protezione rete MPI |
Consente di specificare gli indirizzi IP consentiti per la connessione all'istanza corrente di Visual Studio. Sono disponibili tre modalità di protezione:
|
Accetta connessioni da qualsiasi indirizzo |
Filtro rete MPI |
Consente di specificare l'intervallo di indirizzi IP da cui accettare le connessioni. Specificare l'indirizzo IP iniziale e la subnet mask per questo intervallo. Ad esempio, il filtro di rete 192.168.0.1/255.255.255.0 comprende tutti gli indirizzi tra 192.168.0.1 e 192.168.0.254.
Nota:
Per applicare questo filtro, in Modalità di protezione rete MPI, selezionare Accetta connessioni da un intervallo di indirizzi specificato.
|
Nessuno |
Tipo debugger |
Consente di specificare il tipo di debugger per il codice in esecuzione: nativo, gestito, misto o script. |
Automatico Il tipo di debugger è selezionato in base al contenuto del file .exe. |
File di descrizione processo |
Consente di specificare il percorso del file di descrizione del processo (XML) che contiene le attività da aggiungere al processo di debug. Le attività specificate in questo file vengono aggiunte prima delle attività create dal debugger (il debugger crea le attività di distribuzione, debug e pulizia).
Nota:
Le risorse selezionate nelle proprietà del debugger dei cluster sostituiscono eventuali allocazioni di risorse specificate nel file di descrizione del processo.
Per creare un file di descrizione del processo da un processo nuovo o in coda nella console Gestione processi HPC, fare clic su Salva processo con nome nella finestra di dialogo Nuovo processo o Visualizza processo. |
Nessuno |
Ulteriori file da distribuire |
Consente di specificare i file e le directory da copiare nella directory di distribuzione, oltre a quelli richiesti dal progetto e dalle relative dipendenze. |
Nessuno |
Timeout Utilità di pianificazione (ms) |
Consente di specificare il tempo (in millisecondi) per cui il debugger tenta di contattare un head node. Dopo questo periodo, l'head node non viene ritenuto valido. |
5000 millisecondi |
Distribuisci CRT |
Consente di specificare se Visual Studio distribuisce gli assembly C Runtime (CRT) con l'applicazione. Se viene specificato Sì, gli assembly CRT vengono distribuiti con l'applicazione. Se viene specificato No, gli assembly CRT non vengono distribuiti con l'applicazione. Se le DLL (Dynamic-Link Library) di debug a thread multipli sono collegate in modo statico, non è necessario distribuire i file CRT. Se le DLL di debug a thread multipli sono collegate in modo dinamico, è necessario distribuire i file CRT. |
Sì |
Pulisci distribuzione |
Consente di specificare se Visual Studio eliminerà la directory di distribuzione dopo il debug. Se viene specificato Sì, la directory di distribuzione viene eliminata e la risorsa condivisa viene rimossa all'arresto del debugger.
Nota:
La directory di distribuzione non viene eliminata se contiene file diversi da quelli aggiunti da Visual Studio. Ad esempio, se l'applicazione produce un output nella directory di distribuzione, è opportuno utilizzare uno script post-debug per eliminare la directory.
Se viene specificato No, la directory di distribuzione non sarà eliminata. |
Sì |
Script pre-debug |
Consente di specificare il percorso dello script da eseguire prima del debug. Lo script viene eseguito sullo stesso computer in cui è in esecuzione Visual Studio. Ad esempio, è possibile utilizzare uno script pre-debug per organizzare i dati dell'applicazione nei nodi o per modificare le impostazioni del firewall sul cluster in modo da consentire il debugger remoto. |
Nessuno |
Argomenti script pre-debug |
Consente di specificare la stringa di argomenti passata allo script pre-debug. |
Nessuno |
Script post-debug |
Consente di specificare il percorso dello script da eseguire dopo l'arresto del debug. Ad esempio, è possibile utilizzare uno script post-debug per cancellare i dati dell'area temporanea o i file di output prodotti dall'applicazione oppure per modificare le impostazioni del firewall sul cluster in modo da non consentire il debugger remoto dopo la sessione di debug. |
Nessuno |
Argomenti script post-debug |
Consente di specificare la stringa di argomenti passata allo script post-debug. |
Nessuno |
Selezione di nodi specifici e parametro -hosts
Quando si configura Debugger cluster MPI, è necessario specificare il cluster da utilizzare e il numero di processi da avviare. In alternativa, è possibile selezionare nodi specifici da utilizzare per la sessione di debug.
Debugger cluster MPI utilizza il parametro -hosts con il comando MPIexec per posizionare i processi quando entrambe le condizioni seguenti sono vere:
Si selezionano nodi specifici da utilizzare per la sessione di debug.
Il numero di processi selezionati è minore del numero di risorse sui nodi richiesti.
Se si richiedono nodi specifici e il numero totale di risorse sui nodi richiesti è maggiore del numero di processi specificati, il debugger utilizza il parametro -hosts per posizionare i processi. Se, ad esempio, si selezionano due nodi (NODE01 e NODE02) con quattro core ciascuno e si specifica che si desidera avviare sei processi, il debugger passa l'argomento seguente a MPIexec.exe: -hosts 2 NODE01 4 NODE2 2
.
Nota
Se Debugger cluster MPI utilizza il parametro -hosts per posizionare i processi, si verifica un errore di runtime se almeno una delle seguenti condizioni è vera:
- È stato specificato uno stack MPI che non supporta il parametro -hosts.
- È stato specificato il parametro -hosts nella proprietà Argomenti MPIExec aggiuntivi.
Vedere anche
Concetti
Procedure: Configurare e avviare Debugger cluster MPI
Scenario: Avvio di Debugger cluster MPI in Visual Studio 2010
Debug delle applicazioni MPI su un cluster HPC