Journals / Erciyes Üniversitesi Fen Bilimleri Enstitüsü Dergisi / 2020 / Cilt: 36 - Sayı: 1

Computation of Kronecker Product for Large Dense Matrices Using GPU Programming

GPU Programlama ile Yüksek Boyutlu Yoğun Matrislerin Kronecker Çarpımlarının Hesaplanması

Pages
120–128
DOI
—

Abstract

Kronecker (tensor) product is one of the important matrix operations in numerical linear algebra and used in many scientific computational methods. As the size of dense input matrix increases, memory and computation cost become a challenging issue in this type of operation. In this work, we use GPU parallel programming in order to diminish the long wall clock time consumed by serial programming. We design a new algorithm for GPU parallel programming. We generate the necessary large dense matrices using pseudo-random number generator and implement the algorithm via CUDA threads. Moreover, we compare the performance of CPU and GPU parallel programming implementations. We discuss the advantages and limitations of GPU programming technology in this particular application.

Özet

Sayısal lineer cebir içinde yer alan ve birçok bilimsel hesaplama yöntemiiçinde kullanılan önemli matris işlemlerinden biri Kronecker (tensör)çarpımıdır. Bu tip çarpımda işleme giren yoğun matris boyutu arttıkça hafızave zaman maliyeti çözülmesi gereken önemli bir problem olarak karşımızaçıkmaktadır. Bu çalışmamızda GPU üzerinde paralel programlamauygulaması yaparak seri programlamada karşılaşılan zaman maliyetiniazaltmaya çalışıyoruz. Bunun için GPU paralelleştirme algoritmasıtasarlıyoruz. Rasgele sayı üreten fonksiyon ile değerleri ondalık sayılar olangerekli büyük yoğun (dense) matrisler üretiyoruz ve CUDA iş parçacıklarıylauygulama yapıyoruz. CPU ile GPU paralel programlama uygulamasınıkarşılaştırıyoruz. GPU programlama teknolojisinin bu uygulama için avantajve sınırlamalarını tartışıyoruz.