Paralel ishlov berish” fanidan 2-Amaliy ish


Download 22.15 Kb.
Sana31.01.2024
Hajmi22.15 Kb.
#1819764
Bog'liq
Paralel2

O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI


Paralel ishlov berish” fanidan
2-Amaliy ish
Guruh : 211-20
Bajardi : Karimova Gavhar
Tekshirdi: Turaqulov Shoxrux

TOSHKENT – 2023


Topshiriq-2: Parallel dasturlashda matritsalarni ko‘paytirish
Topshiriqning maqsadi:
Parallel dasturlash tushunchasini tushunish va matritsalarni ko'paytirishni optimallashtirish uchun qo'llash.
Vazifalar:

  1. Matritsalarni ko‘paytirish tushunchalarini o‘rganish:


Matritsalar o'lchamlari: Matritsani ko'paytirish uchun birinchi narsa, matritsalar o'lchamlarining mos kelishi shart. Agar bir matritsa o'lchami m×n bo'lsa, ikkinchi matritsa o'lchami ham n×p bo'lishi kerak, aks holda ko'paytirish amaliyoti amalga oshirilmaydi.
Elementar amallar: Matritsani ko'paytirish elementlar bo'yicha o'tadi. Natijadagi har bir element C[i][j] uchun:


Matritsani ko'paytirish algoritmi: Quyidagi keng tarqalgan matritsani ko'paytirish algoritmi bilan matritsalarni ko'paytirish mumkin:


Bu Python dasturida matritsani ko'paytirish uchun oddiy algoritmni ko'rishimiz mumkin. Bu algoritm har bir matritsani elementlari bo'yicha o'tadi va ularni ko'paytiradi.
Dastur kodidan tashqari, qo'shimcha optimallashtirilgan algoritmlar va kutubxonalarni ham ishlatish mumkin, masalan, NumPy kutubxonasini Python dasturlashda matritsani ko'paytirish uchun ishlatish mumkin.


  1. Matritsalarni ketma-ket ko‘paytirishni amalga oshirish:





Natijasi:



  1. Parallel dasturlashdan foydalanish:



Matritsalarni parallel ko'paytirish amaliyotini amalga oshirish uchun ko'p qo'llaniladigan texnologiyalardan biri NumPy kutubxonasidir. NumPy, matematika amaliyotlarini boshqarish, ma'lumotlar bilan ishlash, va mazkur sohada ko'p funksiyalar taqdim etadi.


Python uchun parallel matritsani ko'paytirish amaliyotini amalga oshirish uchun concurrent.futures yoki joblib kutubxonalari ham ishlatiladi. Bu vositalar, parallel hisoblash uchun qulay mekanizmlarni taqdim etish orqali, matritsalarni ko'paytirish jarayonini tezlashtirishga yordam beradi.
Quyidagi, NumPy va concurrent.futures kutubxonasini ishlatadigan oddiy parallel matritsani ko'paytirish dasturi misoli berilgan:







  1. Bajarish vaqtini taqqoslash.








  1. Sinov natijalarini tahlil qilish va xulosa:

Vaqt solishtirish: Agar matritsa o'lchami kattaligi oshirilsa, parallel matritsalarni ko'paytirish algoritmi vaqtning tejashini oshiradi. Buni parallelism yordamida amalga oshiriladigan har bir kompyuter intizomlari va uchun mashhur bo'lgan hisoblashni tanlashi mumkin.


Parallel ishlovchilar soni: Parallel matritsalarni ko'paytirishda ishlovchilar soni juda muhimdir. Agar ishlovchilar soni juda ko'p bo'lsa, bu matritsalarni ko'paytirishda tegishli vaqt tejamkorligini ko'taradi. Bunday holatda, parallel ishlovchi tizimlar, masalan, multi-core processorlar yoki GPU'lar foydalana olishi mumkin.
Algoritm tuzilishi: Matritsalarni ko'paytirish algoritmi ham muhim. Agar ishlovchilar sodir bo'lishi mumkin bo'lgan qisqa harakatlar ko'rsatilsa, matritsalarni parallel ko'paytirish bo'yicha foydali bo'ladi. Aks holda, har bir elementning hisoblanishi uchun ko'p qadamli amallar bajarilganida, parallel ishlovchi uchun qo'shimcha vaqt sarflanishi mumkin.

Parallel dasturlash eng foydali va samarali bo'lishi uchun quyidagi muhim nuqtalarga e'tibor bering:


Ishlovchilar sonini aniqlang: Matritsalarni parallel ko'paytirishda ishlovchilar soni juda muhimdir. Agar ishlovchilar soni juda ko'p bo'lsa, parallel dasturlash samarali bo'ladi.
Algoritmlar o'zgartirishlari: Agar matritsalarni ko'paytirishning barcha qadamini parallel amalga oshirishni talab qilsa, algoritmani bunaqa qilib o'zgartirish kerak. Har bir parallel vazifasini bajarish uchun o'zgarilgan algoritmni tanlash juda muhim.
Platforma: Platforma (masalan, multi-core processorlar, GPU'lar) qanday hisoblash uchun yaroqli bo'lsa, shu platforma uchun parallel dasturlashni optimallashtirish samarali bo'ladi.







Download 22.15 Kb.

Do'stlaringiz bilan baham:




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