Computation of Kronecker Product for Large Dense Matrices Using GPU Programming


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

Erciyes Üniversitesi Fen Bilimleri Enstitüsü Dergisi, vol.36, no.1, pp.120-128, 2020 (National Refreed University Journal)

  • Publication Type: Article / Article
  • Volume: 36 Issue: 1
  • Publication Date: 2020
  • Title of Journal : Erciyes Üniversitesi Fen Bilimleri Enstitüsü Dergisi
  • Page Numbers: pp.120-128

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.

Sayısal lineer cebir içinde yer alan ve birçok bilimsel hesaplama yöntemi iç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ıza ve zaman maliyeti çözülmesi gereken önemli bir problem olarak karşımıza çıkmaktadır. Bu çalışmamızda GPU üzerinde paralel programlama uygulaması yaparak seri programlamada karşılaşılan zaman maliyetini azaltmaya çalışıyoruz. Bunun için GPU paralelleştirme algoritması tasarlıyoruz. Rasgele sayı üreten fonksiyon ile değerleri ondalık sayılar olan gerekli büyük yoğun (dense) matrisler üretiyoruz ve CUDA iş parçacıklarıyla uygulama yapıyoruz. CPU ile GPU paralel programlama uygulamasını karşılaştırıyoruz. GPU programlama teknolojisinin bu uygulama için avantaj ve sınırlamalarını tartışıyoruz.