ΠΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ² ΠΡΠ΅nΠΠ
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (copyprivatefcnucoK ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ )), Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ single, Π±ΡΠ΄ΡΡ Π·Π°Π½Π΅ΡΠ΅Π½Ρ Π²ΠΎ Π²ΡΠ΅ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ (private ΠΈ flrstprivate), Π·Π°Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΊΡΠΈΠΈ; ΡΡΠ° ΠΎΠΏΡΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ nowait; ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² ΠΎΠΏΡΠΈΡΡ private ΠΈ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ² ΠΡΠ΅nΠΠ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
3.2.1. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΉ ΡΠ΅ΠΊΡΠΈΠΈ:
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠΈΠΉ ΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ:
- — ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΏ (ΠΏΠΈΡ threads (ΠΏ));
- — ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ (if (ΡΡΠ»ΠΎΠ²ΠΈΠ΅));
- — ΡΠΏΠΈΡΠΎΠΊ ΠΎΠ±ΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅ΠΊΡΠΈΠΈ (shared (cnucoK ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ));
- — ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ ΡΠ΅ΠΊΡΠΈΠΈ (privatefcnucoK ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ )), ΠΏΡΠΈΡΠ΅ΠΌ ΠΈΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ;
- — ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ ΡΠ΅ΠΊΡΠΈΠΈ (firstprivate (cnucoK ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ )), ΠΏΡΠΈΡΠ΅ΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π±ΡΠ΄ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°;
— ΡΠΏΠΎΡΠΎΠ± Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° ΠΏΠ°ΠΌΡΡΠΈ default (shared one) Π²ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌ ΠΊΠ»Π°ΡΡ Π½Π΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ ΡΠ²Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠΈΠΈ shared (ΡΠ»ΠΎΠ²ΠΎ ΠΏΠΎΠΏΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠ»Π°ΡΡ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΡΠ½Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°Π΄Π°Π½ ΡΠ²Π½ΠΎ); Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡ Π΄Π»Ρ ΡΠ·ΡΠΊΠ° Fortran ΠΌΠΎΠ³ΡΡ Π½Π°Π·Π½Π°ΡΠ°ΡΡΡΡ ΠΊΠ»Π°ΡΡΡ private ΠΈ firstprivate;
- — ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ threadprivate (ΡΠΌ. Π½ΠΈΠΆΠ΅), Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π²Ρ ΠΎΠ΄Π° Π² Π΄ΡΡΠ³ΡΡ;
- — ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠ±ΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ reductionfone-
ΡΠ°ΡΠΎΡ: ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ); Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅; Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΈΠΏΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° (Π΄Π»Ρ Π°Π΄Π΄ΠΈΡΠΈΠ²Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½ΠΎΠ»Ρ ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈ, Π΄Π»Ρ ΠΌΡΠ»ΡΡΠΈΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ²Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ»ΠΈ ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈ); Π½Π°Π΄ Π²ΡΠ΅ΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΏΠΈΡΠΌΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΊΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π±ΡΠ΄ΡΡ Π·Π°Π½Π΅ΡΠ΅Π½Ρ Π² ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅; Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ: +, *, &, |,.
Π, &&, ||.
3.2.2. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π°, ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ:
Π‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡΠΈΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ for ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ:
— ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ ΡΠ΅ΠΊΡΠΈΠΈ (private (ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ )), ΠΏΡΠΈΡΠ΅ΠΌ ΠΈΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ;
ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ ΡΠ΅ΠΊΡΠΈΠΈ (Jirstprivate (cnucoK ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ )), ΠΏΡΠΈΡΠ΅ΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π±ΡΠ΄ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°;
— ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° (lastprivatefcnucoK ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ )), ΠΊΠΎΡΠΎΡΡΠΌ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π°;
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠ±ΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ reduct ion (onepaΡΠΎΡ: ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ )', Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅; Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΈΠΏΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° (Π΄Π»Ρ Π°Π΄Π΄ΠΈΡΠΈΠ²Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ — Π½ΠΎΠ»Ρ ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈ, Π΄Π»Ρ ΠΌΡΠ»ΡΡΠΈΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ²Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ — Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ»ΠΈ Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈ); Π½Π°Π΄ Π²ΡΠ΅ΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΏΠΈΡΠΌΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΊΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π±ΡΠ΄ΡΡ Π·Π°Π½Π΅ΡΠ΅Π½Ρ Π² ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅; Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ: +,.
*,&, |, &&, ||;
- — ΡΠΏΠΎΡΠΎΠ± ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠΊΠ»Π° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΊΡΠΈΠΈ (schedule (type[chunk])); ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ chunk ΡΡΠΎΠΉ ΠΎΠΏΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡΠΎΠΊ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 1), ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ type ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΈΠΏ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: static — ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ, Ρ. Π΅. ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, dynamic — Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ, Ρ. Π΅. ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ, guided — Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ Π½Π° ΠΏΠΎΡΠΎΠΊ ΠΎΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π΄ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ chunk, auto — ΡΠΏΠΎΡΠΎΠ± ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, runtime — ΡΠΏΠΎΡΠΎΠ± ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π·Π°Π΄Π°Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ;
- — Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ (ΠΎΠΏΡΠΈΡ ordered) ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π² ΡΠ΅Π»Π΅ ΡΠΈΠΊΠ»Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ordered, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡ Π²Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΅Ρ Π±Π»ΠΎΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠΎΡΠ½ΠΎ Π² ΡΠΎΠΉ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΊΠ°ΠΊΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°;
- — ΠΎΡΠΌΠ΅Π½Ρ (nowait) Π½Π΅ΡΠ²Π½ΠΎΠΉ Π±Π°ΡΡΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ², Π΄ΠΎΡΡΠΈΠ³ΡΠΈΡ ΠΊΠΎΠ½ΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠΊΠ»Π° (ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΡΠΎΠΉ ΠΎΠΏΡΠΈΠΈ ΡΡΠ°ΡΡΠΎΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡ Π²ΡΠ΅ ΡΠ²ΠΎΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ);
- — Π³Π»ΡΠ±ΠΈΠ½Ρ ΠΏ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π΄ΡΡΠ³ Π² Π΄ΡΡΠ³Π° ΡΠΈΠΊΠ»ΠΎΠ² (collapse (n)), ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ (Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ 2.5 ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΡΡΠΏΠΠ );
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ parallel ΠΈ for ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Π² ΠΎΠ΄Π½Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎΠΏΡΠΈΠΈ ΠΊΠ°ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ parallel, ΡΠ°ΠΊ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ.
for:
Upragma ΠΎΡΡ parallel for [ΠΎΠΏΡΠΈΡ1 [, ΠΎΠΏΡΠΈΡ _2, …]]
3.2.3. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π°, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ°Ρ Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π΅Ρ ΡΡΠ°ΡΡΠΊΠ° ΠΊΠΎΠ΄Π° (ΡΠ°ΡΡΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π°) Π² ΡΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΠΈΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
3.2.4. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π·Π°Π΄Π°Π½ΠΈΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π΅ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° (ΡΡΠ°ΡΡΠΊΠΈ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ, Π²ΡΠ΄Π΅Π»ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΠΎΠΉ Π΄Π°Π»Π΅Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ section):
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠΏΡΠΈΠΉ ΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ private, firstprivate, lastprivate, reduction ΠΈ nowait, ΠΈΠΌΠ΅ΡΡΠΈΠ΅ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠΌΡΡΠ», ΡΡΠΎ ΠΈ Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ for.
3.2.5. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ°ΡΡΠΊΠ° Π½Π΅ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°:
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ Π²Π½ΡΡΡΠΈ ΡΡΠ°ΡΡΠΊΠ° ΠΊΠΎΠ΄Π°, ΠΎΡ Π²Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ sections, Π²ΡΠ΄Π΅Π»ΡΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ. ΠΠ΅ΡΠ΅Π΄ ΡΠ°ΠΌΡΠΌ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠΌ ΡΡΠ°ΡΡΠΊΠ° Π½Π΅ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ section ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ.
3.2.6. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ²:
ΠΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ Π΄Π»Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ·ΡΠΊΠ° C/C++ (ΠΈ COMMON-Π±Π»ΠΎΠΊΠΎΠ² ΡΠ·ΡΠΊΠ° Π€ΠΎΡΡΡΠ°Π½), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠΈΠΌΠΈ.
3.2.7. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ (Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 2.5 ΠΡΠ΅ΠΏΠΠ ):
Π’Π΅ΠΊΡΡΠΈΠΉ ΠΏΠΎΡΠΎΠΊ ΡΠΎΠ·Π΄Π°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π°Π΄Π°ΡΠΈ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ². ΠΡΠ° Π·Π°Π΄Π°ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ»ΠΈ Π±ΡΡΡ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π½Π° Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎ ΡΠ°ΡΡΡΠΌ. Π Π°Π·ΠΌΠ΅Ρ ΡΠ°ΠΊΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ ΡΠ°Π·Π½ΡΡ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΡΠ΅ΠΏΠΠ .
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ:
- — if default, private, firstprivate ΠΈ shared — ΠΈΠΌΠ΅ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΡΠΌΡΡΠ», ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°Ρ ;
- — untied — ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΡ Π·Π°Π΄Π°ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° Π»ΡΠ±ΡΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΈΠ· ΡΠΈΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ; Π΅ΡΠ»ΠΈ Π΄Π°Π½Π½Π°Ρ ΠΎΠΏΡΠΈΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π°, ΡΠΎ Π·Π°Π΄Π°ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠ΄ΠΈΠ²ΡΠΈΠΌ ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠΌ;
- 3.2.8. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ Π·Π°Π΄Π°Ρ, Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°:
3.2.9. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π°, ΡΡΠ΅Π±ΡΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡ Π²Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΅Ρ ΡΡΠ°ΡΡΠΊΠ° ΠΊΠΎΠ΄Π° Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΎΠ΄Π½ΠΈΠΌ (Π»ΡΠ±ΡΠΌ) ΠΏΠΎΡΠΎΠΊΠΎΠΌ:
ΠΠΏΡΠΈΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ:
ΡΠΏΠΈΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ private ΠΈ flrstprivate, ΠΈΠΌΠ΅ΡΡΠΈΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ, ΠΊΠ°ΠΊ Π² ΡΠ°Π½Π΅Π΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°Ρ ;
ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (copyprivatefcnucoK ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ )), Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ single, Π±ΡΠ΄ΡΡ Π·Π°Π½Π΅ΡΠ΅Π½Ρ Π²ΠΎ Π²ΡΠ΅ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ (private ΠΈ flrstprivate), Π·Π°Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΊΡΠΈΠΈ; ΡΡΠ° ΠΎΠΏΡΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ nowait; ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² ΠΎΠΏΡΠΈΡΡ private ΠΈ flrstprivate Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ single;
ΠΎΡΠΌΠ΅Π½Ρ (nowait) Π½Π΅ΡΠ²Π½ΠΎΠΉ Π±Π°ΡΡΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ², Π΄ΠΎΡΡΠΈΠ³ΡΠΈΡ ΡΠΎΡΠΊΠΈ, ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π·Π° Π±Π»ΠΎΠΊΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΠΎΡ Π²Π°ΡΠ΅Π½Π½ΡΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ single; ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΡΠΎΠΉ ΠΎΠΏΡΠΈΠΈ ΡΠ°ΠΊΠ°Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ.
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π°, ΡΡΠ΅Π±ΡΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡ Π²Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΅Ρ ΡΡΠ°ΡΡΠΊΠ° ΠΊΠΎΠ΄Π° Π³Π»Π°Π²Π½ΡΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
ΠΡΠΎΡ ΡΡΡΡΠΊΡΡΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π³Π»Π°Π²Π½ΡΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΡ Π΄Π°Π½Π½ΡΠΉ ΡΡΠ°ΡΡΠΎΠΊ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΠΎΠΌ Π·Π° Π½ΠΈΠΌ. ΠΠ΅ΡΠ²Π½ΠΎΠΉ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π½Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ.
ΠΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΡΡΡ Π²ΡΠ΅Ρ ΠΎΠΏΡΠΈΠΉ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°Ρ ΠΡΠ΅ΠΏΠΠ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π² ΡΠ°Π±Π»ΠΈΡΠ΅.
3.2.11. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ΡΠ²Π½ΠΎΠΉ Π±Π°ΡΡΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ:
ΠΠΎΡΠΎΠΊΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠ΅ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΡΠ΅ΠΊΡΠΈΡ, Π΄ΠΎΠΉΠ΄Ρ Π΄ΠΎ ΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ, ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΈ ΠΆΠ΄ΡΡ, ΠΏΠΎΠΊΠ° Π²ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ Π½Π΅ Π΄ΠΎΠΉΠ΄ΡΡ Π΄ΠΎ ΡΡΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΡΡΡΡΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄Π°Π»ΡΡΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΄Π»Ρ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΏΠΎΡΠΎΠΆΠ΄ΡΠ½Π½ΡΠ΅ ΠΈΠΌΠΈ Π·Π°Π΄Π°ΡΠΈ (Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ task ΠΈ taskwait).
ΠΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΡΡΡ ΠΎΠΏΡΠΈΠΉ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°Ρ .
ΠΠΏΡΠΈΠΈ. | ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ. | |||||
parallel. | for. | sections. | single. | parallel. for. | parallel. sections. | |
if. | X. | X. | X. | |||
private. | X. | X. | X. | X. | X. | X. |
firstprivate. | X. | X. | X. | X. | X. | X. |
lastprivate. | X. | X. | X. | X. | ||
copyprivate. | X. | |||||
copyin. | X. | X. | X. | |||
shared. | X. | X. | X. | |||
default. | X. | X. | X. | |||
reduction. | X. | X. | X. | X. | X. | |
schedule. | X. | X. | ||||
ordered. | X. | X. | ||||
nowait. | X. | X. | X. | |||
collapse. | X. | X. |
3.2.12. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π°, ΠΎΠ±ΡΡΠ²Π»ΡΡΡΠ°Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅ΠΊΡΠΈΡ — ΡΡΠ°ΡΡΠΎΠΊ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π΅Π΄ΠΈΠ½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ:
ΠΡΠ»ΠΈ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅ΠΊΡΠΈΡ ΡΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠΌ, ΡΠΎ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ²ΡΠΈΠ΅ ΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ Π΄Π»Ρ ΡΠ΅ΠΊΡΠΈΠΈ Ρ Π΄Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π±ΡΠ΄ΡΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Ρ, ΠΏΠΎΠΊΠ° Π²ΠΎΡΠ΅Π΄ΡΠΈΠΉ Π² ΡΠ΅ΠΊΡΠΈΡ ΠΏΠΎΡΠΎΠΊ Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π²ΠΎΠΉΠ΄Π΅Ρ Π² ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅ΠΊΡΠΈΡ. ΠΡΠ»ΠΈ Π½Π° Π²Ρ ΠΎΠ΄Π΅ Π² ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅ΠΊΡΠΈΡ ΡΡΠΎΡΠ»ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ , Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅.
ΠΡΠ΅ Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΠΊΡΠΈΠΈ ΡΡΠ»ΠΎΠ²Π½ΠΎ Π°ΡΡΠΎΡΠΈΠΈΡΡΡΡΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠΡΠ΅ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΠΊΡΠΈΠΈ, ΠΈΠΌΠ΅ΡΡΠΈΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎΠΆΠ΅ ΠΈΠΌΡ, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄Π½Π° ΡΠ΅ΠΊΡΠΈΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠ°Π·Π½ΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡΡ . ΠΠΎΠ±ΠΎΡΠ½ΡΠ΅ Π²Ρ ΠΎΠ΄Ρ ΠΈ Π²ΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΠΊΡΠΈΠΈ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Ρ.
3.2.13. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π½Π° Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Ρ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅:
ΠΡΠΎΠΌΠ°ΡΠ½ΠΎΠΉ (Π±Π»ΠΎΠΊΠΈΡΡΡΡΠ΅ΠΉ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ²) ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² Π΅Π³ΠΎ ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½Ρ Π±ΡΡΡ Π°ΡΠΎΠΌΠ°ΡΠ½ΡΠΌΠΈ.
3.2.13. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΡΠΎΠΊΠ°:
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π·Π°Π΄Π°Π½), Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ ΡΠ°Π½ΡΡΠΈΠ΅ΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡΠ°Ρ ΠΈ ΠΊΡΡ-ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°, Π·Π°Π½ΠΎΡΡΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ; ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ, ΡΡΠ°Π½ΡΡ Π²ΠΈΠ΄ΠΈΠΌΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΏΠΎΡΠΎΠΊΠ°ΠΌ; Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² Π±ΡΡΠ΅ΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄Π°, ΡΠΎ Π±ΡΡΠ΅ΡΡ Π±ΡΠ΄ΡΡ ΡΠ±ΡΠΎΡΠ΅Π½Ρ Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π½ΠΎΡΠΈΡΠ΅Π»ΠΈ ΠΈ Ρ. ΠΏ. ΠΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ²ΡΠ΅Π³ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΏΠΎΡΠΎΠΊΠ°, Π° Π΄Π°Π½Π½ΡΠ΅, ΠΈΠ·ΠΌΠ΅Π½ΡΠ²ΡΠΈΠ΅ΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ, Π½Ρ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡΡΡ. ΠΠΎ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ flush ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ. ΠΠΎΡΡΠΎΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ flush Π±Π΅Π· ΡΠΏΠΈΡΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π»Π΅ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ. ΠΡΠ»ΠΈ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½ΡΠΆΠ½Π° Π³Π°ΡΠ°Π½ΡΠΈΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π΅ Π²ΡΠ΅Ρ , Π° Π»ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ²Π½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ ΡΠΏΠΈΡΠΊΠΎΠΌ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅:
OMPNUMTHREADS — ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π² Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ.
OMPNESTED — Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ.
OMP MAX ACTIVE LEVELS — ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π³Π»ΡΠ±ΠΈΠ½Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ.
OMPDYNAMIC — Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠΎΡΠΎΠΊΠΎΠ² (ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, ΡΠ΅ΠΌ OMPNUMTHREADS).
OMPTHREADLIMIT — ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
OMPSCHEDULE — ΡΠΏΠΎΡΠΎΠ± ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠΊΠ»Π° Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ runtime ΠΎΠΏΡΠΈΠΈ schedule Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ for.
OMP_STACKSIZE — ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ΅ΠΊΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°. OMPWAITPOLICY — Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΈΠ»ΠΈ Π½Π΅Ρ ΠΊΠ²Π°Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΆΠ΄ΡΡΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠ°ΠΌ.