|
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 HCPde paralel programlama öğrenme sürecini hızlandırmada da yararlı bir kaynaktır. İÇİ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ı (Batchers Bitonic Sort) 8.6. Birleştirme (Merging) 8.6.1. Batcherın Tek Çift Birleştirme (Batchers 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. Edgelistten 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. Lubynin Algoritması (Lubys 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. Overmars 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 (Greengards 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
|