Dağınık Çok Çekirdekli CPU ve Çoklu GPU Sistemleri İçin Heterojen Programlama Kütüphanesi

8 3

Proje Grubu: EEEAG Sayfa Sayısı: 36 Proje No: 112E191 Proje Bitiş Tarihi: 01.09.2015 Metin Dili: Türkçe İndeks Tarihi: 05-04-2019

Dağınık Çok Çekirdekli CPU ve Çoklu GPU Sistemleri İçin Heterojen Programlama Kütüphanesi

Öz:
Son yıllarda, yüksek hesaplama performansına ihtiyaç duyan uygulamaların en çok tercih ettiğibilgisayar mimarisi, çok çekirdekli CPU’lara eklenmiş çoklu GPUlardan oluşan heterojen sistemlerdir.Fakat bu tür sistemlerin programlanması alışagelmiş olduğumuz tek işlemci ve hatta çok işlemciprogramlamasından çok daha karmaşıktır.Bu projede, dağınık heterojen sistemler için, programcının verimliliğini artıran ve taşınabilme özelliğiolan bir paralel yazılım kütüphanesi geliştirilmiştir. Proje sıradan bir kütüphaneden çok, C++ dilininiçinde yer alan küçük, yeni bir programlama dilidir. Öyle ki programcı yazdığı herhangi bir C++ programıiçinde bu küçük dilin çekirdek fonksiyon ve veri tiplerini de kullanıp donanımda yer alan bütün paralelişlem cihazlarından (CPU/GPU) faydalanılarak paralel programları kolaylıkla yazabilmektedir.Her karmaşık yazılımda olduğu gibi Heterogeneous Programming Library (HPL) çeşitli katmanlardanoluşmaktadır. Ilk katmanı tekli CPU-GPU ortamında çalışmaktadır. İkinci katmandaki HPL ortak belleklitek-CPU bağlı, çoklu GPU sistemlerini kullanma katmanıdır. Son olarak da dağınık bellekli çoklu CPU GPU sistemlerini kullanana distHPL katmanıdır. İlk iki katman için dergi yayını yapmış bulunmaktayız.Son adim için ise teknik raporumuzu hazırladık, yayın yapmaya çalışıyoruz. Geliştirdiğimiz HPLkütüphanesi taşınırlık, kolay programlama ve performans metriklerinde başarılı sonuçlar elde edildi.Örneğin OpenCL ile karşılaştırıldığında, HPL ile yazılan uygulamalarda %70-%90 oranlarda yazımkolaylığı gözlemledik. Son aşamada, iki biyoinformatik algoritmasını, geliştirdiğimiz programlamamodeliyle yazarak, yüksek hesaplamalı heterojen platformlarda çalıştırdık.
Anahtar Kelime: gpu programlama parallel programlama dilleri heterogenic programlama

Konular: Bilgisayar Bilimleri, Yazılım Mühendisliği Bilgisayar Bilimleri, Bilgi Sistemleri Bilgisayar Bilimleri, Donanım ve Mimari
Erişim Türü: Erişime Açık
  • A. Klockner, N. Pinto, Y. Lee, B. Catanzaro, P. Ivanov, and A. Fasih,. 2009. "APyCUDA and PyOpenCL: A Scripting-Based Approach to GPU Run-Time Code Generation." In.
  • - Exploiting heterogeneous parallelism with the Heterogeneous Programming Library (Makale - Diğer Hakemli Makale), 2- Heterogeneous Programming Library: A Framework for Quick Development of Heterogeneous Applications. (Bildiri - Uluslararası Bildiri - Poster Sunum), 3- Exploting multi-GPU systems using the Heterogeneous Programming Library (Bildiri Uluslararası Bildiri - Sözlü Sunum), 4- Heterogeneous Programming Library: A Framework for Facilitating the Exploitation of Heterogeneous Systems (Bildiri - Uluslararası Bildiri - Sözlü Sunum),
  • A. L. Varbanescu, P. Hijma, R. van Nieuwpoort, and H. E. Bal. 2011. "Towards an Effective Unified Programming Model for Many-Cores." In IPDPS Workshops 2011, 681-92.
  • Altilar, B. Eskikaya and Turgay D. 2012. 'Distributed OpenCL Distributing OpenCL Platform on Network Scale', IJCA Special Issue on Advanced Computing and Communication Technologies for HPC Applications: 26-30.
  • AMD. 2008. "Stream computing user guide." In.
  • C. J. Newburn, B. So, Z. Liu, M. D. McCool, A. M. Ghuloum, S. D. Toit, Z.-G. Wang, Z. Du, Y. Chen, G. Wu, P. Guo, Z. Liu, and D. Zhang,. 2011. "Intel's array building blocks: A retargetable, dynamic compiler and embedded language." In 9th Annual IEEE/ACM Intl. Symp. on Code Generation and Optimization (CGO 2011), 224-35.
  • Eigenmann, S. Lee and R. "OpenMPC: Extended OpenMP Programming and Tuning for GPUs." In Proc. of 2010 Intl. Conf. for High Performance Computing, Networking, Storage and Analysis (SC), , 1-11.
  • GPGPU. 2011. "General Purpose Computation on Graphics Pro¬cessing Units." In.
  • Hoberock, N. Bell and J. 2011. 'Thrust.' in, GPU Computing Gems Jade Edition. ch 26 ( Morgan Kaufmann).
  • IBM. 2006. "C/C++ Language Extensions for Cell Broadband En¬gine Architecture." In.
  • IBM, Sony, and Toshiba. 2006. "Cell Broadband Engine Architecture." In.: IBM.
  • J. Duato, J. Pena, A. F. Silla, R. Mayo, and S. Quintana-Orti, E. . 2010. "rCUDA: Reducing the number of GPU-based accelerators in high performance clusters." In High Performance Computing and Simulation (HPCS), 2010 International Conference on, 224–31. . Caen, France.
  • J. Kim, S. Seo, J. Lee, J. Nah, G. Jo, and J. Lee, “OpenCL as a programming model for GPU clusters,” in LCPC’11: Proceedings of the 24th International Workshop on Languages and Compilers for Parallel Computing, September 2011. 2011. 'OpenCL as a programming model for GPU clusters', LCPC’11: Proceedings of the 24th International Workshop on Languages and Compilers for Parallel Computing.
  • M. Strengert, C. M¨uller, C. Dachsbacher, and T. Ertl, . "CUDASA: Compute Unified Device and Systems Architecture." In Eurographics Symposium on Parallel Graphics and Visualization EGPGV08. Eurographics Association, 49–56.
  • Nieplocha, Jaroslaw, Robert J. Harrison, and Richard J. Littlefield. 1994. "Global arrays: a portable "shared-memory" programming model for distributed memory computers." In Proceedings of the 1994 ACM/IEEE conference on Supercomputing, 340-49. Washington, D.C.: IEEE Computer Society Press.
  • Nvidia. 2008. 'CUDA Compute Unified Device Architecture', 2008.
