Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Paralel bir programlama çerçevesi olan OpenMP için C ve C++ dil bilgisi kuralları ve söz dizimi uzantıları hakkında bilgi edinin.
C.1 gösterimi
Dil bilgisi kuralları, terminal olmayan bir ad, ardından iki nokta ve ardından ayrı satırlardaki değiştirme alternatiflerini içerir.
Sözdizimsel ifade terimiopt, değiştirme içinde terimin isteğe bağlı olduğunu gösterir.
sözdizimsel ifade terimoptseq, aşağıdaki ek kurallarla term-seqopt ile eşdeğerdir:
term-seq:
terim
terim-seqterim
terim-seq,terimi
C.2 kuralları
Gösterimi C standardının 6.1. bölümünde açıklanmıştır. Bu dil bilgisi eki, OpenMP C ve C++ yönergeleri için temel dil dil bilgisi uzantılarını gösterir.
/* in C++ (ISO/IEC 14882:1998) */
statement-seq:
beyanat
openmp-yönergesi
statement-seq ifadesi
statement-seq openmp-yönergesi
/* C90'da (ISO/IEC 9899:1990) */
deyim-listesi:
beyanat
openmp-yönergesi
statement-list ifadesi
statement-list OpenMP yönergesi
/* in C99 (ISO/IEC 9899:1999) */
block-item:
beyanname
beyanat
openmp-yönergesi
/* standart ifadeler */
deyimi:
openmp-construct
openmp-construct:
paralel yapı
for-construct
sections-construct
tekil yapı
yapı için paralel
paralel-bölümler-yapısı
master-construct
kritik yapı
atomik yapı
sıralı yapı
openmp-yönergesi:
barrier-yönergesi
flush-yönergesi
yapılandırılmış blok:
beyanat
parallel-construct:
paralel yönergeli yapılandırılmış blok
parallel-direktif
# pragma omp parallel
parallel-clauseoptseqnew-line
paralel yan cümle:
Eşsiz-paralel yan tümcesi
data-ifadesi
unique-parallel-yan tümcesi:
if (
ifade)
num_threads (
ifade)
for-construct:
for yönergesi yineleme deyimi
for-directive:
# pragma omp for
for-clauseoptseqyeni satır
for-clause:
unique-for-clause
data-ifadesi
nowait
unique-for-clause:
ordered
schedule (
zamanlama türü)
schedule (
zamanlama türü,ifade )
program türü:
static
dynamic
guided
runtime
sections-construct:
bölümler-yönergesi bölüm-kapsamı
bölümler-yönergesi:
# pragma omp sections
sections-yan tümcesioptseqnew-line
sections-yan tümcesi:
veri yan tümcesi
nowait
bölüm kapsamı:
{ section-sequence }
bölüm dizisi:
bölüm-yönergeseçenekyapılandırılmış blok
bölüm-dizisi bölüm-yönergesi yapılandırılmış-blok
section-yönergesi:
# pragma omp section
yeni satır
tek yapı:
tek yönergeli yapılandırılmış blok
tekli direktif
# pragma omp single
tek yan tümcesioptseqyeni satır
tek bir yan tümcesi:
data-cümlesi
nowait
yapı için paralel:
parallel-for-directive yineleme-deyimi
parallel-for-yönergesi:
# pragma omp parallel for
parallel-for-yan tümcesioptseqyeni-satır
parallel-for-yan tümcesi:
benzersiz-paralel-kural
unique-for-clause
data-yan tümcesi
paralel-bölümler-konstrüksiyonu:
paralel-bölümler-yönergesi bölüm-kapsamı
parallel-sections-yönergesi:
# pragma omp parallel sections
parallel-sections-yan tümcesioptseqyeni-satır
parallel-sections-clause:
Eşsiz-paralel yan tümcesi
data-ifadesi
master-construct:
ana-yönerge yapılandırılmış-blok
ana-yönerge:
# pragma omp master
yeni satır
critical-construct:
kritik yönergeli yapılandırılmış blok
kritik yönerge:
# pragma omp critical
bölge tümceciğiyeni satırı seç
bölge ifadesi:
(tanımlayıcı)
barrier-directive:
# pragma omp barrier
yeni satır
atomic-construct:
atomik-direktif ifade-ifadesi
atomic-yönergesi:
# pragma omp atomic
yeni satır
flush-yönergesi:
# pragma omp flush
flush-varsyeni satırı seç
flush-vars:
(değişken listesi)
ordered-construct:
siparişli-talimât yapılandırılmış-blok
sıralı-yönerge:
# pragma omp ordered
yeni satır
/* standart bildirimler */
bildirim:
threadprivate-yönergesi
threadprivate-yönergesi:
# pragma omp threadprivate (
değişken listesi)yeni satır
data-clause:
private (
değişken listesi)
copyprivate (
değişken listesi)
firstprivate (
değişken listesi)
lastprivate (
değişken listesi)
shared (
değişken listesi)
default ( shared )
default ( none )
reduction (
azaltma işleci:değişken listesi)
copyin (
değişken listesi)
azaltma işleci:
Bunlardan biri: + \* - & ^ | && ||
/* in C */
değişken listesi:
tanımlayıcı
değişken listesi,tanımlayıcısı
C++ içinde /* */
değişken listesi:
id-ifadesi
değişken-listesi,id ifadesi