Engineering Papers⌕ Search

Engineering topics

Watson, William A.

Publications and source records attributed to Watson, William A..

Automatic Offloading C++ Expression Templates to CUDA Enabled GPUs

In the last few years, many scientific applications have been developed for powerful graphics processing units (GPUs) and have achieved remarkable speedups. This success can be partially attributed to high performance host callable GPU library routines that are offloaded to GPUs at runtime. These library routines are based on C/C++-like programming toolkits such as CUDA from NVIDIA and have the same calling signatures as their CPU counterparts. Recently, with the sufficient support of C++ templates from CUDA, the emergence of template libraries have enabled further advancement in code reusability and rapid software development for GPUs. However, Expression Templates (ET), which have been very popular for implementing data parallel scientific software for host CPUs because of their intuitive and mathematics-like syntax, have been underutilized by GPU development libraries. The lack of ET usage is caused by the difficulty of offloading expression templates from hosts to GPUs due to the inability to pass instantiated expressions to GPU kernels as well as the absence of the exact form of the expressions for the templates at the time of coding. This paper presents a general approach that enables automatic offloading of C++ expression templates to CUDA enabled GPUs by using the C++ metaprogramming technique and Just-In-Time (JIT) compilation methodology to generate and compile CUDA kernels for corresponding expression templates followed by executing the kernels with appropriate arguments. This approach allows developers to port applications to run on GPUs with virtually no code modifications. More specifically, this paper uses a large ET based data parallel physics library called QDP++ as an example to illustrate many aspects of the approach to offload expression templates automatically and to demonstrate very good speedups for typical QDP++ applications running on GPUs against running on CPUs using this method of offloading. In addition, this approach of automatic offlo- ding expression templates could be applied to other many-core accelerators that provide C++ programming toolkits with the support of C++ template.

97 MATHEMATICS AND COMPUTING↗

Rapid Spacecraft Development: Results and Lessons Learned

The Rapid Spacecraft Development Office (RSDO) at NASA's Goddard Space Flight Center is responsible for the management and direction of a dynamic and versatile program for the definition, competition, and acquisition of multiple indefinite delivery and indefinite quantity contracts - resulting in a catalog of spacecraft buses. Five spacecraft delivery orders have been placed by the RSDO and one spacecraft has been launched. Numerous concept and design studies have been performed, most with the intent of leading to a future spacecraft acquisition. A collection of results and lessons learned is recorded to highlight management techniques, methods and processes employed in the conduct of spacecraft acquisition. Topics include working relationships under fixed price delivery orders, price and value, risk management, contingency reserves, and information restrictions.

Watson, William A.↗

NASA's Advanced Tracking and Data Relay Satellite System for the years 2000 and beyond

An Advanced Tracking and Data Relay Satellite System (ATDRSS) reference architecture that embodies many of the system features and technological enhancements considered essential is presented and described. The architectural and user service features of the existing TDRSS are reviewed, and certain evolutionary features that will take place by the mid-1990s are discussed. NASAs projected user service requirements for the first decade at the next century, which are the principal drivers for the ATDRSS architecture, are described, including such aspects as the real-time data rates and the quantity of simultaneous services that must be supported. The discussion of the ATDRSS reference architecture covers rationale, technology considerations, and key features of the future ATDRSS user service. A status summary of the ATDRSS program is given.

Brandel, Daniel L.↗