Academic Research in Educational Sciences
Volume 4 | Issue 5 | 2023
ISSN: 2181-1385
ISI: 0,967 | Cite-Factor: 0,89 | SIS: 1,9 | ASI: 1,3 | SJIF: 5,771 | UIF: 6,1
sa
516
May, 2023
https://t.me/ares_uz Multidisciplinary Scientific Journal
Kod ikkita parametrni qabul qiluvchi “loop_unrolling_optimization”
funksiyasini belgilaydi: “loop_body” va “unroll_factor”. Ushbu funktsiyaning
maqsadi ma'lum bir sikl tanasida siklni ochishni
optimallashtirishni amalga
oshirishdir.
Funktsiya ichida “unrolled_loop_body” deb nomlangan bo'sh ro'yxat yaratiladi.
Keyin, “unroll_factor” qadam o'lchami bilan “loop_body” indekslarini takrorlash
uchun for sikli ishlatiladi.
Bu shuni anglatadiki, sikl bir vaqtning o'zida
“unroll_factor” elementlarini qayta ishlaydi. Loopning har bir iteratsiyasida kod
“loop_body” bo'lagini “unrolled_loop_body” ro'yxatiga qo'shadi. Bo'lim
joriy
indeksdan i dan “i + unroll_factor” ga olinadi, “unroll_factor”
elementlarini
“loop_body” dan samarali ajratib oladi.
Nihoyat, funksiya optimallashtirish qo'llanilgandan so'ng sikl tanasini o'z
ichiga olgan “unrolled_loop_body” ro'yxatini qaytaradi.
Loop transformatsiyalari qo'shimcha xarajatlarni kamaytirish va xotiraga kirish
usullarini yaxshilash orqali dasturlarning ishlashini yaxshilashi mumkin. [1]
2.
Loop Fusion
(Skilni birlashtirish). Keshdan(Komputer
xotirasida saqlanib
qolgan narsalar) foydalanishni yaxshilash va qo'shimcha xarajatlarni kamaytirish
uchun o'xshash operatsiyalarni bajaradigan bir nechta
sikllarni bitta siklga
birlashtiradi. Kod ikkita parametrni qabul qiluvchi “loop_fusion_optimization”
funksiyasini belgilaydi: “loop1_body” va “loop2_body”. Ushbu funktsiyaning
maqsadi ikkita berilgan sikl tanasida sikl sintezini optimallashtirishni amalga
oshirishdir.Funktsiya ichida + operatori yordamida “loop1_body” va “loop2_body” ni
birlashtirish orqali “fused_loop_body” deb nomlangan yangi ro'yxat yaratiladi. Bu
operatsiya ikkala halqa tanasining elementlarini bitta ro'yxatda birlashtiradi.
Va nihoyat, funktsiya optimallashtirish qo'llanilgandan so'ng
birlashtirilgan sikl
tanasini ifodalovchi “fused_loop_body” ni qaytaradi. [6]
3.
Dostları ilə paylaş: