DocumentCode :
2679196
Title :
GPU programming for EDA with OpenCL
Author :
Topaloglu, Rasit O. ; Gaster, Benedict
Author_Institution :
GLOBALFOUNDRIES, Milpitas, CA, USA
fYear :
2011
fDate :
7-10 Nov. 2011
Firstpage :
63
Lastpage :
66
Abstract :
Graphical processing unit (GPU) computing has been an interesting area of research in the last few years. While initial adapters of the technology have been from image processing domain due to difficulties in programming the GPUs, research on programming languages made it possible for people without the knowledge of low-level programming languages such as OpenGL develop code on GPUs. Two main GPU architectures from AMD (former ATI) and NVIDIA acquired grounds. AMD adapted Stanford´s Brook language and made it into an architecture-agnostic programming model. NVIDIA, on the other hand, brought CUDA framework to a wide audience. While the two languages have their pros and cons, such as Brook not being able to scale as well and CUDA having to account for architectural-level decisions, it has not been possible to compile one code on another architecture or across platforms. Another opportunity came with the introduction of the idea of combining one or more CPUs and GPUs on the same die. Eliminating some of the interconnection bandwidth issues, this combination makes it possible to offload tasks with high parallelism to the GPU. The technological direction towards multicores for CPU-only architectures also require a programming methodology change and act as a catalyst for suitable programming languages. Hence, a unified language that can be used both on multiple core CPUs as well as GPUs and their combinations has gained interest. Open Computing Language (OpenCL), developed originally by the Khronos Group of Apple and supported by both AMD and NVIDIA, is seen as the programming language of choice for parallel programming. In this paper, we provide a motivation for our tutorial talk on usage of OpenCL for GPUs and highlight key features of the language. We provide research directions on OpenCL for EDA. In our tutorial talk, we use EDA as our application domain to get the readers started with programming the rising language of parallelism, OpenCL.
Keywords :
graphics processing units; parallel programming; programming languages; AMD; CUDA framework; EDA; GPU architecture; GPU programming; NVIDIA; OpenCL; OpenGL; Stanford Brook language; architectural-level decisions; architecture-agnostic programming model; graphical processing unit computing; image processing domain; low-level programming languages; open computing language; parallel programming; research on programming language; unified language; Algorithm design and analysis; Design automation; Graphics processing unit; Kernel; Multicore processing; Programming; CAD; EDA; GPGPU; GPU; OpenCL; algorithms;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Computer-Aided Design (ICCAD), 2011 IEEE/ACM International Conference on
Conference_Location :
San Jose, CA
ISSN :
1092-3152
Print_ISBN :
978-1-4577-1399-6
Electronic_ISBN :
1092-3152
Type :
conf
DOI :
10.1109/ICCAD.2011.6105306
Filename :
6105306
Link To Document :
بازگشت