NASA Logo

NTRS

NTRS - NASA Technical Reports Server

Back to Results
C++ Resource Intelligent Compilation for GPU Enabled ApplicationsWe are nearing the limits of Moore's Law with current computing technology. As industries push for more performance from smaller systems, alternate methods of computation such as Graphics Processing Units (GPUs) should be considered. Many of these systems utilize the Compute Unified Device Architecture (CUDA) to give programmers access to individual compute elements of the GPU for general purpose computing tasks. Direct access to the GPU's parallel multi-core architecture enables highly efficient computation and can drastically reduce the time required for complex algorithms or data analysis. Of course not all systems have a CUDA-enabled device to leverage, and so applications must consider optional support for users with these devices. Resource Intelligent Compilation (RIC) addresses this situation by enabling GPU-based acceleration of existing applications without affecting users without GPUs. Resource Intelligent Compilation (RIC) creates C/C++ modules that can be compiled to create a standard CPU version or GPU accelerated version of a program, depending on hardware availability. This is accomplished through a toolbox of programming strategies based on features of the CUDA API. Using this toolbox, existing applications can be modified with ease to support GPU acceleration, and new applications can be generated with just a few simple modifications. All of this culminates in an accelerated application for users with the appropriate hardware, with no performance impact to standard systems. This memorandum presents all the important features involved in supporting and implementing RIC and an example of using RIC to accelerate an existing mathematical model, without removing support for standard users. Through this memorandum, NASA engineers can acquire a set of guidelines to follow for RIC-compliant development, seamlessly accelerating C/C++ applications.
Document ID
20180003378
Acquisition Source
Ames Research Center
Document Type
Technical Memorandum (TM)
Authors
Skudra, David J.
(Universities Space Research Association Moffett Field, CA, United States)
Gorospe, George E.
(SGT, Inc. Moffett Field, CA, United States)
Date Acquired
June 4, 2018
Publication Date
April 1, 2018
Subject Category
Computer Programming And Software
Report/Patent Number
NASA/TM-2018-219897
ARC-E-DAA-TN55157
Funding Number(s)
CONTRACT_GRANT: NNX13AJ38A
CONTRACT_GRANT: NNA14AA60C
Distribution Limits
Public
Copyright
Public Use Permitted.
Keywords
GPU
C++
CUDA
Software Engineering
No Preview Available