Paralel Algoritmalar: Modeller ve Yöntemleri

Yüksek Başarımlı Hesaplama

Prof. Dr. Abdulsamet Haşıloğlu

 

 "farkımız, kitaplarımızda" 

 

 

 

 

 

 

 

 

 Ohh mis gibi mürekkep kokulu kitaplar...

 

ISBN: 978-605-9594-71-4, 356 sayfa

Şubat 2020, (18,5x24 cm2), 1. hamur kitap kağıdı.


Paralel Algoritmalar PDF


Bu kitapta; paralel programlamanın uygulamalı yönleri, bilgisayar biliminde ve mühendisliğinde, çok önemli olduğu için "paralel bellek mimarileri" ve "programlama algoritmaları" ele alınmıştır. Bu kitap, paralel hesaplama sistemleri için düşük maliyetli kullanışlı programlar tasarlamak ve oluşturmak isteyen hem öğrenciler hem programcılar ve hem de sektör çalışanları için uygulayıcı bir rehber niteliğindedir.

Kitapta; paralel programlar tasarlamak için kullanılacak algoritmalar, geliştirilecek modeller ve yöntemleri uygulamak için kullanılan araçlar da ele alınmaktadır. Diğer taraftan bu kitap, bir karmaşık probleme çözüm geliştirmek için HCP’de paralel programlama öğrenme sürecini hızlandırmada da yararlı bir kaynaktır.


http://www.tdk.com.tr/images_buyuk/f67/Algoritma-Gelistirme-ve-Veri-Yap_5767_1.jpg         


İÇİNDEKİLER

 

Önsöz

Simgeler ve Kısaltmalar

 

Bölüm 1. Giriş 

 

Bölüm 2.   Genel Bakış   

2.1. Paralel Hesaplama Nedir?

2.2. Neden Paralel Hesaplama Kullanmalı?

2.3. Benzer Hesaplama Merkezleri

2.3.1.     Bilgisayar Kümesi (Computer Cluster)

2.3.2.     Kuantum Hesaplama (Quantum Computing)

2.3.3.     Hesaplamalı Bilim (Computational Science)

2.3.4.     Kişisel Süper Bilgisayar (Personal Supercomputer (PSC))

2.3.5.     High-Performance Cloud Computing (HPC2)

2.4. Paralel Hesaplamayı Kimler Kullanıyor?

2.4.1.     Bilim ve Mühendislik

2.4.2.     Analiz, Bilimsel Hesaplama ve Uygulama Merkezi (CASA)

2.4.3.     Endüstriyel ve Ticari

2.4.4.     Biyomedikal Mühendisliği

2.4.5.     Bilgi sistemi

2.4.6.     Veri bilimi ve mühendisliği

2.4.7.     Girişimcilik ve yenilikçilik

2.4.8.     Akıllı ve kentsel hareketlilik

 

Bölüm 3.Kavramlar ve Terminoloji

3.1.Von Neumann Bilgisayar Mimarisi

3.1.1.Tek Komut, Tek Veri (SISD)  

3.1.2.Tek Komut, Çok Veri (SIMD)

3.1.3.Çok Komut, Tek Veri (MISD)

3.1.4.Çok Komut, Çok Veri (MIMD)

3.2. Bazı Genel Paralel Terminolojiler

3.3. Paralel Programlamanın Sınırları ve Maliyetleri

3.3.1. Amdahl Yasası

 

Bölüm 4. Paralel Bilgisayar Bellek Mimarileri

4.1. Paylaşılan Bellek

4.2. Dağıtılmış Bellek

4.3. Karma Dağıtılmış Paylaşılan Bellek

 

Bölüm 5. Paralel Programlama Modelleri  

5.1. Genel Bakış

5.2. Paylaşılan Bellek Modeli (Shared memory model)    

5.2.1. Dağıtılmış bir bellek makinesi: Shared bellek modeli 

5.2.2. Paylaşılan bir Bellek Makinesi: Dağıtılmış Bellek Modeli 

5.3. Konu Modeli (Threads Model)  

5.4. Dağıtılmış Hafıza / Mesaj Geçen Model (Message Passing Model)

5.5. Veri Paralel Modeli (Data Parallel Model)   

5.6. Hibrit Model  

5.7. SPMD ve MPMD 

5.7.1. SPMD (Single Program Multiple Data)  

5.7.2. MPMD (Multiple Program Multiple Data)   

 

Bölüm 6. Paralel Programları Tasarlama  

6.1. Otomatik ve Manuel Paralelleştirme

6.2. Sorunu ve Programı Anlama

6.3. Bölümleme

6.4. Haberleşme

6.5. Senkronizasyon

6.6. Veri Bağımlılıkları 

6.7. Yük dengeleme

6.8. Granülerlik

6.9. Giriş / Çıkış (I / O)

6.10. Hata ayıklama

6.11. Performans Analizi ve Tuning 

 

Bölüm 7.  CUDA Nedir?   

7.1. Derin öğrenmede CUDA    

  

Bölüm 8. Paralel Algoritmalar

8.1. Paralel Algoritma    

8.1.1 Paralel Algoritma Modelleri

