Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze bijlage bevat een overzicht van het gedrag dat wordt beschreven als 'implementatie gedefinieerd' in deze API. Elk gedrag wordt terugverwezen naar zijn beschrijving in de hoofdspecificatie.
Opmerkingen
In deze gevallen is een implementatie vereist om het gedrag ervan te definiëren en te documenteren, maar deze lijst kan onvolledig zijn.
Aantal threads: Als er een parallelle regio wordt aangetroffen terwijl dynamische aanpassing van het aantal threads is uitgeschakeld en het aantal threads dat is aangevraagd voor de parallelle regio, groter is dan het aantal dat het runtimesysteem kan leveren, wordt het gedrag van het programma door de implementatie gedefinieerd (zie pagina 9).
In Visual C++ wordt voor een niet-geneste parallelle regio 64 threads (het maximum) verstrekt.
Aantal processors: Het aantal fysieke processors dat de threads op elk gewenst moment host, is gedefinieerd door de implementatie (zie pagina 10).
In Visual C++ is dit getal niet constant en wordt dit door het besturingssysteem beheerd.
Teams van threads maken: Het aantal threads in een team dat een geneste parallelle regio uitvoert, is door de implementatie gedefinieerd (zie pagina 10).
In Visual C++wordt dit getal bepaald door het besturingssysteem.
schedule(runtime): De beslissing over de planning wordt uitgesteld tot de uitvoeringstijd. Het schematype en de segmentgrootte kunnen tijdens runtime worden gekozen door de
OMP_SCHEDULEomgevingsvariabele in te stellen. Als deze omgevingsvariabele niet is ingesteld, is het resulterende schema implementatie-afhankelijk (raadpleeg pagina 13).In Visual C++ is het schema type
staticzonder segmentgrootte.Standaardplanning: Als de planningscomponent ontbreekt, wordt de standaardplanning gedefinieerd door de implementatie (zie pagina 13).
In Visual C++ is
statichet standaardschematype zonder segmentgrootte.ATOMAIR: Het is implementatie-afhankelijk of een implementatie alle
atomicrichtlijnen vervangt doorcriticalrichtlijnen met dezelfde unieke naam (zie pagina 20).Als in Visual C++ gegevens die zijn gewijzigd door atomic zich niet op een natuurlijke uitlijning bevinden of als ze één of twee bytes lang zijn, zullen alle atomische operaties die aan die eigenschap voldoen dezelfde kritieke sectie gebruiken. Anders worden kritieke secties niet gebruikt.
omp_get_num_threads: Als het aantal threads niet expliciet is ingesteld door de gebruiker, wordt de standaardinstelling gedefinieerd door de implementatie (zie pagina 9).
In Visual C++ is het standaardaantal threads gelijk aan het aantal processors.
omp_set_dynamic: De standaardinstelling voor dynamische threadaanpassing is door de implementatie gedefinieerd.
In Visual C++ is de standaardwaarde
FALSE.omp_set_nested: Wanneer geneste parallelle uitvoering is ingeschakeld, wordt het aantal threads dat wordt gebruikt voor het uitvoeren van geneste parallelle regio's gedefinieerd door de implementatie.
In Visual C++wordt het aantal threads bepaald door het besturingssysteem.
OMP_SCHEDULE omgevingsvariabele: de standaardwaarde voor deze omgevingsvariabele is door de implementatie gedefinieerd.
In Visual C++ is het schema type
staticzonder segmentgrootte.OMP_NUM_THREADS omgevingsvariabele: Als er geen waarde is opgegeven voor de
OMP_NUM_THREADSomgevingsvariabele of als de opgegeven waarde geen positief geheel getal is, of als de waarde groter is dan het maximum aantal threads dat het systeem kan ondersteunen, is het aantal threads dat moet worden gebruikt, gedefinieerd door de implementatie.Als de opgegeven waarde in Visual C++ nul of kleiner is, is het aantal threads gelijk aan het aantal processors. Als de waarde groter is dan 64, is het aantal threads 64.
OMP_DYNAMIC omgevingsvariabele: de standaardwaarde is door de implementatie gedefinieerd.
In Visual C++ is de standaardwaarde
FALSE.