CUDABlock: A GUI Programming Tool for CUDA

Recent advances in graphics processing units (GPUs) have resulted in massively parallel hardware that is widely available to achieve high performance in desktop, notebook, and even mobile computer systems. While multicore technology has become the norm of modern computers, programming such systems r...

Full description

Saved in:
Bibliographic Details
Published in:Proceedings - International Workshops on Parallel Processing pp. 37 - 42
Main Authors: Hsih-Hsin Lin, Chia-Heng Tu, Yuan-Shin Hwang
Format: Conference Proceeding
Language:English
Published: IEEE 01.09.2015
Subjects:
ISSN:1530-2016
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Recent advances in graphics processing units (GPUs) have resulted in massively parallel hardware that is widely available to achieve high performance in desktop, notebook, and even mobile computer systems. While multicore technology has become the norm of modern computers, programming such systems requires the understanding of underlying hardware architecture and hence posts a great challenge for average joe programmers, who might be professionals in specific domains, but not experts in parallel programming. This paper presents a GUI tool called CUDA Block that can facilitate parallel programming on multicore computer systems. CUDA Block is developed based on the Open Blocks framework, an extendable tool for graphical programming, to construct the GUI-based programming environment for CUDA parallel computing platform. Programmers simply need to drag-n-drop blocks, fill the fields of the blocks, and connect them according to array or matrix computations that are specified by algorithms. CUDA Block can then export block-based code to CUDA programs. Furthermore, a couple of optimization constructs have also been also offered for rapid program optimization. Preliminary experimental results have shown that the generated CUDA programs can achieve reasonable speedups on GPUs. Consequently, CUDA Block can be used as a tool for fast prototyping of GPU applications or a platform for education of parallel programming.
ISSN:1530-2016
DOI:10.1109/ICPPW.2015.15