Ana içeriğe geç

CEN310 Paralel Programlama

Hafta-15 (Final Proje Değerlendirmesi)

Bahar Dönemi, 2024-2025


Proje Değerlendirme Günü Programı

Sabah Oturumu (09:00-12:00)

  • Proje sunumları (Grup 1-4)
  • Performans analizi tartışmaları
  • Soru-cevap oturumları

Öğle Arası (12:00-13:00)

Öğleden Sonra Oturumu (13:00-17:00)

  • Proje sunumları (Grup 5-8)
  • Teknik gösterimler
  • Son değerlendirmeler

Final Proje Gereksinimleri

1. Proje Dokümantasyonu

  • Kapsamlı proje raporu
  • Kaynak kod dokümantasyonu
  • Performans analizi sonuçları
  • Uygulama detayları
  • Gelecek çalışma önerileri

2. Teknik Uygulama

  • Çalışan paralel uygulama
  • Çoklu paralel programlama modelleri
  • İleri optimizasyon teknikleri
  • Hata yönetimi ve sağlamlık
  • Kod kalitesi ve organizasyonu

Sunum Yönergeleri

Format

  • Grup başına 30 dakika
  • 20 dakika sunum
  • 10 dakika soru-cevap

İçerik

  1. Proje Genel Bakışı
  2. Problem tanımı
  3. Çözüm yaklaşımı
  4. Teknik zorluklar

  5. Uygulama Detayları

  6. Mimari tasarım
  7. Paralel stratejiler
  8. Optimizasyon teknikleri

  9. Sonuçlar ve Analiz

  10. Performans ölçümleri
  11. Ölçeklenebilirlik testleri
  12. Karşılaştırmalı analiz

  13. Canlı Demo

  14. Sistem kurulumu
  15. Özellik gösterimi
  16. Performans sunumu

Performans Analizi Gereksinimleri

Ölçülecek Metrikler

  • Çalışma süresi
  • Hızlanma
  • Verimlilik
  • Kaynak kullanımı
  • Ölçeklenebilirlik

Analiz Araçları

# Performans ölçüm örnekleri
$ nvprof ./cuda_programi
$ mpirun -np 4 ./mpi_programi
$ perf stat ./openmp_programi

Proje Yapısı Örneği

proje/
├── src/
   ├── main.cpp
   ├── cuda/
      ├── cekirdek.cu
      └── gpu_yardimcilar.cuh
   ├── mpi/
      ├── iletisimci.cpp
      └── veri_transfer.h
   └── openmp/
       ├── paralel_donguler.cpp
       └── is_parcacigi_yardimcilar.h
├── include/
   ├── ortak.h
   └── yapilandirma.h
├── test/
   ├── birim_testler.cpp
   └── performans_testleri.cpp
├── docs/
   ├── rapor.pdf
   └── sunum.pptx
├── veri/
   ├── girdi/
   └── cikti/
├── betikler/
   ├── derle.sh
   └── testleri_calistir.sh
├── CMakeLists.txt
└── README.md

Değerlendirme Kriterleri

Teknik Yönler (50%)

  • Uygulama kalitesi (15%)
  • Performans optimizasyonu (15%)
  • Kod organizasyonu (10%)
  • Hata yönetimi (10%)

Dokümantasyon (25%)

  • Proje raporu (10%)
  • Kod dokümantasyonu (10%)
  • Sunum kalitesi (5%)

Sonuçlar ve Analiz (25%)

  • Performans sonuçları (10%)
  • Karşılaştırmalı analiz (10%)
  • Gelecek iyileştirmeler (5%)

Yaygın Proje Konuları

  1. Bilimsel Hesaplama
  2. N-cisim simülasyonları
  3. Akışkanlar dinamiği
  4. Monte Carlo yöntemleri
  5. Matris hesaplamaları

  6. Veri İşleme

  7. Görüntü/video işleme
  8. Sinyal işleme
  9. Veri madenciliği
  10. Örüntü tanıma

  11. Makine Öğrenmesi

  12. Sinir ağı eğitimi
  13. Paralel model çıkarımı
  14. Veri ön işleme
  15. Özellik çıkarımı

  16. Graf İşleme

  17. Yol bulma
  18. Graf analitiği
  19. Ağ analizi
  20. Ağaç algoritmaları

Kaynaklar ve Referanslar

Dokümantasyon

  • CUDA Programlama Kılavuzu
  • OpenMP API Spesifikasyonu
  • MPI Standart Dokümantasyonu
  • Performans Optimizasyon Kılavuzları

Araçlar

  • Visual Studio
  • NVIDIA NSight
  • Intel VTune
  • Performans Profilleyiciler

Proje Raporu Şablonu

1. Giriş

  • Arka plan
  • Hedefler
  • Kapsam

2. Tasarım

  • Sistem mimarisi
  • Bileşen tasarımı
  • Paralel stratejiler

3. Uygulama

  • Geliştirme ortamı
  • Teknik detaylar
  • Optimizasyon teknikleri

4. Sonuçlar

  • Performans ölçümleri
  • Analiz
  • Karşılaştırmalar

5. Sonuç

  • Başarılar
  • Zorluklar
  • Gelecek çalışmalar

İletişim Bilgileri

Proje ile ilgili sorularınız için:


Sorular ve Tartışma