Exploring the Contrast on GPGPU Computing through CUDA and OpenCL

0*, G.M. Nasira**
* Research Scholar, Manonmaniam Sundaranar University, Tirunelveli, Tamilnadu, India.
** Assistant Professor, Computer Science, Chikkanna Govt Arts College, Tirupur, Tamilnadu, India.
Periodicity:July - September'2014
DOI : https://doi.org/10.26634/jse.9.1.3208

Abstract

In the recent years, Multi-core to Many-core processors computing became most significant in High Performance Computing (HPC). Increasing parallelism rather than increasing clock rate has become the primary engine of processor performance growth and this trend is likely to continue. Particularly, today's Graphics Processing Units (GPU) became most significant in favour of HPC. General Purpose GPU (GPGPU) computing has allowed the GPU to emerge as successful co-processors that can be employed to improve the performance of many different non-graphical applications with high parallel requirements that make them suitable for many HPC workloads. CUDA and OpenCL offer two different interfaces for programming GPUs. OpenCL is an open standard that can be used to program CPUs, GPUs, and other devices from different vendors, while CUDA is specific to NVIDIA GPUs. In this research paper, the authors have explored the contrast between CUDA and OpenCL, which helps the HPC programmers to familiarize with GPGPU.

Keywords

CPU, CUDA, Java, jCuda, jocl, GPGPU, GPU, OpenCL.

How to Cite this Article?

Veerasamy,B,D., and Nasira.G.M. (2014). Exploring the Contrast on GPGPU Computing through CUDA and OpenCL. i-manager’s Journal on Software Engineering, 9(1), 1-8. https://doi.org/10.26634/jse.9.1.3208

References

