Skip to Main Content U.S. Department of Energy
Computational Sciences & Mathematics

High-Performance Computing Science

The Applied Computer Science Group at PNNL is working in several areas of High-Performance Computing to provide scientific support to a large class of applications in biology, chemistry, knowledge discovery, real-time data-analysis, and national security. The group has active projects in the following areas:

Reconfigurable computing: The main objective is to provide building blocks to realize data-intensive scientific algorithms using Field Programmable Gate Arrays (FPGA) accelerators, with ongoing projects in bioinformatics and power grid.

Scalable collective operations for supercomputers: Developing scalable algorithms to efficiently coordinate groups of processes in large-scale parallel computers.

Performance programming on Supercomputers: Developing fast communication protocols that use Direct Remote Memory Access (DRMA) primitives to overlap computation with communication and perform several other optimizations to reduce the execution time of a parallel application.

Scalable Fault Tolerance: Developing scalable system software to guarantee the correct execution of parallel applications in spite of hardware and software failures.

SprayCool: Power-efficient supercomputing based on a ground-breaking aereosol technology to cool compute platforms.

The GA Toolkit: The Global Arrays (GA) toolkit provides an efficient and portable "shared-memory" programming interface for distributed-memory computers. Each process in a MIMD parallel program can asynchronously access logical blocks of physically distributed dense multi-dimensional arrays, without need for explicit cooperation by other processes. Unlike other shared-memory environments, the GA model exposes to the programmer the non-uniform memory access (NUMA) characteristics of the high performance computers and acknowledges that access to a remote portion of the shared data is slower than to the local portion. The locality information for the shared data is available, and a direct access to the local portions of shared data is provided.

Global Arrays have been designed to complement rather than substitute for the message-passing programming model. The programmer is free to use both the shared-memory and message-passing paradigms in the same program, and to take advantage of existing message-passing software libraries. Global Arrays are compatible with the Message Passing Interface (MPI).

The Global Arrays toolkit has been in the public domain since 1994 and actively supported and employed in several large codes since then.

Aggregate Remote Memory Copy: The Aggregate Remote Memory Copy (ARMCI) library provides a general-purpose, efficient, and widely portable remote memory access (RMA) operations (one-sided communication) optimized for contiguous and noncontiguous (strided, scatter/gather, I/O vector) data transfers. In addition, ARMCI includes a set of atomic and mutual exclusion operations.

The development ARMCI is driven by the need to support the global-address space communication model in context of distributed regular or irregular distributed data structures, communication libraries, and compilers. ARMCI is a standalone system that could be used to support user-level libraries and applications that use MPI or PVM. Development of ARMCI has been supported by the DoE2000 Global Arrays project, the Environmental Molecular Sciences Laboratory, and recently by the Center for Programming Models for Scalable Parallel Computing.

Contact: Jarek Nieplocha

Computational Sciences & Mathematics

Fundamental & Computational Sciences

CSMD Research

Research highlights

View All CSMD Highlights

Additional Resources

Contacts

Content

WebMaster