Content area
Abstract
Recent advances in GPUs opened a new opportunity in harnessing their computing power for general purpose computing. CUDA, an extension to C programming, is developed for programming NVIDIA GPUs. However, efficiently programming GPUs using CUDA is very tedious and error prone even for the expert programmers. Programmer has to optimize the resource occupancy and manage the data transfers between host and GPU, and across the memory system. This paper presents the basic architectural optimizations and explore their implementations in research and industry compilers. The focus of the presented review is on accelerating computational science applications such as the class of structured grid computation (SGC). It also discusses the mismatch between current compiler techniques and the requirements for implementing efficient iterative linear solvers. It explores the approaches used by computational scientists to program SGCs. Finally, a set of tools with the main optimization functionalities for an integrated library are proposed to ease the process of defining complex SGC data structure and optimizing solver code using intelligent high-level interface and domain specific annotations.
Details
; Nazeeruddin, Mohammad 3
1 King Fahd University of Petroleum and Minerals, Computer Engineering Department, Dhahran, Saudi Arabia (GRID:grid.412135.0) (ISNI:0000 0001 1091 0356)
2 Karachi Institute of Economics and Technology, Computer Science Department, Karachi, Pakistan (GRID:grid.444871.a) (ISNI:0000 0000 9705 6051)
3 Prince Mohammad Bin Fahd University, Computer Engineering Department, AlKhobar, Saudi Arabia (GRID:grid.449337.e)





