D
= (0,
-1) va yo'nalish vektori d = ("=", ">").
Array elementlarining qiymatlari birinchi marta ishlatiladi va keyin qayta hisoblab
chiqiladi-bu qarama-qarshilik. Agar ichki tsiklni bitta katta operator deb hisoblasak, unda barcha
bog'liqliklar bu katta operator ichida yashiriladi va shuning uchun tashqi tsikl
cheklovlarsiz iteratsiya orqali parallel bo'lishi mumkin. Ichki tsikl va
ikkita tsikldagi parallellik bir vaqtning o'zida mavjud bo'lishi mumkin operatsiyalarni amalga oshirishdan oldin kerakli
kirish ma'lumotlarining takrorlanishi sharti bilan amalga oshiriladi.
Ushbu misolda hisob-kitob natijalarini o'zgartirmasdan tashqi va ichki tsiklni almashtirishingiz mumkin.
Bunday konversiyadan keyin masofa vektori bo'ladi
D
= (
-1, 0) va yo'nalish vektori d = (">", "="). Qaramlik turi o'zgarmaydi. Bu
erda cheklovlar parallelevatvnutrenniy tsiklni va tashqi tsiklni parallelizatsiya
qilish va ikki yo'nalishda ikki nusxadagi ma'lumotlarni takrorlashingiz kerak.
P
Rimer
7. Dastur qismini oling
do i = 1,
u
1
do j = 1,
u
2
S:
a[i, j] = a[i+1, j+1] * 2
enddo
enddo
Biz masofa vektorini, yo'nalish vektorini hisoblaymiz, qaramlik turini va mumkinligini aniqlaymiz-
nostarallelivaniya aylanishi.
KOMPYUTER TADQIQOTLARI VA MODELLASHTIRISH
Algoritmlar va dasturlarni parallelizatsiyalashga kirish
263
Davrni ochish.
(1, 1)
a[1, 1] = a[2, 2] * 2
(1, 2)
a[1, 2] = a[2, 3] * 2
. . .
(2, 1)
a[2, 1] = a[3, 2] * 2
(2, 2)
a[2, 2] = a[3, 3] * 2
. . .
Shubhasiz, masofa vektori mohiyatdir
D
= (
-1, -1) va yo'nalish vektori D= (">", ">").
Array elementlarining qiymatlari birinchi marta ishlatiladi va keyin qayta hisoblab
chiqiladi-bu qarama-qarshilik. Ichki yoki tashqi tsikldagi parallelizatsiya yoki ikkita tsikl
bir vaqtning o'zida operatsiyalarni bajarishdan oldin kerakli kirish ma'lumotlarini nusxalash sharti bilan amalga oshirilishi mumkin.
Va bu erda natijalarni o'zgartirmasdan tashqi va ichki tsiklni o'zgartirish mumkin
hisoblash. Tahlil ham o'zgarmaydi.
Haqida
UMUMIY TASDIQLASH
5. Pustmnogomer aylanishi yo'nalish vektoriga ega
D, tarkibi
bu faqat elementlarni o'z ichiga oladi "
> "va"=". Bunday tsikl bo'lishi mumkinprasparallen hech qanday holda
komponentlarga mos keladigan indekslarning har qanday soniga cheklovlar"
= "vektorda-
hukmronlik. Komponentlarga mos keladigan indekslarni parallellashtirish "
> "yo'nalish vektorida
kerakli ma'lumotlarni takrorlash mumkin.
Dastlabki strukturaning turli qatlamlariga mos keladigan aylanishlarni parallellashtirishdan oldin xavfsiz
tarzda o'zgartirilishi mumkin.
P
Rimer
8. Tsiklni ko'rib chiqing
do i = 1,
u
1
do j = 1,
u
2
S:
a[i, j] = a[i, j-1] * 2
enddo
enddo
Biz masofa vektorini, yo'nalish vektorini hisoblaymiz, qaramlik turini va mumkinligini aniqlaymiz-
nostarallelivaniya aylanishi.
Biz tsiklning bajarilishini ochib beramiz.
(1, 1)
a[1, 1] = a[1, 0] * 2
(1, 2)
a[1, 2] = a[1, 1] * 2
. . .
(2, 1)
a[2, 1] = a[2 ,0] * 2
(2, 2)
a[2, 2] = a[2, 1] * 2
. . .
Shubhasiz, masofa vektori mohiyatdir
Do'stlaringiz bilan baham: |