skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Vectorised Computation of Diverging Ensembles. In: ICPP 2018 Proceedings of the 47th International Conference on Parallel Processing, Article No. 51

Conference ·
 [1];  [2];  [2];  [3]
  1. Imperial College London, London
  2. Argonne National Laboratory, Argonne, Illinois
  3. Intel Corporation, Argonne, Illinois

Ensemble computations are used to evaluate a function for multiple inputs, for example in uncertainty quantification. Embedded ensemble computations perform several evaluations within the same program, often enabling a reduced overall runtime by exploiting vectorisation and parallelisation opportunities that are not present in individual ensemble members. This is challenging if members take different control flow paths. We present a source-to-source transformation that turns a given C program into an embedded ensemble program that computes members in a single-instruction-multiple-data fashion using OpenMP SIMD pragmas. We use techniques from whole-function vectorisation, achieving effective vectorisation for moderate amounts of branch divergence, particularly on processors with masked instructions such as recent Xeon Phi or Skylake processors with AVX-512.

Research Organization:
Oak Ridge National Laboratory (ORNL), Oak Ridge, TN (United States). Oak Ridge Leadership Computing Facility (OLCF)
Sponsoring Organization:
USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR)
DOE Contract Number:
AC02-06CH11357
OSTI ID:
1567654
Resource Relation:
Conference: 47th International Conference on Parallel Processing, Eugene, OR, USA, August 13 - 16, 2018
Country of Publication:
United States
Language:
English

References (13)

Conversion of control dependence to data dependence
  • Allen, J. R.; Kennedy, Ken; Porterfield, Carrie
  • Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages - POPL '83 https://doi.org/10.1145/567067.567085
conference January 1983
Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods book January 1994
The Market Model of Interest Rate Dynamics journal April 1997
Parallel Implementation and Practical Use of Sparse Approximate Inverse Preconditioners with a Priori Sparsity Patterns journal February 2001
Ensemble Methods in Machine Learning book January 2000
Kokkos: Enabling manycore performance portability through polymorphic memory access patterns journal December 2014
Fast greeks by simulation in forward LIBOR models journal January 1999
Whole-function vectorization
  • Karrenberg, Ralf; Hack, Sebastian
  • 2011 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization (CGO), International Symposium on Code Generation and Optimization (CGO 2011) https://doi.org/10.1109/CGO.2011.5764682
conference April 2011
Ensemble forecasting journal March 2008
Quantification of modelling uncertainties in a large ensemble of climate change simulations journal August 2004
Embedded Ensemble Propagation for Improving Performance, Portability, and Scalability of Uncertainty Quantification on Emerging Computational Architectures journal January 2017
Introducing Control Flow into Vectorized Code conference September 2007
Superword-Level Parallelism in the Presence of Control Flow conference January 2005

Similar Records

An efficient and portable SIMD algorithm for charge/current deposition in Particle-In-Cell codes
Journal Article · Mon Sep 19 00:00:00 EDT 2016 · Computer Physics Communications · OSTI ID:1567654

Effective Vectorization with OpenMP 4.5
Technical Report · Wed Mar 01 00:00:00 EST 2017 · OSTI ID:1567654

Evaluation of Low Power ARM Processors for Monte Carlo Particle Transport: MCNP6 on the ARM Cortex-A8 - Paper 83
Conference · Mon Sep 15 00:00:00 EDT 2014 · OSTI ID:1567654

Related Subjects