BİL542 PARALEL PROGRAMLAMA

Slides:



Advertisements
Benzer bir sunumlar
Bölüm 11 Metin Dosyaları Metin Dosyaları Dosya Açma ve Kapama
Advertisements

Soru1 : Bir borcun faizi, basit olarak aşağıdaki formülle hesaplanır:
String fonksiyonları:
Yinelemeli Algoritma Analizi & Asimptotik Notasyon
Ayrık Yapılar Algoritma Analizi.
Dizi Kullanan Örnekler
STRİNG FONKSİYONLARI.
Soru1: 1’den 4’e kadar olan tamsayıları ekrana tek satırda görülecek şekilde yazdıran bir programı aşağıdaki metotları kullanarak yazınız. Bir printf ifadesi.
Diziler.
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
Fonksiyonlar.
Matlab ile sayısal integrasyon yöntemleri.
Karar Verme: Eşitlik ve Karşılaştırma Operatörleri
TEMEL C PROGRAMLAMA DERSİ - 1
void medyan(int cevap[]) { int j; siralama(cevap);
Bölüm 4 İşlevlerve Modüler Programlama. 1 / 8 İşlev Tanımı /* İşlev açıklama satırı */ ( ) { }
Tanım Birbirleriyle ilişkili ve bitişik iki ya da daha fazla bellek hücresinden oluşan yapı Örnek dizi tanımı: int tamsayiDizi[10]; tamsayiDizi[0] /*ilk.
Değişken Bildirimleri
Atama ve Girdi/Çıktı Komutları
Bölüm 2: Program Denetimi
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Bölüm 10 Yapılar ve Birleşimler
Recursion (Özyineleme)
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 3: Döngüler
Fonksiyonlar Hafta 4.
Soru1: Dışardan "%s" format belirteci kullanılarak girilecek 20 elemanlı bir dizinin elemanlarının kaç tanesinin rakam, kaç tanesinin harf ve kaç tanesinin.
Soru1: Bir tanesi tam sayı diğeri string olan iki elemanlı bir struct’ı bir başka struct’a direk kopyalama, memcpy kullanarak kopyalama ve tek tek elemanlarını.
Soru1: Kullanıcıdan iki tam sayı girmesini isteyen ve daha sonra büyük olan sayı ile beraber ‘en büyüktür’ ifadesi yazan, ancak sayılar birbirine eşitse.
C# Metot Overloading (Aşırı yükleme)
Veri Yapıları ve Algoritmalar
MPI İle Paralel Programlama Tunahan Altıntop
FONKSİYONLAR.
Recursion (Özyineleme)
DÖNGÜLER.
Bilgisayar Programlama
Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
Dengeli İkili Ağaç Kerem ERZURUMLU Hacettepe Üniversitesi Bilgisayar Bilimleri Mühendisliği.
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Fonksiyonlar Fonksiyon Tanımı
Diziler (Arrays).
PYTHON ILE PARALEL PROGRAMLAMA
Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
PROGRAM DENETİM DEYİMLERİ
Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri Dizgi Çıktı İşlemleri Dizgi Fonksiyonları Karakter Fonksiyonları Gösterge Dizgileri.
Örnek Adam asmaca oyununun programının yazılması.
Bölüm 2 C Diline Genel Bir Bakış. 1/29 /* Örnek1- toplama.c Klavyeden girilen iki tamsayının toplamını bulup ekrana yazar. Erkan Yasan */ #include.
1 Yapılandırılmamış programlama Prosedür/Fonksiyon gerekliliği Prosedural Programlama Fonksiyon Tanımlama/Prototip/Çağırma Örnek fonksiyonlar Fonksiyon.
2. HAFTA 2. Hafta.
BISON (YACC) (Yet Another Compiler Compiler)
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
C. Dennis Ritchie 9 Eylül ö. 12 Ekim 2011.
1 Değişken alanları Geçici değişkenler Birleşik ifadeler(bloklar) ve değişkenler Değişken Depolama Süresi ve Alanı –Local ve global değişkenler –Static.
Örnek Sorular Bilgisayar Programlama BIL 107. Soru 1: Ekran çıktısında 66 yazması için boşlukları doldurunuz ______ i = 'A'; printf(____, i__); CEVAP:
1 Bölüm 2 C Dilinin Temelleri Alıştırmalar Bu bölümdeki problemler “C Dersi Çözümlü Problem Kitabı”, N. E. Ça ğ ıltay, C. E. Selbes, G. Tokdemir, ve Ç.
Paralel Programlama 2. Bölüm Mustafa Karakaplan. Birinci Bölüm ● Bilgisayar Kümeleme ve Paralel Programlama Nedir? ● MPI'ya Giriş ve Noktadan Noktaya.
YAPISAL PROGRAMLAMA Hafta-5
C’de Fonsiyonlar Aslı Ergün.
Algoritma ve Programlamaya Giriş
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
PROGRAM KONTROL KOMUTLARI 1. if koşulu 2. if else koşulu
YAPISAL PROGRAMLAMA Hafta-7
Kurucular(Yapıcılar), Yıkıcılar
Bir Döngünün Bölümleri (hatırlatıcı)
C ile Programlamaya Giriş
MTM216 GÖRSEL PROGRAMLAMA
MTM216 GÖRSEL PROGRAMLAMA
Sunum transkripti:

BİL542 PARALEL PROGRAMLAMA Trapezoid Kuralına göre 2. derece integralin sayısal olarak hesaplanması (C + MPI ile kod çalıştırma, performans ve speedup ölçümü) Ali DERİNOĞLU 131402107

İntegrasyon A = 𝑎 𝑏 𝑓 𝑥 𝑑𝑥 f(x) -> integrali alınacak fonksiyon İpucu: Konuşmacı notlarınızı buraya ekleyin. f(x) -> integrali alınacak fonksiyon a -> integralin alt limiti b -> integralin üst limiti

Analitik ve Sayısal İntegrasyon Analitik integral Sayısal integral

Sayısal integrasyon yöntemleri Kare yöntemi İpucu: Konuşmacı notlarınızı buraya ekleyin. Trapezoid yöntemi

Trapezoid kuralı 𝑎 𝑏 𝑓 𝑥 𝑑𝑥 ≈ yamuğun alanı = 1 2 𝑥(𝑝𝑎𝑟𝑎𝑙𝑒𝑙 𝑘𝑒𝑛𝑎𝑟𝑙𝑎𝑟ı𝑛 𝑡𝑜𝑝𝑙𝑎𝑚ı)𝑥(𝑦ü𝑘𝑠𝑒𝑘𝑙𝑖𝑘) = 1 2 𝑥 𝑓 𝑏 +𝑓 𝑎 𝑥(𝑏−𝑎) = 𝑏−𝑎 𝑓 𝑎 +𝑓 𝑏 2

Trapezoid kuralı

MPI İmplementasyon 𝑓 𝑥 = sin 𝑥 2 +2 İpucu: Konuşmacı notlarınızı buraya ekleyin. 𝑓 𝑥 = sin 𝑥 2 +2 http://www.wolframalpha.com/input/?i=sin%28x%29%5E2%2B2

MPI İmplementasyon double f(double x) { return pow(sin(x * (3.14/180)), 2) + 2; }   void Get_input(int my_rank, double* a_p, double* b_p, int* n_p) { if (my_rank == 0) printf("Enter a, b, and n\n"); scanf("%lf %lf %d", a_p, b_p, n_p); } MPI_Bcast(a_p, 1, MPI_DOUBLE, 0, MPI_COMM_WORLD); MPI_Bcast(b_p, 1, MPI_DOUBLE, 0, MPI_COMM_WORLD); MPI_Bcast(n_p, 1, MPI_INT, 0, MPI_COMM_WORLD);  

MPI İmplementasyon   h = (b-a)/n; local_n = n/comm_sz; local_a = a + my_rank*local_n*h; local_b = local_a + local_n*h; local_int = Trap(local_a, local_b, local_n, h); double Trap(double left_endpt, double right_endpt, int trap_count, double base_len) { double estimate, x; int i;   estimate = (f(left_endpt) + f(right_endpt))/2.0; for (i = 1; i <= trap_count-1; i++) x = left_endpt + i*base_len; estimate += f(x); } estimate = estimate*base_len; return estimate; MPI_Reduce(&local_int, &total_int, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD);

TOPLAM HESAPLAMA SÜRESİ Performans ölçümü a = 1 b = 100000 n = 1000 PROSES SAYISI TOPLAM HESAPLAMA SÜRESİ SPEEDUP FACTOR 1 0,217247 2 0,117613 1,85 4 0,071914 1,64 8 0,053618 1,34 16 0,059216 0,91 İpucu: Konuşmacı notlarınızı buraya ekleyin.

Proses sayısı – İşlem süresi grafiği Performans ölçümü Proses sayısı – İşlem süresi grafiği

b) Proses sayısı – Speedup factor grafiği Performans ölçümü b) Proses sayısı – Speedup factor grafiği

Kaynaklar http://mcs.une.edu.au/~comp309/Lectures/Lecture_21/lecture/ http://www.wolframalpha.com/input/?i=sin%28x%29%5E2%2B2 http://en.wikipedia.org/wiki/Trapezoidal_rule http://www.symbolab.com/solver/definite-integral-calculator/%5Cint_%7B1%7D%5E%7B100000%7D%20sin(x)%5E%7B2%7D%2B2/?origin=button http://www.wolframalpha.com/widgets/view.jsp?id=8ab70731b1553f17c11a3 bbc87e0b605