Yüksek Boyutlu Kronecker Çarpımı İçin İş Parçacığı Tabanlı Paralel Programlama Uygulaması


Creative Commons License

Duran A., Özer H. Ü., Tunçel M.

2. ULUSLARARASI İSTATİSTİK MATEMATİK VE ANALİTİK YÖNTEMLER KONGRESİ, İstanbul, Türkiye, 28 Mart 2019, ss.256-262

  • Yayın Türü: Bildiri / Tam Metin Bildiri
  • Basıldığı Şehir: İstanbul
  • Basıldığı Ülke: Türkiye
  • Sayfa Sayıları: ss.256-262
  • Yıldız Teknik Üniversitesi Adresli: Evet

Özet

 Kronecker çarpımı sayısal lineer cebir alanında önemli bir yere sahip matris işlemi olup, son yıllarda bilimsel hesaplama yöntemleri içerisinde kullanımı giderek artmaktadır. Bu yöntemlerden bazıları; özdeğer analizi ve problemleri, temel bileşenler analizi, karar verme sistemleri, görüntü işleme, korvaryans tahmini için model oluşturma, sinyal işleme, optimizasyon, quantum hesaplama, hızlı Fourier dönüşümü, stokastik modeller, ağ teori, operatör teori, sistem teori ve fotogrametridir. Bu çarpımda karşılan en büyük sıkıntılardan biri hesaplanan matristeki önemli ölçüdeki boyut artışıdır. Hızla gelişen bilgisayar teknolojileri sayesinde Kronecker çarpımı için yüksek boyutlara çıkma imkânı doğmuştur. Bu durum beraberinde zaman ve hafıza maliyetini getirmiştir. Bu çalışmamızda Kronecker çarpımı için seri programlamada oluşacak zaman maliyetini düşürmek için paralel programlama uygulaması yapılmıştır. Çalışmamız iki yoğun (ing: dense) kare matrisin Kronecker çarpımından yüksek boyutlu Kronecker çarpım matrisini verimli bir şekilde elde etmeye yöneliktir. Bunun için yüksek performanslı bilgisayar siteminden faydalandık. Çalışmamız, seri programlama ve paralel programlama uygulaması içermektedir. İlk olarak Kronecker çarpımı için oluşturulan seri algoritma çalıştırıldı ve istenilen boyutlar için ölçümler yapıldı. Sonrasında seri algoritma CPU’da OpenMP uygulama programlama arayüzü (ing: API) ile paralelleştilerek tekrar ölçüm yapıldı. Bu ölçümlerle birlikte uygulamanın kullanımı ve verimliliği tartışıldı. Sonuç olarak yüksek boyutlu Kronecker çarpım matrisini elde etme çalışmamız bize CPU ile yapılan paralelleştirilmiş algoritma seri algoritmaya göre daha hızlı sonuç verdi. Matris boyutu arttıkça sistemde iş yükü doyuma ulaşarak daha verimli bir şekilde doğrusal hızlanmaya daha yakın bir hızlanma elde edildi