Hesaplama ağırlıklı algoritmaların programlanmasında grafik işlemci (GPU) kullanımının incelenmesi
Investigation of gpu use in programming computational based algorithms
Yazar: ERSİN KUZU
Danışman: DOÇ. DR. MEHMET ALPER TUNGA
Bahçeşehir Üniversitesi / Fen Bilimleri Enstitüsü / Bilgi Teknolojileri Ana Bilim Dalı
Derece: Yüksek Lisans, 2014
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Teknoloji ile birlikte ihtiyaçların artmaya devam edeceği bir gerçektir. Dolayısıyla yüksek işlem gücüne ihtiyaç duyan uygulama alanlarında tek bir işlem birimi asla yeterli olmayacaktır. Geçmişte ve günümüzde problemler birden fazla işlem birimine paylaştırılarak ortaklaşa çözülmesi yöntemi ile toplam işlem gücü artırılmaya çalışılmaktadır. Merkezi işlem birimleri (yani CPU'lar) yaygın ve ucuz oldukları için bir tür işlemci çiftliği oluşturmak amacıyla ciddi olarak tercih edildiler. Bunlar, sadece hesaplama konusunda uzmanlaşmış donanımlar değildirler. Yakın geçmişte oyun sektörünün hızla büyümesi grafik işlemcilerin gelişimi için itici güç oldu. Diğer yandan grafik işlemciler tamamen hesaplama üstüne uzmanlaşmış donanımlardır. Bunların genel amaçlı olarak programlanabilmesi (GPGPU) ile birlikte hesaplama dünyası yeni bir donanıma daha sahip oldu. Çok çekirdekli yapısı, hesaplama odaklı mimarisi ve komut seti, yüksek bellek transfer hızları, üreticiden bağımsız yazılım geliştirmeye olanak sağlayan endüstri standardı programlama dili (OpenCL) ile öne çıkmaktalar. Düşük maliyeti ise ayrı bir tercih sebebidir.
Sunulan çalışmada, OpenCL iş parçacıkları ile gerçekleştirilen hesaplama ağırlıklı bazı
algoritmaların CPU ve GPU üzerinde başarım analizi gerçekleştirilmiştir. Deneysel sonuçlar, 2 çekirdekli CPU (Intel Core 2 Duo T9550), 448x2 çekirdekli NVIDIA GPU (2 x Nvidia Tesla M2050) ve 1600x2 çekirdekli ATI GPU (Ati Radeon HD 5970 X2), OpenCL genel programlama platformu teknolojisini destekleyen donanımlara sahip bilgisayarlar kullanılarak elde edilmiştir. Bu amaçla 2 çekirdekli CPU hesaplama sonuçları referans alınarak hızlanma, performans, enerji tüketimi ve maliyet grafikleri karşılaştırmalı olarak elde edilmiştir. Sonuçlar yaklaşık olarak hesaplama ağırlıklı algoritmalarda en az 13 kat, en fazla 1001 kata kadar hızlanma, gelişmiş şifre kurtarma algoritmalarında en az 152 kat, en fazla 905 kata kadar hızlanma, 1190 kata kadar performans artışı, 119 kata kadar enerji tasarrufu, 618 kata kadar daha düşük maliyet elde edilmiştir.

Abstract:
It is obvious that the expectations will continue to increase along with the technology. Therefore, a single processing unit will never adeqaute in application areas in which high processing features are needed. The problems are shared with multiple processing units in both past and future to increase the total processing capacity. Because central processing units are cheap, it is preferred to use them to construct processor farms.  In the recent past, the rapid growth of the game industry was the driving force for the development of the graphics processors.   On the other hand, graphics processors are completely specialized hardware on computational calculations. Programming these graphics processors for general purposes (GPGPU) lets this hardware to be used in any kind of calculations. The standard programming language (OpenCL) independent of vendors lets these processors to be used as multi-core structure, calculation-oriented architecture and instruction set. Low cost is another feature to choose them.
In this study, the performance analysis of some compute-intensive algorithms was carried out on CPU and GPU with OpenCL threads. Experimental results were obtained using computers equipped with 2-core CPU (Intel Core 2 Duo T9550), 448x2-core NVIDIA GPU (2xNvidia Tesla M2050), 1600x2-core ATI GPU (Ati Radeon HD 5970 X2) and which support OpenCL general programming platform technology. For this purpose, with the reference of 2-core CPU calculation results, the acceleration, performance, power consumption and cost graphs were obtained. According to the results; at least 13 times, up to 1001 times acceleration is obtained in approximately compute-intensive algorithms. In advanced password recovery algorithms, at least 152 times, up to 905 times acceleration, up to 1190 times performance increase, up to 119 times energy saving, and up to 618 times lower cost were obtained.