Engineering Papers⌕ Search

DOE OSTI · 1023861

Python for Development of OpenMP and CUDA Kernels for Multidimensional Data

Abstract

Design of data structures for high performance computing (HPC) is one of the principal challenges facing researchers looking to utilize heterogeneous computing machinery. Heterogeneous systems derive cost, power, and speed efficiency by being composed of the appropriate hardware for the task. Yet, each type of processor requires a specific organization of the application state in order to achieve peak performance. Discovering this and refactoring the code can be a challenging and time-consuming task for the researcher, as the data structures and the computational model must be co-designed. We present a methodology that uses Python as the environment for which to explore tradeoffs in both the data structure design as well as the code executing on the computation accelerator. Our method enables multi-dimensional arrays to be used effectively in any target environment. We have chosen to focus on OpenMP and CUDA environments, thus exploring the development of optimized kernels for the two most common classes of computing hardware available today: multi-core CPU and GPU. Python s large palette of file and network access routines, its associative indexing syntax and support for common HPC environments makes it relevant for diverse hardware ranging from laptops through computing clusters to the highest performance supercomputers. Our work enables researchers to accelerate the development of their codes on the computing hardware of their choice.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Bell, Zane W, Davidson, Gregory G, D'Azevedo, Ed F, Evans, Thomas M, Joubert, Wayne, Munro, Jr, John K, Patlolla, Dilip Reddy, Vacaliuc, Bogdan. 2011-01-01. Python for Development of OpenMP and CUDA Kernels for Multidimensional Data. https://www.osti.gov/biblio/1023861

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related reports

Design and Integration of High Precision Superconducting Magnet Power Supply Systems

This paper reviews the design and integration approach being taken to power more than 400 superconducting magnets in Electron Ion Collider (EIC) by power supplies ranging from 20V to 400V and 100A to 18kA. A major challenge is to integrate existing legacy power supplies with new high current systems and maximize performance and reduce costs. Successful implementation requires coordinated integration of power convertors, current regulation, quench protection, energy extraction, machine protection, controls and existing accelerator infrastructure.

43 PARTICLE ACCELERATORS↗

Searching for the Most Harmful Field Errors in the HSR IR Superconducting Magnets

In this project, we improve beam stability for the Electron-Ion Collider. Magnetic field errors can reduce beam stability, making it essential to identify the field errors that have the greatest impact on accelerator performance. However, this is particularly challenging because beam stability depends on the complex interactions of many magnetic field errors, resulting in a high-dimensional and nonlinear optimization problem. We determine which field errors are the most influential for the large physical aperture superconducting magnet B2PF, a critical magnet in the Interaction Region (IR) in the Hadron Storage Ring (HSR). We complete and analyze nearly 30,000 simulations on the Brookhaven National Laboratory Linux Cluster by varying 18 nonlinear magnetic field errors. We evaluate beam stability using the dynamic aperture and the tune diffusion. We identify the field errors that most strongly influence beam stability and establish quantitative field error tolerances that improve accelerator performance.

43 PARTICLE ACCELERATORS↗