Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa appendice riepilogati i comportamenti che sono descritti come “implementazione-definiti„ in questa API.Ogni comportamento viene visualizzato nella descrizione nella specifica principale.
Note
Un'implementazione è obbligatoria definire e documentare il comportamento in questi casi, ma questo elenco può essere incompleto.
Numero di thread: Se un'area parallela viene rilevato durante la modifica dinamica del numero di thread viene disabilitata e il numero di thread dell'area parallela supera il numero del sistema in fase di esecuzione possibile immettere, il comportamento del programma viene implementazione-definito (vedere la pagina 9).
in Visual C++, per un'area parallela non annidata, 64 thread (il massimo) saranno forniti.
Numero di processori: Il numero di processori in realtà fisici che ospitano i thread in un determinato momento è implementazione-definito (vedere la pagina 10).
In Visual C++, questo numero non è costante e viene controllato dal sistema operativo.
Creare i team di thread: Il numero di thread in un team che eseguono un'area parallela annidata è implementazione-definito. (vedere la pagina 10).
In Visual C++, questo è determinato dal sistema operativo.
pianificazione (pre-elaborati): La decisione relativamente programmazione viene rinviata fino al runtime.Il tipo di pianificazione e le dimensioni del blocco possono essere scelti in fase di esecuzione impostando OMP_SCHEDULE variabile di ambiente.Se la variabile non è impostata, la pianificazione risultante è implementazione-definita (vedere la pagina 13).
In Visual C++, il tipo di pianificazione viene static senza dimensioni del blocco.
Pianificazione predefinita: In assenza di una clausola di pianificazione, la pianificazione predefinita è implementazione-definita (vedere la pagina 13).
In Visual C++, il tipo predefinito di pianificazione viene static senza dimensioni del blocco.
ATOMICO: È implementazione-definita se un'implementazione di sostituire tutti atomic direttive con critico le direttive con lo stesso nome univoco (vedere la pagina 20).
In Visual C++, se i dati modificati da atomico non è un allineamento naturale o se è 1 o 2 byte di lunghezza tutte le operazioni atomiche che soddisfano tale proprietà utilizzerà una sezione critica.In caso contrario, le sezioni critiche non viene utilizzata.
omp_get_num_threads: Se il numero di thread in modo esplicito non è stato impostato dall'utente, l'impostazione predefinita è implementazione-definita (vedere la pagina 9 e parte 3.1.2 nella pagina 37).
In Visual C++, il numero predefinito dei thread è uguale al numero di processori.
omp_set_dynamic: L'impostazione predefinita per la modifica dinamica dei thread è implementazione-definita (vedere parte 3.1.7 nella pagina 39).
in Visual C++, l'impostazione predefinita è FALSE.
omp_set_nested: Quando il parallelismo annidato è abilitato, il numero di thread utilizzati per eseguire le aree parallele annidate è implementazione-definito (vedere parte 3.1.9 nella pagina 40).
In Visual C++, il numero di thread è determinato dal sistema operativo.
OMP_SCHEDULE variabile di ambiente: il valore predefinito per questa variabile di ambiente è implementazione-definito (vedere parte 4,1 nella pagina 48).
In Visual C++, il tipo di pianificazione viene static senza dimensioni del blocco.
OMP_NUM_THREADS variabile di ambiente: Se non viene specificato alcun valore per OMP_NUM_THREADS la variabile di ambiente o, se il valore specificato non è un numero intero positivo, o se il valore è maggiore del numero massimo di thread del sistema può supportare, il numero di thread da utilizzare è implementazione-definita (vedere parte 4,2 nella pagina 48).
In Visual C++, se il valore specificato è zero o inferiore, il numero di thread è uguale al numero di processori.Se il valore è maggiore di 64, il numero di thread è 64.
OMP_DYNAMIC variabile di ambiente: il valore predefinito è implementazione-definito (vedere parte 4,3 nella pagina 49).
in Visual C++, l'impostazione predefinita è FALSE.