Reja: Kirish Asosiy Openmp direktivalari


Download 57.5 Kb.
bet3/4
Sana20.12.2022
Hajmi57.5 Kb.
#1035231
1   2   3   4
Bog'liq
Kompyuter arxitekturasi

OpenMP tuzilishi:
Direktivlar;
Funksiyalarkutubxonasi;
Bir qatoro'zgaruvchilari.
Ushbu tartibda OpenMP texnologiyasining imkoniyatlari ko'rib ch iqiladi.
Ushbu standart C90, C99, C ++, Fortran 77, Fortran 90 va Fortran 95 algoritmlari uchun OpenMP foydalanishni ta'minlaydi. OpenMP direktivasining formatini va barcha dasturlarning misollaridan C da taqdim etiladi; Fortran tili uchun OpenMP texnologiyasidan foydalanish xususiyatlari 5.8.1-bandda keltirilgan. Eng umumiy shaklida OpenMP direktivasining formati quyidagicha ifodalanishi mumkin:


#pragma omp [
[[,]
] ...]

Direktivning boshlang'ich qismi (#pragma omp) sobit bo'ladi, direktivaning turi uning nomi (Direktiv_yeni) bilan belgilanadi, har bir direktiv o'zboshimchalik bilan parametrlar soni bilan birga bo'lishi mumkin (ingliz tilida, OpenMP direktivasining parametrlari atamalar jumlasidan foydalanadi).
Misol uchun, biz bir ko'rsatmaga misol keltiramiz:
#pragma omp parallel default (shared)
\ Shaxsiy (beta, pi)

Misol, ko'rsatmalarni o'rnatish uchun dasturning bir nechta yo'nalishidan foydalanish mumkinligini ko'rsatadi-davom etish mavjudligini belgisi "\" teskarisi.


Birinchi parallel dastur misoli
Juda muhim nuqta ta'kidlab o'taylik - shuni anglash mumkinki, OpenMP texnologiyasining imkoniyatlarini qisqacha ko'rib chiqish oddiy, ammo parallel dasturlarni ishlab chiqish uchun yetarli. Yangi dasturlash tillarini - "Salom Dunyo" degan salom yo'lini chiqadigan dasturni ishlab chiqishda dastlab amalda standart dastur ishlab chiqaylik. Shunday qilib:
#include
int main () {
/ * Parallel parchani tanlash * / #pragma omp parallel
{printf ("Salom Dunyo! \ n");
} / * Parallel parchani * /
}
Qanday ishlayotganini ko'rib chiqsangiz, GCC maxsus funktsiyani yaratadi va blok kodini bu funktsiyaga o'tkazadi, shuning uchun blok ichidagi barcha o'zgaruvchilar funktsiyaning lokal o'zgaruvchilari (har bir oqimning mahalliy o'zgaruvchilari) bo'ladi. Boshqa tomondan, ICC fork () ga o'xshash mexanizmdan
foydalanadi va maxsus funksiya yaratmaydi. Har ikki dastur ham, albatta, to'g'ri va semantik jihatdan bir xildir.
Agarda ifdan foydalanilsa, parallelizm shartli bo’lishi mumkin: extern int parallelism_enabled;

Download 57.5 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling