A Compiler to Enable C++/OpenMP Programs to Run on the GPU

IP.com Prior Art Database Disclosure
IP.com Disclosure Number: IPCOM000171304D
Publication Date: 25-Jun-2008
More Like This Download

Publishing Venue

The IP.com Journal (v8n6B)

Related People

Juergen Carstens - Contact
juergen.carstens@siemens.com; phone +49-89-636-82995

Abstract

GPUs (Graphic Processing Units) are usually used for graphical computations. Further, the GPUs are optimized for digital signal processing, scene rendering and volumetric image processing. It turned out that the GPU can also be used for the implementation of complex computing problems such as high speed database sorting and searching, genetic algorithms or pattern recognition. Due to the pipeline architecture, the traditional sequential programming model can not be applied. At present, in the direct GPU programming the programmer maps low level details such as vertex processing to his problem domain. However, the programming effort is huge and the developed code is locked on the current GPU platform.

Copyright

SIEMENS AG 2008

Language

English (United States)

Country

India

Document File

2 pages / 31.6 KB

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

A Compiler to Enable C++/OpenMP Programs to Run on the GPU

Idea: Vijay Agneeswaran, IN-Bangalore; Ranajoy Malakar, IN-Bangalore; Donny Daniel, IN- Bangalore; Yogesh Nagappa, IN-Bangalore; Ljubisa Goganovic,IN-Bangalore

GPUs (Graphic Processing Units) are usually used for graphical computations. Further, the GPUs are optimized for digital signal processing, scene rendering and volumetric image processing. It turned out that the GPU can also be used for the implementation of complex computing problems such as high speed database sorting and searching, genetic algorithms or pattern recognition. Due to the pipeline architecture, the traditional sequential programming model can not be applied. At present, in the direct GPU programming the programmer maps low level details such as vertex processing to his problem domain. However, the programming effort is huge and the developed code is locked on the current GPU platform.

Therefore, a novel tool is proposed which can be used by programmers in order to write code which can be executed on the GPU hardware. The schematic diagram of the proposed solution is depicted in Figure 1. The original code is endued with parallelization hints (see Figure 1, a). The parallelization hints are used to mark the section of code which can be run in parallel. Thus, the compiler gets informed about the parallel code sections and the kind of shared data management which should be performed. This leads to an expressive parallel programming environment so that the programmer does not have to to deal with low-level details for the parallel execution of the program. Furthermore, the parallelization hints are conform to or extend the OpenMP directives if needed (OpenMP: Open Multi Processing). Therefore, the parallelization hints demarcate the parallel and non-parallel executable c...

First page image
You are not signed in. If you have an IP.com account, your download price may be lower or waived. Click here if you want to sign-in now.
Loading PayPal...
The full document comprises 2 pages and is available as a PDF document as well as a ZIP archive. The cost is $40.00 USD (depending on your billing address, sales tax may apply); payment may be made directly using your credit card or your PayPal account.

If you've already purchased this document, and wish to download it now you may enter the download access code you received in your original email receipt.