APA BOZKUŞ Z, ERTEN C (2015). Dağınık Çok Çekirdekli CPU ve Çoklu GPU Sistemleri İçin Heterojen Programlama Kütüphanesi. , 1 - 36.
Chicago BOZKUŞ Zeki,ERTEN Cesim Dağınık Çok Çekirdekli CPU ve Çoklu GPU Sistemleri İçin Heterojen Programlama Kütüphanesi. (2015): 1 - 36.
MLA BOZKUŞ Zeki,ERTEN Cesim Dağınık Çok Çekirdekli CPU ve Çoklu GPU Sistemleri İçin Heterojen Programlama Kütüphanesi. , 2015, ss.1 - 36.
AMA BOZKUŞ Z,ERTEN C Dağınık Çok Çekirdekli CPU ve Çoklu GPU Sistemleri İçin Heterojen Programlama Kütüphanesi. . 2015; 1 - 36.
Vancouver BOZKUŞ Z,ERTEN C Dağınık Çok Çekirdekli CPU ve Çoklu GPU Sistemleri İçin Heterojen Programlama Kütüphanesi. . 2015; 1 - 36.
IEEE BOZKUŞ Z,ERTEN C "Dağınık Çok Çekirdekli CPU ve Çoklu GPU Sistemleri İçin Heterojen Programlama Kütüphanesi." , ss.1 - 36, 2015.
ISNAD BOZKUŞ, Zeki - ERTEN, Cesim. "Dağınık Çok Çekirdekli CPU ve Çoklu GPU Sistemleri İçin Heterojen Programlama Kütüphanesi". (2015), 1-36.
APA BOZKUŞ Z, ERTEN C (2015). Dağınık Çok Çekirdekli CPU ve Çoklu GPU Sistemleri İçin Heterojen Programlama Kütüphanesi. , 1 - 36.
Chicago BOZKUŞ Zeki,ERTEN Cesim Dağınık Çok Çekirdekli CPU ve Çoklu GPU Sistemleri İçin Heterojen Programlama Kütüphanesi. (2015): 1 - 36.
MLA BOZKUŞ Zeki,ERTEN Cesim Dağınık Çok Çekirdekli CPU ve Çoklu GPU Sistemleri İçin Heterojen Programlama Kütüphanesi. , 2015, ss.1 - 36.
AMA BOZKUŞ Z,ERTEN C Dağınık Çok Çekirdekli CPU ve Çoklu GPU Sistemleri İçin Heterojen Programlama Kütüphanesi. . 2015; 1 - 36.
Vancouver BOZKUŞ Z,ERTEN C Dağınık Çok Çekirdekli CPU ve Çoklu GPU Sistemleri İçin Heterojen Programlama Kütüphanesi. . 2015; 1 - 36.
IEEE BOZKUŞ Z,ERTEN C "Dağınık Çok Çekirdekli CPU ve Çoklu GPU Sistemleri İçin Heterojen Programlama Kütüphanesi." , ss.1 - 36, 2015.
ISNAD BOZKUŞ, Zeki - ERTEN, Cesim. "Dağınık Çok Çekirdekli CPU ve Çoklu GPU Sistemleri İçin Heterojen Programlama Kütüphanesi". (2015), 1-36.