[1]. Benedict Gaster, Lee Howes, David R. Kaeli, Perhaad Mistry, Dana Schaa, (2012). Heterogeneous Computing with OpenCL, 2012, Elsevier Inc.
[2]. NVIDIA Tesla (2007). GPU Computing Technical Brief, GPU Compute Tech Brief, 2007.
[3]. John D. Owens, Mike Houston, David Luebke, Simon Green, John E. Stone, and James C. Phillips, (2008). GPU Computing, IEEE Xplore.
[4]. GPU Computing, http://gpgpu.org/about,accessed on 18 March 2015.
[5]. Kamran Karimi Neil G. Dickson Firas Hamze, (2011). A Performance Comparison of CUDA and OpenCL.
[6]. Jianbin Fang, Varbanescu, A.L. ; Sips, H.,(2011). A Comprehensive Performance Comparison of CUDA and OpenCL, IEEE Xplore.
[7]. John Nickolls, William J. Dally, (2010). GPU Computing Era, IEEE.
[8]. Jayshree Ghorpade, Jitendra Parande, Madhura Kulkarni, Amit Bawaskar, (2012). GPGPU Processing In CUDA Architecture, Advanced Computing: An International Journal ( ACIJ ), Vol.3, No.1.
[9]. John D. Owens, Mike Houston, David Luebke, Simon Green, John E. Stone, and James C. Phillips, (2008). GPU Computing, IEEE.
[10]. Bala Dhandayuthapani Veerasamy, (2010). Concurrent Approach to Flynn's SPMD Classification, International Journal of Computer Science and Information Security, Vol. 7, No. 2.
[11]. Shane Cook, (2013). CUDA Programming - A Developer's Guide to Parallel Computing with GPUs, Elsevier Inc.
[12]. David B. Kirk and Wen-mei W. Hwu, (2010). Programming Massively Parallel Processors A Hands-on Approach, Elsevier.
[13]. Michael Garland, Joshua Anderson, Jim Hardwich, Scott Mroton, Everett Phillops, Vasily Vokkov, (2008). Parallel Computing Experiences with CUDA, IEEE.
[14]. Lee Howes and Aaftab Munshi, (2014). The OpenCL Specification, Khronos OpenCL
[15]. AMD Accelerated Parallel Processing OpenCl Optimization Guide, 2014, Advanced Micro Devices, Inc.
[16]. Bala Dhandayuthapani Veerasamy, (2010). Concurrent Approach to Flynn's MPMD Classification through Java, International Journal of Computer Science & Network Security, Vol.10, No.2.
[17]. Bala Dhandayuthapani Veerasamy, Dr. G.M. Nasira, (2012). Setting CPU Affinity in Windows Based SMP Systems Using Java, International Journal of Scientific & Engineering Research, Vol. 3, No. 4, pp 893-900, Texas, USA, ISSN 2229-5518.
[18]. Bala Dhandayuthapani Veerasamy, Dr. G.M. Nasira, (2012). Parallel: One Time Pad using Java, International Journal of Scientific & Engineering Research, Vol. 3, No. 11, pp 1109-1117, Texas, USA, ISSN 2229-5518.
[19]. Bala Dhandayuthapani Veerasamy and Dr. G.M. Nasira, (2013). JNT - Java Native Thread for Win32 Platform, International Journal of Computer Applications, Vol. 70, No. 24, pp 1-9, Foundation of Computer Science, New York, USA, ISSN 0975 - 8887.
[20]. Bala Dhandayuthapani Veerasamy and Dr. G.M. Nasira, (2014). Java Native Pthreads for Win32 Platform, World Congress on Computing and Communication Technologies (WCCCT'14), pp.195-199, Feb. 27 2014- March 1 2014, Tiruchirappalli, published in IEEE Xplore, ISBN: 978-1-4799-2876-7.
[21]. Bala Dhandayuthapani Veerasamy and Dr. G.M. Nasira, (2014). Overall Aspects of Java Native Threads on Win32 Platform, Second International Conference on Emerging Research in Computing, Information, Communication and Applications (ERCICA-2014), Vol., No., pp. August 01-02, 2014, Bangalore, published in ELSEVIER in India.
[22]. Bala Dhandayuthapani Veerasamy and Dr. G.M. Nasira, Performance Analysis of Java NativeThread and NativePthread on Win32 Platform, International Journal of Computational Intelligence and Informatics, ISSN: 2349-6363 (on Process).
[23]. Bala Dhandayuthapani Veerasamy and Dr. G.M. Nasira, Native Pthread on Android Platform using Android NDK, Karpagam Journal of Computer Science (KJCS), ISSN : 0973-2926 (On Process).
[24]. Bala Dhandayuthapani Veerasamy and Dr. G.M. Nasira, Java Native Intel Thread Building Blocks for Win32 Platform, Asian Journal of Information Technology, Vol. 13, No. 8, pp 431-437, Medwell Publishing, ISSN 1682- 3915 (Print).
[25]. Jorge Docampo, Sabela Ramos, Guillermo L. Taboada, Roberto R. Exp´osito, Juan Touri˜no, Ram´on Doallo, (2013). Evaluation of Java for General Purpose GPU Computing, IEEE.
[26]. Yonghong Yan, Max Grossman, and Vivek Sarkar, (2009). JCUDA: A Programmer-Friendly Interface for Accelerating Java Programs with CUDA, LNCS 5704, pp. 887–899, 2009, Springer-Verlag Berlin Heidelberg.
[27]. Java bindings for OpenCL, http://www.jocl.org, accessed on 18 March 2015.
[28]. Java bindings for CUDA, http://www.jcuda.org, accessed on 18 March 2015.
[29]. Long Chen, Oreste Villa,Guang R. Gao, (2011). Exploring Fine-Grained Task-based Execution on Multi- GPU Systems, IEEE.
If you have access to this article please login to view the article or kindly login to purchase the article

Purchase Instant Access

Single Article

North Americas,UK,
Middle East,Europe
India Rest of world
USD EUR INR USD-ROW
Pdf 35 35 200 20
Online 35 35 200 15
Pdf & Online 35 35 400 25

Options for accessing this content:
  • If you would like institutional access to this content, please recommend the title to your librarian.
    Library Recommendation Form
  • If you already have i-manager's user account: Login above and proceed to purchase the article.
  • New Users: Please register, then proceed to purchase the article.