8.2. Metodik Tasarım

8.3. Paralel Algoritma - Tasarım Teknikleri   

8.3.1. Böl ve Fethet Yöntemi 

8.3.2. Açgözlü Yöntemi   

8.4. Dizilerde ve dizgelerde paralel algoritmalar  

8.4.1. Önek Toplam (Scan, Prefix Sums)  

8.4.2. Liste Sıralama (List ranking)    

8.5. Sıralama (Sorthing) 

8.5.1. Hızlı Sıralama (Quick Sort)     

8.5.2. Sayarak Sıralama (Counting Sort)  

8.5.3. Seçerek Sıralama (Selection Sort)   

8.5.4. Araya Ekleme Sıralaması (Insertion Sort)

8.5.5. Batcher’ın Bitonik Sıralaması (Batcher’s Bitonic Sort)

8.6. Birleştirme (Merging)    

8.6.1. Batcher’ın Tek Çift Birleştirme (Batcher’s Odd-Even Merge)   

8.6.2. Yarım Birleştirme (Halving Merge)

8.7. Ortancalar (Medians)     

8.7.1. Hızlı Seçim (Quick Select)

8.7.2. Basit Seçim (Sample Select)

8.8. Aramalar (Searching)”

8.8.1. Karma Tablolar (Hash Tables)  

8.8.2. Dizgi Arama (String Search)    

8.8.3. Dizge Eşleştime (String matching)  

8.9. Diğer Dizgi Opertörleri (Other string operations)

8.9.1. Dizgi Karşılaştırma (String Comparison)    

8.9.2. Satırları Bir Dizgiye Ayırma  (Breaking a string into lines) 

8.9.3. Parantez Eşleştirme (Matching Parentheses)

 

Bölüm 9.  Ağaçlarda ve Graflarda Paralel Algoritmalar

9.1. Ağaçlar (Trees)

9.1.1. Edgelist’ten Euler Turu Oluşturmak (Generate Euler tour from Edgelist)

9.1.2. Kök Düzeltme (Rootfix)

 9.2. Bağlı Bileşenler (Connected components)

9.2.1. Awerbush Shiloach

9.2.2. Rastgele Eş (Random Mate)     

9.2.3. Hibrid (Hybrid)     

9.3. Yayılma Ağacı/Yol Ağacı (Spanning Trees) 

9.3.1. Hibrid Tabanlı Yayılma Ağacı (Hybrid Base Spanning Tree)    

9.4. En Kısa Yol (Shortest Paths) 204

9.4.1. Genişlik Öncelikli Arama (Breadth First Search)    

9.5. Maksimum Bağımsız Küme (Maximal Independent Set) 

9.5.1. Luby’nin Algoritması (Luby’s Algorithm)  

9.6. Graf Ayırıcı (Graph separators) 

9.6.1. Spektral (Spectral) 

9.6.2. Özyinelemeli Bisection (Recursive bisection)

 

Bölüm 10. Hesaplamalı Geometri için Paralel Algoritmalar

10.1. Dışbükey gövde (Convex hull) 

10.1.1. Jarvis March  

10.1.2. Graham Scan 

10.1.3. Quickhull 

10.1.4. Kirkpatric and Seidel Dışbükey Gövde (Kirkpatric and Seidel Convex Hull)   

10.1.5. Overmar’s Mergehull 

10.2. Delaunay Triangulation

10.3. En yakın çiftler (Closest pairs) 

10.3.1. Monoton Zincir (Monotone Chain)

 

Bölüm 11. Sayısal/Bilimsel Hesaplama için Paralel Algoritmalar

11.1. Fourier dönüşümü (Fourier transform)  

11.1.1. Hızlı Fourier dönüşümü (Fast Fourier transform) 

11.2. Yoğun matris işlemleri (Dense matrix operations)   

11.2.1. Matris Çarpım (Matrix multiply)  

11.2.2. Matris Tersi (Matrix inverse)  

11.2.3. Doğrusal sistemin çözümü(Linear system solve)   

11.3. Seyrek Matrix İşlemleri (Sparse matrix operations) 

11.3.1. Matris Vektör Çarpımı (Matrix-Vector Multiply)  

11.3.2. Jacobi Metodu (Jacobi Method)    

11.3.3. Eşlenik Gradyan (Conjugate Gradient)     

11.4. N-body Kod     

11.4.1. Kapsamlı Arama (All Pairs)   

11.4.2. Barnes-Hut    

11.4.3. Çok Kutuplu Yöntem (Greengard’s FMM)

11.4.4. PMTA (a hybrid) 

11.5. Diğerleri    

11.5.1. Asal Sayılar (Prime Numbers)

11.5.2. Adaptif Simpson Yöntemi(Adaptive Integration)  

11.5.3. En Küçük Uydurma Yöntemi (Line Fitting)    

11.5.4. Order-m Recurrences  

 

Ekler

Kaynakça

Dizin


Kitaplarımızın tüm listesi için buraya tıklayınız.


Papatya Bilim Üniversite Ders Kitapları, Akademik Kitaplar, Bilimsel Kitaplar