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ın adını, ardından iki nokta üst üste ve ardından ayrı satırlardaki değiştirme alternatiflerini içerir.
Söz dizimsel ifade terimiopt , terimin değiştirme içinde isteğe bağlı olduğunu gösterir.
söz dizimsel ifade terimioptseq, aşağıdaki ek kurallarla term-seqopt ile eşdeğerdir:
term-seq:
terim
terim-seqterimi
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 deyimi
statement-seq openmp-yönergesi
/* C90'da (ISO/IEC 9899:1990) */
deyim-listesi:
beyanat
openmp-yönergesi
statement-list deyimi
statement-list openmp-yönergesi
/* in C99 (ISO/IEC 9899:1999) */
block-item:
beyanname
beyanat
openmp-yönergesi
/* standart deyimleri */
deyimi:
openmp-construct
openmp-construct:
paralel yapı
for-construct
sections-construct
tek yapılı
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-yönergesi:
# pragma omp parallel
parallel-yan tümcesioptseqnew-line
parallel-yan tümcesi:
unique-parallel yan tümcesi
data-yan tümcesi
unique-parallel-yan tümcesi:
if (
ifade)
num_threads (
ifade)
for-construct:
for-directive yineleme-deyimi
for-directive:
# pragma omp for
for-clauseoptseqnew-line
for-clause:
unique-for-clause
data-yan tümcesi
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ı
sections-yönergesi:
# pragma omp sections
sections-yan tümcesioptseqnew-line
sections-yan tümcesi:
data-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ılı:
tek yönergeli yapılandırılmış blok
tek yönergeli:
# pragma omp single
tek yan tümcesioptseqnew-line
tek yan tümcesi:
data-yan tümcesi
nowait
yapı için paralel:
parallel-for-directive yineleme-deyimi
parallel-for-yönergesi:
# pragma omp parallel for
parallel-for-yan tümcesioptseqnew-line
parallel-for-yan tümcesi:
unique-parallel yan tümcesi
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ümcesioptseqnew-line
parallel-sections-yan tümcesi:
unique-parallel yan tümcesi
data-yan tümcesi
master-construct:
ana-yönerge yapılandırılmış-blok
master-yönergesi:
# pragma omp master
yeni satır
critical-construct:
kritik yönergeli yapılandırılmış blok
critical-yönergesi:
# pragma omp critical
bölge tümceciğiyeni satırı seç
bölge tümceciği:
(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
ordered-yönergesi:
# 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: + \* - & ^ | && ||
C'de /* */
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