Achieving near native runtime performance and cross-platform performance portability for random number generation through SYCL interoperability

09/03/2021
by   Vincent R. Pascuzzi, et al.
0

High-performance computing (HPC) is a major driver accelerating scientific research and discovery, from quantum simulations to medical therapeutics. While the increasing availability of HPC resources is in many cases pivotal to successful science, even the largest collaborations lack the computational expertise required for maximal exploitation of current hardware capabilities. The need to maintain multiple platform-specific codebases further complicates matters, potentially adding constraints on machines that can be utilized. Fortunately, numerous programming models are under development that aim to facilitate portable codes for heterogeneous computing. One in particular is SYCL, an open standard, C++-based single-source programming paradigm. Among SYCL's features is interoperability, a mechanism through which applications and third-party libraries coordinate sharing data and execute collaboratively. In this paper, we leverage the SYCL programming model to demonstrate cross-platform performance portability across heterogeneous resources. We detail our NVIDIA and AMD random number generator extensions to the oneMKL open-source interfaces library. Performance portability is measured relative to platform-specific baseline applications executed on four major hardware platforms using two different compilers supporting SYCL. The utility of our extensions are exemplified in a real-world setting via a high-energy physics simulation application. We show the performance of implementations that capitalize on SYCL interoperability are at par with native implementations, attesting to the cross-platform performance portability of a SYCL-based approach to scientific codes.

READ FULL TEXT
research
05/28/2022

HPC Extensions to the OpenKIM Processing Pipeline

The Open Knowledgebase of Interatomic Models (OpenKIM) is an NSF Science...
research
09/05/2019

QCOR: A Language Extension Specification for the Heterogeneous Quantum-Classical Model of Computation

Quantum computing is an emerging computational paradigm that leverages t...
research
11/05/2020

Simulation-Based Performance Prediction of HPC Applications: A Case Study of HPL

We propose a simulation-based approach for performance modeling of paral...
research
03/11/2019

TensorFlow Doing HPC

TensorFlow is a popular emerging open-source programming framework suppo...
research
10/06/2021

Colmena: Scalable Machine-Learning-Based Steering of Ensemble Simulations for High Performance Computing

Scientific applications that involve simulation ensembles can be acceler...
research
09/11/2023

Many Cores, Many Models: GPU Programming Model vs. Vendor Compatibility Overview

In recent history, GPUs became a key driver of compute performance in HP...
research
12/05/2016

BrainFrame: A node-level heterogeneous accelerator platform for neuron simulations

Objective: The advent of High-Performance Computing (HPC) in recent year...

Please sign up or login with your details

Forgot password? Click here to reset