Sdílet prostřednictvím


F. Nové funkce a vyjasnění ve verzi 2.0

Tento dodatek shrnuje klíčové změny specifikace C/C++ OpenMP při přechodu z verze 1.0 na verzi 2.0. Do specifikace jsou přidány nové funkce:

  • Čárky jsou povoleny ve direktivách OpenMP.

  • Přidání klauzule num_threads . Tato klauzule umožňuje uživateli požádat o určitý počet vláken pro paralelní konstruktor.

  • Direktiva threadprivate byla rozšířena tak, aby přijímala statické proměnné oboru bloku.

  • Matice délky proměnné C99 jsou úplné typy a lze je zadat kdekoli, kde jsou povoleny úplné typy, například v seznamech private, firstprivatea lastprivate klauzulích (viz bod 2.7.2).

  • Privátní proměnnou v paralelní oblasti lze vnořené direktivě označit jako privátní .

  • Klauzule copyprivate byla přidána. Poskytuje mechanismus použití privátní proměnné k vysílání hodnoty od jednoho člena týmu ostatním členům. Je to alternativa k použití sdílené proměnné pro hodnotu při poskytování takové sdílené proměnné by byla obtížná (například v rekurzi vyžadující jinou proměnnou na každé úrovni). Klauzule copyprivate se může objevit pouze v direktivě single .

  • Přidání rutin časování omp_get_wtick a omp_get_wtime podobné rutinám MPI. Tyto funkce jsou nezbytné pro časování hodin zdí.

  • Byla přidána příloha se seznamem chování definovaných implementací v jazyce C/C++ OpenMP. Implementace je nutná k definování a zdokumentování jeho chování v těchto případech.

  • Následující změny slouží k objasnění nebo správnosti funkcí v předchozí specifikaci rozhraní OpenMP API pro C/C++: