Solving linear equations with conjugate gradient method on openCL platforms
- Global styles
- Apa
- Bibtex
- Chicago Fullnote
- Help
Abstract
Grafik işlemci ünitesinin paralelleştirilmesi yüksek performanslı işlem gerektiren uygulamalarda çok büyük performans sağlar. Lineer cebirde bu tür uygulamalar olduğundan dolayı, bu potensiyelden bazı noktalarda yararlanmak gerekir. Bilimsel hesaplama ölçümlerinde, en önemli hesaplamalardan biride eşlenik gradyan metodudur. Bu metod lineer eşitlik içeren berlirli sistemlerde sayısal çözümler sunar. Eşlenik gradyan bir sparse matris-vektör çarpımı, toplama indirgemesi ve bir kaç sayısal işlem içerir. Sparse matris-vektör çarpımı en çok zaman tüketiminin olduğu kısımdır.Bu tezde, Grafik İşlemci Ünitesi (GPU), Eşlenik Gradyan (CG) Metodu, Sıkıştırılmış Sparse satırı (CSR) formatında Sparse matris-vektör çarpımı (SpMxV) , OpenMP ve OpenCL ele alınmıştır. Bu tezin amacı, Eşlenik gradyan metodunun en masraflı kısmı olan sparse matris-vektör çarpımının CSR formatında paralelleştirilmesi ve GPU üzerinde çalıştırılarak performans kazancı elde edilmesidir. Bu amaçla CPU, GPU gibi farklı işlemciler arası çalışabilen programlar yazmaya yarayan OpenCL dili kullanılmıştır. Deneyler GPU üzerinde çalışabilen OpenCL dili ile yapılan uygulamanın, CPU üzerinde çalışan uygulamaya göre çok daha az zaman harcadığını göstermiştir. Ayrıca bir başka paralel programlama dili olan OpenMP ile de karşılaştırılarak; OpenCL ile yazılan uygulamanın OpenMP'ye göre de bazı noktalarda daha iyi olduğu gösterilmiştir. The parallelism in GPUs offers extremely good performance on a lot of high-performance computing applications. Linear algebra is one of the areas which can benefit from GPU potential. Conjugate Gradient (CG) benchmark is a significant computation in computing applications. It uses conjugate gradient method that offers numerical solutions on specific systems of linear equations. The Conjugate Gradient contains a few scalar operations, reduction of sums and a sparse matrix vector multiplication. Sparse matrix-vector multiplication is the part where the most computation time is spent.In this thesis, we present GPU, Conjugate Gradient (CG) Method, Sparse Matrix-Vector Multiplication (SpMxV) on Compressed Sparse Row (CSR) format, OpenMP and OpenCL. The aim of the thesis is parallelization of SpMxV on CSR format which is the most costly part of CG and gain some performance by running it on GPU. We use OpenCL that allows writing programs which run across heterogeneous platforms such as CPUs, GPUs and other processors. The experiments show that SpMxV on a GPU with OpenCL spends less time according to SpMxV running on a CPU. Furthermore, OpenMp, which is another parallel programming language, is compared to OpenCL. OpenCL is a bit better than OpenMP at some points.
Collections