Title: Advanced Programming Platform for efficient use of Data Parallel Hardware
Abstract: Graphics processing units (GPU) had evolved from a specialized hardware capable to render high quality graphics in games to a commodity hardware for effective processing blocks of data in a parallel schema. This evolution is particularly interesting for scientific groups, which traditionally use mainly CPU as a work horse, and now can profit of the arrival of GPU hardware to HPC clusters. This new GPU hardware promises a boost in peak performance, but it is not trivial to use. In this article a programming platform designed to promote a direct use of this specialized hardware is presented. This platform includes a visual editor of parallel data flows and i t is oriented to the execution in distributed clusters with GPUs. Examples of application in two characteristic problems, Fast Fourier Transform and Image Compression, are also shown. I. I NTRODUCTION The game industry saw in the 2000s the revolution of the programmable shaders. Programmable shaders insert specifi c code in the 3D graphics pipeline in order to have customized effects 1 . Initially programmable shaders allowed to change the pixels color, but soon they evolved to be able to modify also the geometry, and currently they have the flexibility to interact with almost all graphical elements, achieving t he so called General-Purpose computing on graphics processing units (GPGPU). The use of GPGPU allow developers to program general processing applications using graphics hardware. The game companies soon noticed the problem with the programmable shaders: the graphics are the objective of visual artists, b ut programming is a hard and time consuming process that is not taught in art academies. And programmers do not have the experience, nor the knowledge to get the best visual result programming customized effects with graphics hardware. The solution reached in the game industry was to develop powerful tools, easy to use for the artist but flexible enough to get all the results that a programmer can implement directly. These tools are based on a data-flow programming design that allows the visual artist to create special effects and display them on- screen during editing, exactly as they will appear along game execution. The tools include the possibility of directed ed ition showing immediately the effects of a proposed change, and also the intermediate state of data (as graphics primitives ) in the workflow and so to understand the result of the change as a whole product or as a sum of transformations.
Publication Year: 2012
Publication Date: 2012-03-22
Language: en
Type: preprint
Access and Citation
AI Researcher Chatbot
Get quick answers to your questions about the article from our AI researcher chatbot