Data partitioning and MPI adjoints. Pavanakumar Mohanamuraly Jens D. Mueller

Size: px
Start display at page:

Download "Data partitioning and MPI adjoints. Pavanakumar Mohanamuraly Jens D. Mueller"

Transcription

1 Data partitioning and MPI adjoints Pavanakumar Mohanamuraly Jens D. Mueller

2 SCHEMA Motivation Problem and solution Results PDE constraint optimisation min a J(u, a) s.t. R(u, a) = 0 Primal and adjoint fixed point iteration u k+1 = u k M 1 R(u k, a) ū k+1 = ū k M T [ R u T ūk J u T ]

3 SCHEMA file:///users/kumar/documen Motivation Problem and solution Results

4 SCHEMA Motivation Problem and solution Results

5 GRADIENT VIA FINITE DIFFERENCE

6 GRADIENT VIA FINITE DIFFERENCE

7 GRADIENT VIA FINITE DIFFERENCE

8 GRADIENT VIA FINITE DIFFERENCE

9 PARTITIONING STRATEGY

10 PARTITIONING STRATEGY

11 PARTITIONING STRATEGY

12 PARTITIONING STRATEGY

13 PARTITIONING STRATEGY

14 PARTITIONING STRATEGY

15 PARTITIONING STRATEGY

16 PARTITIONING STRATEGY

17 Primal f a = f b f a f b = f c f a f c = f c f b f a f b f c = f a f b f c Adjoint f c += f b + f c f b += f a f c f a += f a f b f a = f b = f c = 0 f a f b f c += f a f b f c

18 HALO APPROACH Primal send(f a ); recv(f b ) f a = f b f a Adjoint f b += f a f a += f a recv(t); f a += t send( f b ) send(f b ); recv(f a ) f b = f c f a f c = f c f b f c += f b + f c f b += f c f a += f b recv(t); f b += t send( f a )

19 ZERO-HALO APPROACH Primal Adjoint f a = f b f a f b = f a accumulate(f b )? f b = f c f c = f c f b accumulate(f b )?

20 WHAT IS ACCUMULATE? accumulate(f b ) send(f b ) recv(t) f b += t accumulate(f b ) send(f b ) recv(t) f b += t

21 EXPECTATION... Primal Adjoint f a = f b f a f b = f a accumulate(f b ) f b = f c f c = f c f b accumulate(f b ) accumulate_b( f b ) f b += f a f a += f a f b accumulate_b( f b ) f b + = f c f c += f b + f c

22 IN REALITY... Primal [ ] f a f b = [ ] [ fa f b ] [ f b f c ] = [ ] [ fb f c ] Adjoint [ ] fa f b += [ ] [ f a f b ] [ fb f c ] += [ ] [ f b f c ] f a += f a f b fc += f b + f c f b += f a f b += f c accumulate( f b )! accumulate( f b )!

23 IN REALITY... Primal [ ] f a f b = [ ] [ fa f b ] [ f b f c ] = [ ] [ fb f c ] Adjoint [ ] fa f b += [ ] [ f a f b ] [ fb f c ] += [ ] [ f b f c ] f a += f a f b fc += f b + f c f b += f a f b += f c accumulate( f b )! accumulate( f b )!

24 IN REALITY... Primal [ ] f a f b = [ ] [ fa f b ] [ f b f c ] = [ ] [ fb f c ] Adjoint [ ] fa f b += [ ] [ f a f b ] [ fb f c ] += [ ] [ f b f c ] f a += f a f b fc += f b + f c f b += f a f b += f c accumulate( f b )! accumulate( f b )!

25 IN REALITY... Primal [ ] f a f b = [ ] [ fa f b ] [ f b f c ] = [ ] [ fb f c ] Adjoint [ ] fa f b += [ ] [ f a f b ] [ fb f c ] += [ ] [ f b f c ] f a += f a f b fc += f b + f c f b += f a f b += f c accumulate( f b )! accumulate( f b )!

26 ZERO-HALO APPROACH Primal Adjoint f a = f b f a f b = f a accumulate(f b ) f b = f c f c = f c f b accumulate(f b ) f a += f a f b f b += f a accumulate( f b ) f c += f b + f c f b + = f c accumulate( f b )

27 MISSING LINK... file:///users/kumar/documents/pavanphd/ecomacs/presentation/fi... Magical appearance of shared node values? Hidden or implicit MPI calls? Need to know the complete call structure Tough to find... is there an alternative (Hack!)? Well I just showed you one

28 MISSING LINK... file:///users/kumar/documents/pavanphd/ecomacs/presentation/fi... Magical appearance of shared node values? Hidden or implicit MPI calls? Need to know the complete call structure Tough to find... is there an alternative (Hack!)? Well I just showed you one

29 MISSING LINK... file:///users/kumar/documents/pavanphd/ecomacs/presentation/fi... Magical appearance of shared node values? Hidden or implicit MPI calls? Need to know the complete call structure Tough to find... is there an alternative (Hack!)? Well I just showed you one

30 MISSING LINK... file:///users/kumar/documents/pavanphd/ecomacs/presentation/fi... Magical appearance of shared node values? Hidden or implicit MPI calls? Need to know the complete call structure Tough to find... is there an alternative (Hack!)? Well I just showed you one

31 MISSING LINK... file:///users/kumar/documents/pavanphd/ecomacs/presentation/fi... Magical appearance of shared node values? Hidden or implicit MPI calls? Need to know the complete call structure Tough to find... is there an alternative (Hack!)? Well I just showed you one

32 IDEA file:///users/kumar/documents/pavanphd/ecomacs/presentation/fi... MPI-AD constructed from sparse graph/matrix Most scientific problem of the form Ax = b Paradigm translates to d and 3d Also to non-linear operators R[U] = 0

33 FIXED POINT ITERATION u k+1 = u k M 1 R(u k, a) Primal J = J(u k+1 ) Cost function [ ] ū k+1 = ū k M T T R ū k J T Adjoint u u Primal FPI... do i t e r = 1, n c a l l residue ( u, R ) c a l l update ( u, R ) end do c a l l cost_fun ( u, J ) Hand assembled adjoint FPI J = 1 J c a l l cost_fun_b ( u, T u J, J, J ) do i t e r = 1, n R T c a l l residue_b ( u, u v, R, v ) R = R T u v J T u c a l l update_b ( v, R ) end do Primal + Adjoint FPI quite expensive, need to run in parallel

34 ZERO-HALO PARTITIONING No extra storage of halos Implementated in our in-house code Fluxes calculated for every edge and summed-up to vertex Need accumulation operation at shared nodes

35 R AND R T u u Primal FPI do i t e r = 1, n c a l l residue ( u, R ) c a l l accumulate ( R ) c a l l update ( u, R ) end do c a l l cost_fun ( u, J ) Hand assembled adjoint FPI J = 1 J c a l l cost_fun_b ( u, T u J, J, J ) do i t e r = 1, n R T c a l l residue_b ( u, u v, R, v ) c a l l R = accumulate ( R T u v ) R T u v J T u c a l l update_b ( v, R ) end do Self-adjoint MPI Reflected in the FPI code What about cost function evaluation?

36 HAND ASSEMBLED COST FUNCTION (MPI) Cost function primal Cost function adjoint cost_fun ( u, J ) : cost_fun_b ( u, ū, J, J ) : J i = J(u) J = i J i ū = ū + ( J U ) T J c a l l accumulate ( ū ) Accumulate operation required for adjoint non-intutive!

37 SOME IMPROVEMENTS Adjoint FPI (two accumulates) J = 1 J c a l l cost_fun_b ( u, T u J, J, J ) c a l l accumulate ( u J T ) do i t e r = 1, n R T c a l l residue_b ( u, u v, R, v ) c a l l R = accumulate ( R T u v ) R T u v J T u c a l l update ( v, R ) end do Adjoint FPI (single accumulate) J = 1 J c a l l cost_fun_b ( u, T u J, J, J ) do i t e r = 1, n c a l l residue_b ( u, R u T v, R, v ) R = c a l l R T u v J T u accumulate ( R T u v ) c a l l update ( v, R ) end do # MPI calls reduced to just one by aggregation!

38 RESULTS Strong scaling for a d case on Intel i7 processor (four core) 4 Speed up 3 Ideal Primal MPI Primal OpenMP Adjoint MPI Adjoint OpenMP Speed%up% 4 3 Primal' Adjoint' N (a) Pure MPI and OpenMP 0 ranks + threads 4 ranks (MPI only) 4 threads (OpenMP only) (b) Hybrid MPI and OpenMP

39 SUMMARY Call-structure for MPI codes can be deceptive Especially for zero-halo partitioning View MPI-AD problem as parallel sparse matrix multiplication (possible in our case) From our experience this to works for most partitioning strategy

40 THANK YOU We thank the European commission for funding this work under the H00 framework s IODA project

Achieving Efficient Strong Scaling with PETSc Using Hybrid MPI/OpenMP Optimisation

Achieving Efficient Strong Scaling with PETSc Using Hybrid MPI/OpenMP Optimisation Achieving Efficient Strong Scaling with PETSc Using Hybrid MPI/OpenMP Optimisation Michael Lange 1 Gerard Gorman 1 Michele Weiland 2 Lawrence Mitchell 2 Xiaohu Guo 3 James Southern 4 1 AMCG, Imperial College

More information

Piccolo. Fast, Distributed Programs with Partitioned Tables. Presenter: Wu, Weiyi Yale University. Saturday, October 15,

Piccolo. Fast, Distributed Programs with Partitioned Tables. Presenter: Wu, Weiyi Yale University. Saturday, October 15, Piccolo Fast, Distributed Programs with Partitioned Tables 1 Presenter: Wu, Weiyi Yale University Outline Background Intuition Design Evaluation Future Work 2 Outline Background Intuition Design Evaluation

More information

European exascale applications workshop, Manchester, 11th and 12th October 2016 DLR TAU-Code - Application in INTERWinE

European exascale applications workshop, Manchester, 11th and 12th October 2016 DLR TAU-Code - Application in INTERWinE European exascale applications workshop, Manchester, 11th and 12th October 2016 DLR TAU-Code - Application in INTERWinE Thomas Gerhold, Barbara Brandfass, Jens Jägersküpper, DLR Christian Simmendinger,

More information

Exploiting GPU Caches in Sparse Matrix Vector Multiplication. Yusuke Nagasaka Tokyo Institute of Technology

Exploiting GPU Caches in Sparse Matrix Vector Multiplication. Yusuke Nagasaka Tokyo Institute of Technology Exploiting GPU Caches in Sparse Matrix Vector Multiplication Yusuke Nagasaka Tokyo Institute of Technology Sparse Matrix Generated by FEM, being as the graph data Often require solving sparse linear equation

More information

Summer 2009 REU: Introduction to Some Advanced Topics in Computational Mathematics

Summer 2009 REU: Introduction to Some Advanced Topics in Computational Mathematics Summer 2009 REU: Introduction to Some Advanced Topics in Computational Mathematics Moysey Brio & Paul Dostert July 4, 2009 1 / 18 Sparse Matrices In many areas of applied mathematics and modeling, one

More information

Contents. Preface xvii Acknowledgments. CHAPTER 1 Introduction to Parallel Computing 1. CHAPTER 2 Parallel Programming Platforms 11

Contents. Preface xvii Acknowledgments. CHAPTER 1 Introduction to Parallel Computing 1. CHAPTER 2 Parallel Programming Platforms 11 Preface xvii Acknowledgments xix CHAPTER 1 Introduction to Parallel Computing 1 1.1 Motivating Parallelism 2 1.1.1 The Computational Power Argument from Transistors to FLOPS 2 1.1.2 The Memory/Disk Speed

More information

On Level Scheduling for Incomplete LU Factorization Preconditioners on Accelerators

On Level Scheduling for Incomplete LU Factorization Preconditioners on Accelerators On Level Scheduling for Incomplete LU Factorization Preconditioners on Accelerators Karl Rupp, Barry Smith rupp@mcs.anl.gov Mathematics and Computer Science Division Argonne National Laboratory FEMTEC

More information

Parallel Mesh Partitioning in Alya

Parallel Mesh Partitioning in Alya Available online at www.prace-ri.eu Partnership for Advanced Computing in Europe Parallel Mesh Partitioning in Alya A. Artigues a *** and G. Houzeaux a* a Barcelona Supercomputing Center ***antoni.artigues@bsc.es

More information

European exascale applications workshop, Edinburgh, 19th/20th April 2018 Asynchronous Execution in DLR's CFD Solvers

European exascale applications workshop, Edinburgh, 19th/20th April 2018 Asynchronous Execution in DLR's CFD Solvers European exascale applications workshop, Edinburgh, 19th/20th April 2018 Asynchronous Execution in DLR's CFD Solvers Thomas Gerhold Institute of Software Methods for Product Virtualization, Dresden DLR

More information

Parallelization of Shortest Path Graph Kernels on Multi-Core CPUs and GPU

Parallelization of Shortest Path Graph Kernels on Multi-Core CPUs and GPU Parallelization of Shortest Path Graph Kernels on Multi-Core CPUs and GPU Lifan Xu Wei Wang Marco A. Alvarez John Cavazos Dongping Zhang Department of Computer and Information Science University of Delaware

More information

The Ascendance of the Dual Simplex Method: A Geometric View

The Ascendance of the Dual Simplex Method: A Geometric View The Ascendance of the Dual Simplex Method: A Geometric View Robert Fourer 4er@ampl.com AMPL Optimization Inc. www.ampl.com +1 773-336-AMPL U.S.-Mexico Workshop on Optimization and Its Applications Huatulco

More information

Introduction to Parallel Programming for Multicore/Manycore Clusters Part II-3: Parallel FVM using MPI

Introduction to Parallel Programming for Multicore/Manycore Clusters Part II-3: Parallel FVM using MPI Introduction to Parallel Programming for Multi/Many Clusters Part II-3: Parallel FVM using MPI Kengo Nakajima Information Technology Center The University of Tokyo 2 Overview Introduction Local Data Structure

More information

Distributed NVAMG. Design and Implementation of a Scalable Algebraic Multigrid Framework for a Cluster of GPUs

Distributed NVAMG. Design and Implementation of a Scalable Algebraic Multigrid Framework for a Cluster of GPUs Distributed NVAMG Design and Implementation of a Scalable Algebraic Multigrid Framework for a Cluster of GPUs Istvan Reguly (istvan.reguly at oerc.ox.ac.uk) Oxford e-research Centre NVIDIA Summer Internship

More information

OP2 FOR MANY-CORE ARCHITECTURES

OP2 FOR MANY-CORE ARCHITECTURES OP2 FOR MANY-CORE ARCHITECTURES G.R. Mudalige, M.B. Giles, Oxford e-research Centre, University of Oxford gihan.mudalige@oerc.ox.ac.uk 27 th Jan 2012 1 AGENDA OP2 Current Progress Future work for OP2 EPSRC

More information

HPC-BLAST Scalable Sequence Analysis for the Intel Many Integrated Core Future

HPC-BLAST Scalable Sequence Analysis for the Intel Many Integrated Core Future HPC-BLAST Scalable Sequence Analysis for the Intel Many Integrated Core Future Dr. R. Glenn Brook & Shane Sawyer Joint Institute For Computational Sciences University of Tennessee, Knoxville Dr. Bhanu

More information

Speedup Altair RADIOSS Solvers Using NVIDIA GPU

Speedup Altair RADIOSS Solvers Using NVIDIA GPU Innovation Intelligence Speedup Altair RADIOSS Solvers Using NVIDIA GPU Eric LEQUINIOU, HPC Director Hongwei Zhou, Senior Software Developer May 16, 2012 Innovation Intelligence ALTAIR OVERVIEW Altair

More information

Chart 1 Application of AD in Turbomachinery Design 19 th European Workshop on Automatic Differentiation Jan Backhaus DLR Cologne

Chart 1 Application of AD in Turbomachinery Design 19 th European Workshop on Automatic Differentiation Jan Backhaus DLR Cologne www.dlr.de Chart 1 Application of AD in Turbomachinery Design 19 th European Workshop on Automatic Differentiation Jan Backhaus DLR Cologne www.dlr.de Chart 2 CFD based Optimization CRISP 1 rig Gradient-free

More information

High Performance Computing: Tools and Applications

High Performance Computing: Tools and Applications High Performance Computing: Tools and Applications Edmond Chow School of Computational Science and Engineering Georgia Institute of Technology Lecture 15 Numerically solve a 2D boundary value problem Example:

More information

Combining source transformation and operator overloading approaches for adjoint CFD solvers

Combining source transformation and operator overloading approaches for adjoint CFD solvers Combining source transformation and operator overloading approaches for adjoint CFD solvers Azar Dastouri Sinan Gezgin Prof. Uwe Naumann Software and Tools for Computational Engineering, RWTH Aachen University,

More information

OpenMP: Open Multiprocessing

OpenMP: Open Multiprocessing OpenMP: Open Multiprocessing Erik Schnetter June 7, 2012, IHPC 2012, Iowa City Outline 1. Basic concepts, hardware architectures 2. OpenMP Programming 3. How to parallelise an existing code 4. Advanced

More information

Scientific Computing WS 2017/2018. Lecture 25. Jürgen Fuhrmann Lecture 25 Slide 1

Scientific Computing WS 2017/2018. Lecture 25. Jürgen Fuhrmann Lecture 25 Slide 1 Scientific Computing WS 2017/2018 Lecture 25 Jürgen Fuhrmann juergen.fuhrmann@wias-berlin.de Lecture 25 Slide 1 Why parallelization? Computers became faster and faster without that... [Source: spiralgen.com]

More information

Contents. F10: Parallel Sparse Matrix Computations. Parallel algorithms for sparse systems Ax = b. Discretized domain a metal sheet

Contents. F10: Parallel Sparse Matrix Computations. Parallel algorithms for sparse systems Ax = b. Discretized domain a metal sheet Contents 2 F10: Parallel Sparse Matrix Computations Figures mainly from Kumar et. al. Introduction to Parallel Computing, 1st ed Chap. 11 Bo Kågström et al (RG, EE, MR) 2011-05-10 Sparse matrices and storage

More information

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 18. Combining MPI and OpenMP

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 18. Combining MPI and OpenMP Chapter 18 Combining MPI and OpenMP Outline Advantages of using both MPI and OpenMP Case Study: Conjugate gradient method Case Study: Jacobi method C+MPI vs. C+MPI+OpenMP Interconnection Network P P P

More information

OpenMP and MPI. Parallel and Distributed Computing. Department of Computer Science and Engineering (DEI) Instituto Superior Técnico.

OpenMP and MPI. Parallel and Distributed Computing. Department of Computer Science and Engineering (DEI) Instituto Superior Técnico. OpenMP and MPI Parallel and Distributed Computing Department of Computer Science and Engineering (DEI) Instituto Superior Técnico November 15, 2010 José Monteiro (DEI / IST) Parallel and Distributed Computing

More information

Lecture 14: Mixed MPI-OpenMP programming. Lecture 14: Mixed MPI-OpenMP programming p. 1

Lecture 14: Mixed MPI-OpenMP programming. Lecture 14: Mixed MPI-OpenMP programming p. 1 Lecture 14: Mixed MPI-OpenMP programming Lecture 14: Mixed MPI-OpenMP programming p. 1 Overview Motivations for mixed MPI-OpenMP programming Advantages and disadvantages The example of the Jacobi method

More information

Modern GPUs (Graphics Processing Units)

Modern GPUs (Graphics Processing Units) Modern GPUs (Graphics Processing Units) Powerful data parallel computation platform. High computation density, high memory bandwidth. Relatively low cost. NVIDIA GTX 580 512 cores 1.6 Tera FLOPs 1.5 GB

More information

OpenMP and MPI. Parallel and Distributed Computing. Department of Computer Science and Engineering (DEI) Instituto Superior Técnico.

OpenMP and MPI. Parallel and Distributed Computing. Department of Computer Science and Engineering (DEI) Instituto Superior Técnico. OpenMP and MPI Parallel and Distributed Computing Department of Computer Science and Engineering (DEI) Instituto Superior Técnico November 16, 2011 CPD (DEI / IST) Parallel and Distributed Computing 18

More information

Performance of the 3D-Combustion Simulation Code RECOM-AIOLOS on IBM POWER8 Architecture. Alexander Berreth. Markus Bühler, Benedikt Anlauf

Performance of the 3D-Combustion Simulation Code RECOM-AIOLOS on IBM POWER8 Architecture. Alexander Berreth. Markus Bühler, Benedikt Anlauf PADC Anual Workshop 20 Performance of the 3D-Combustion Simulation Code RECOM-AIOLOS on IBM POWER8 Architecture Alexander Berreth RECOM Services GmbH, Stuttgart Markus Bühler, Benedikt Anlauf IBM Deutschland

More information

Automated Finite Element Computations in the FEniCS Framework using GPUs

Automated Finite Element Computations in the FEniCS Framework using GPUs Automated Finite Element Computations in the FEniCS Framework using GPUs Florian Rathgeber (f.rathgeber10@imperial.ac.uk) Advanced Modelling and Computation Group (AMCG) Department of Earth Science & Engineering

More information

Optimize HPC - Application Efficiency on Many Core Systems

Optimize HPC - Application Efficiency on Many Core Systems Meet the experts Optimize HPC - Application Efficiency on Many Core Systems 2018 Arm Limited Florent Lebeau 27 March 2018 2 2018 Arm Limited Speedup Multithreading and scalability I wrote my program to

More information

Unified Model Performance on the NEC SX-6

Unified Model Performance on the NEC SX-6 Unified Model Performance on the NEC SX-6 Paul Selwood Crown copyright 2004 Page 1 Introduction The Met Office National Weather Service Global and Local Area Climate Prediction (Hadley Centre) Operational

More information

First Experiences with Intel Cluster OpenMP

First Experiences with Intel Cluster OpenMP First Experiences with Intel Christian Terboven, Dieter an Mey, Dirk Schmidl, Marcus Wagner surname@rz.rwth aachen.de Center for Computing and Communication RWTH Aachen University, Germany IWOMP 2008 May

More information

Matrix-free IPM with GPU acceleration

Matrix-free IPM with GPU acceleration Matrix-free IPM with GPU acceleration Julian Hall, Edmund Smith and Jacek Gondzio School of Mathematics University of Edinburgh jajhall@ed.ac.uk 29th June 2011 Linear programming theory Primal-dual pair

More information

Intel MPI Library Conditional Reproducibility

Intel MPI Library Conditional Reproducibility 1 Intel MPI Library Conditional Reproducibility By Michael Steyer, Technical Consulting Engineer, Software and Services Group, Developer Products Division, Intel Corporation Introduction High performance

More information

The following program computes a Calculus value, the "trapezoidal approximation of

The following program computes a Calculus value, the trapezoidal approximation of Multicore machines and shared memory Multicore CPUs have more than one core processor that can execute instructions at the same time. The cores share main memory. In the next few activities, we will learn

More information

Integrating rankings: Problem statement

Integrating rankings: Problem statement Integrating rankings: Problem statement Each object has m grades, oneforeachofm criteria. The grade of an object for field i is x i. Normally assume 0 x i 1. Typically evaluations based on different criteria

More information

Introduction to OpenMP. OpenMP basics OpenMP directives, clauses, and library routines

Introduction to OpenMP. OpenMP basics OpenMP directives, clauses, and library routines Introduction to OpenMP Introduction OpenMP basics OpenMP directives, clauses, and library routines What is OpenMP? What does OpenMP stands for? What does OpenMP stands for? Open specifications for Multi

More information

SuperGlue and DuctTEiP: Using data versioning for dependency-aware task-based parallelization

SuperGlue and DuctTEiP: Using data versioning for dependency-aware task-based parallelization SuperGlue and DuctTEiP: Using data versioning for dependency-aware task-based parallelization Elisabeth Larsson Martin Tillenius Afshin Zafari UPMARC Workshop on Task-Based Parallel Programming September

More information

Acknowledgments. Amdahl s Law. Contents. Programming with MPI Parallel programming. 1 speedup = (1 P )+ P N. Type to enter text

Acknowledgments. Amdahl s Law. Contents. Programming with MPI Parallel programming. 1 speedup = (1 P )+ P N. Type to enter text Acknowledgments Programming with MPI Parallel ming Jan Thorbecke Type to enter text This course is partly based on the MPI courses developed by Rolf Rabenseifner at the High-Performance Computing-Center

More information

ACCELERATING CFD AND RESERVOIR SIMULATIONS WITH ALGEBRAIC MULTI GRID Chris Gottbrath, Nov 2016

ACCELERATING CFD AND RESERVOIR SIMULATIONS WITH ALGEBRAIC MULTI GRID Chris Gottbrath, Nov 2016 ACCELERATING CFD AND RESERVOIR SIMULATIONS WITH ALGEBRAIC MULTI GRID Chris Gottbrath, Nov 2016 Challenges What is Algebraic Multi-Grid (AMG)? AGENDA Why use AMG? When to use AMG? NVIDIA AmgX Results 2

More information

Multigrid algorithms on multi-gpu architectures

Multigrid algorithms on multi-gpu architectures Multigrid algorithms on multi-gpu architectures H. Köstler European Multi-Grid Conference EMG 2010 Isola d Ischia, Italy 20.9.2010 2 Contents Work @ LSS GPU Architectures and Programming Paradigms Applications

More information

τ-extrapolation on 3D semi-structured finite element meshes

τ-extrapolation on 3D semi-structured finite element meshes τ-extrapolation on 3D semi-structured finite element meshes European Multi-Grid Conference EMG 2010 Björn Gmeiner Joint work with: Tobias Gradl, Ulrich Rüde September, 2010 Contents The HHG Framework τ-extrapolation

More information

Adjoint Solver Workshop

Adjoint Solver Workshop Adjoint Solver Workshop Why is an Adjoint Solver useful? Design and manufacture for better performance: e.g. airfoil, combustor, rotor blade, ducts, body shape, etc. by optimising a certain characteristic

More information

Computational issues in linear programming

Computational issues in linear programming Computational issues in linear programming Julian Hall School of Mathematics University of Edinburgh 15th May 2007 Computational issues in linear programming Overview Introduction to linear programming

More information

Computing architectures Part 2 TMA4280 Introduction to Supercomputing

Computing architectures Part 2 TMA4280 Introduction to Supercomputing Computing architectures Part 2 TMA4280 Introduction to Supercomputing NTNU, IMF January 16. 2017 1 Supercomputing What is the motivation for Supercomputing? Solve complex problems fast and accurately:

More information

Inception Network Overview. David White CS793

Inception Network Overview. David White CS793 Inception Network Overview David White CS793 So, Leonardo DiCaprio dreams about dreaming... https://m.media-amazon.com/images/m/mv5bmjaxmzy3njcxnf5bml5banbnxkftztcwnti5otm0mw@@._v1_sy1000_cr0,0,675,1 000_AL_.jpg

More information

Parallelization Principles. Sathish Vadhiyar

Parallelization Principles. Sathish Vadhiyar Parallelization Principles Sathish Vadhiyar Parallel Programming and Challenges Recall the advantages and motivation of parallelism But parallel programs incur overheads not seen in sequential programs

More information

Parallel Algorithm Design. Parallel Algorithm Design p. 1

Parallel Algorithm Design. Parallel Algorithm Design p. 1 Parallel Algorithm Design Parallel Algorithm Design p. 1 Overview Chapter 3 from Michael J. Quinn, Parallel Programming in C with MPI and OpenMP Another resource: http://www.mcs.anl.gov/ itf/dbpp/text/node14.html

More information

CFD exercise. Regular domain decomposition

CFD exercise. Regular domain decomposition CFD exercise Regular domain decomposition Reusing this material This work is licensed under a Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International License. http://creativecommons.org/licenses/by-nc-sa/4.0/deed.en_us

More information

Administration. Prerequisites. Website. CSE 392/CS 378: High-performance Computing: Principles and Practice

Administration. Prerequisites. Website. CSE 392/CS 378: High-performance Computing: Principles and Practice CSE 392/CS 378: High-performance Computing: Principles and Practice Administration Professors: Keshav Pingali 4.126 ACES Email: pingali@cs.utexas.edu Jim Browne Email: browne@cs.utexas.edu Robert van de

More information

3D ADI Method for Fluid Simulation on Multiple GPUs. Nikolai Sakharnykh, NVIDIA Nikolay Markovskiy, NVIDIA

3D ADI Method for Fluid Simulation on Multiple GPUs. Nikolai Sakharnykh, NVIDIA Nikolay Markovskiy, NVIDIA 3D ADI Method for Fluid Simulation on Multiple GPUs Nikolai Sakharnykh, NVIDIA Nikolay Markovskiy, NVIDIA Introduction Fluid simulation using direct numerical methods Gives the most accurate result Requires

More information

Accelerating Implicit LS-DYNA with GPU

Accelerating Implicit LS-DYNA with GPU Accelerating Implicit LS-DYNA with GPU Yih-Yih Lin Hewlett-Packard Company Abstract A major hindrance to the widespread use of Implicit LS-DYNA is its high compute cost. This paper will show modern GPU,

More information

Review of previous examinations TMA4280 Introduction to Supercomputing

Review of previous examinations TMA4280 Introduction to Supercomputing Review of previous examinations TMA4280 Introduction to Supercomputing NTNU, IMF April 24. 2017 1 Examination The examination is usually comprised of: one problem related to linear algebra operations with

More information

Shared memory parallel algorithms in Scotch 6

Shared memory parallel algorithms in Scotch 6 Shared memory parallel algorithms in Scotch 6 François Pellegrini EQUIPE PROJET BACCHUS Bordeaux Sud-Ouest 29/05/2012 Outline of the talk Context Why shared-memory parallelism in Scotch? How to implement

More information

GPU Accelerated Solvers for ODEs Describing Cardiac Membrane Equations

GPU Accelerated Solvers for ODEs Describing Cardiac Membrane Equations GPU Accelerated Solvers for ODEs Describing Cardiac Membrane Equations Fred Lionetti @ CSE Andrew McCulloch @ Bioeng Scott Baden @ CSE University of California, San Diego What is heart modeling? Bioengineer

More information

Adaptive Mesh Refinement in Titanium

Adaptive Mesh Refinement in Titanium Adaptive Mesh Refinement in Titanium http://seesar.lbl.gov/anag Lawrence Berkeley National Laboratory April 7, 2005 19 th IPDPS, April 7, 2005 1 Overview Motivations: Build the infrastructure in Titanium

More information

Primal Dual Schema Approach to the Labeling Problem with Applications to TSP

Primal Dual Schema Approach to the Labeling Problem with Applications to TSP 1 Primal Dual Schema Approach to the Labeling Problem with Applications to TSP Colin Brown, Simon Fraser University Instructor: Ramesh Krishnamurti The Metric Labeling Problem has many applications, especially

More information

Math 5490 Network Flows

Math 5490 Network Flows Math 590 Network Flows Lecture 7: Preflow Push Algorithm, cont. Stephen Billups University of Colorado at Denver Math 590Network Flows p./6 Preliminaries Optimization Seminar Next Thursday: Speaker: Ariela

More information

Scalable, Hybrid-Parallel Multiscale Methods using DUNE

Scalable, Hybrid-Parallel Multiscale Methods using DUNE MÜNSTER Scalable Hybrid-Parallel Multiscale Methods using DUNE R. Milk S. Kaulmann M. Ohlberger December 1st 2014 Outline MÜNSTER Scalable Hybrid-Parallel Multiscale Methods using DUNE 2 /28 Abstraction

More information

Top-Down System Design Approach Hans-Christian Hoppe, Intel Deutschland GmbH

Top-Down System Design Approach Hans-Christian Hoppe, Intel Deutschland GmbH Exploiting the Potential of European HPC Stakeholders in Extreme-Scale Demonstrators Top-Down System Design Approach Hans-Christian Hoppe, Intel Deutschland GmbH Motivation & Introduction Computer system

More information

Algorithms, System and Data Centre Optimisation for Energy Efficient HPC

Algorithms, System and Data Centre Optimisation for Energy Efficient HPC 2015-09-14 Algorithms, System and Data Centre Optimisation for Energy Efficient HPC Vincent Heuveline URZ Computing Centre of Heidelberg University EMCL Engineering Mathematics and Computing Lab 1 Energy

More information

Conflict-Free Vectorization of Associative Irregular Applications with Recent SIMD Architectural Advances

Conflict-Free Vectorization of Associative Irregular Applications with Recent SIMD Architectural Advances Conflict-Free Vectorization of Associative Irregular Applications with Recent SIMD Architectural Advances Peng Jiang Gagan Agrawal Department of Computer Science and Engineering The Ohio State University,

More information

EFFICIENT SOLVER FOR LINEAR ALGEBRAIC EQUATIONS ON PARALLEL ARCHITECTURE USING MPI

EFFICIENT SOLVER FOR LINEAR ALGEBRAIC EQUATIONS ON PARALLEL ARCHITECTURE USING MPI EFFICIENT SOLVER FOR LINEAR ALGEBRAIC EQUATIONS ON PARALLEL ARCHITECTURE USING MPI 1 Akshay N. Panajwar, 2 Prof.M.A.Shah Department of Computer Science and Engineering, Walchand College of Engineering,

More information

CS691/SC791: Parallel & Distributed Computing

CS691/SC791: Parallel & Distributed Computing CS691/SC791: Parallel & Distributed Computing Introduction to OpenMP Part 2 1 OPENMP: SORTING 1 Bubble Sort Serial Odd-Even Transposition Sort 2 Serial Odd-Even Transposition Sort First OpenMP Odd-Even

More information

Semi-automatic transition from simulation to one-shot optimization with equality constraints

Semi-automatic transition from simulation to one-shot optimization with equality constraints Semi-automatic transition from simulation to one-shot optimization with equality constraints Lisa Kusch, Tim Albring, Andrea Walther, Nicolas Gauger Chair for Scientific Computing, TU Kaiserslautern, www.scicomp.uni-kl.de

More information

Gurobi Guidelines for Numerical Issues February 2017

Gurobi Guidelines for Numerical Issues February 2017 Gurobi Guidelines for Numerical Issues February 2017 Background Models with numerical issues can lead to undesirable results: slow performance, wrong answers or inconsistent behavior. When solving a model

More information

Energy Efficiency Tuning: READEX. Madhura Kumaraswamy Technische Universität München

Energy Efficiency Tuning: READEX. Madhura Kumaraswamy Technische Universität München Energy Efficiency Tuning: READEX Madhura Kumaraswamy Technische Universität München Project Overview READEX Starting date: 1. September 2015 Duration: 3 years Runtime Exploitation of Application Dynamism

More information

Aerodynamic optimization using Adjoint methods and parametric CAD models

Aerodynamic optimization using Adjoint methods and parametric CAD models Aerodynamic optimization using Adjoint methods and parametric CAD models ECCOMAS Congress 2016 P. Hewitt S. Marques T. Robinson D. Agarwal @qub.ac.uk School of Mechanical and Aerospace Engineering Queen

More information

Introduction to parallel Computing

Introduction to parallel Computing Introduction to parallel Computing VI-SEEM Training Paschalis Paschalis Korosoglou Korosoglou (pkoro@.gr) (pkoro@.gr) Outline Serial vs Parallel programming Hardware trends Why HPC matters HPC Concepts

More information

Nonrigid Surface Modelling. and Fast Recovery. Department of Computer Science and Engineering. Committee: Prof. Leo J. Jia and Prof. K. H.

Nonrigid Surface Modelling. and Fast Recovery. Department of Computer Science and Engineering. Committee: Prof. Leo J. Jia and Prof. K. H. Nonrigid Surface Modelling and Fast Recovery Zhu Jianke Supervisor: Prof. Michael R. Lyu Committee: Prof. Leo J. Jia and Prof. K. H. Wong Department of Computer Science and Engineering May 11, 2007 1 2

More information

Parallel solution for finite element linear systems of. equations on workstation cluster *

Parallel solution for finite element linear systems of. equations on workstation cluster * Aug. 2009, Volume 6, No.8 (Serial No.57) Journal of Communication and Computer, ISSN 1548-7709, USA Parallel solution for finite element linear systems of equations on workstation cluster * FU Chao-jiang

More information

Performance POP up. EU H2020 Center of Excellence (CoE)

Performance POP up. EU H2020 Center of Excellence (CoE) Performance POP up EU H2020 Center of Excellence (CoE) Performance Engineering for HPC: Implementation, Processes & Case Studies ISC 2017, Frankfurt, June 22 nd 2017 POP CoE A Center of Excellence On Performance

More information

An Example of Porting PETSc Applications to Heterogeneous Platforms with OpenACC

An Example of Porting PETSc Applications to Heterogeneous Platforms with OpenACC An Example of Porting PETSc Applications to Heterogeneous Platforms with OpenACC Pi-Yueh Chuang The George Washington University Fernanda S. Foertter Oak Ridge National Laboratory Goal Develop an OpenACC

More information

Special Topics in Visualization

Special Topics in Visualization Special Topics in Visualization Final Project Report Dual contouring of Hermite Data Submitted By S M Shahed Nejhum 8589-1199 May 19, 2008 Introduction Iso-surface extraction from 3D volumetric data is

More information

Efficient Multi-GPU CUDA Linear Solvers for OpenFOAM

Efficient Multi-GPU CUDA Linear Solvers for OpenFOAM Efficient Multi-GPU CUDA Linear Solvers for OpenFOAM Alexander Monakov, amonakov@ispras.ru Institute for System Programming of Russian Academy of Sciences March 20, 2013 1 / 17 Problem Statement In OpenFOAM,

More information

PARALLELIZATION OF POTENTIAL FLOW SOLVER USING PC CLUSTERS

PARALLELIZATION OF POTENTIAL FLOW SOLVER USING PC CLUSTERS Proceedings of FEDSM 2000: ASME Fluids Engineering Division Summer Meeting June 11-15,2000, Boston, MA FEDSM2000-11223 PARALLELIZATION OF POTENTIAL FLOW SOLVER USING PC CLUSTERS Prof. Blair.J.Perot Manjunatha.N.

More information

GTC 2013: DEVELOPMENTS IN GPU-ACCELERATED SPARSE LINEAR ALGEBRA ALGORITHMS. Kyle Spagnoli. Research EM Photonics 3/20/2013

GTC 2013: DEVELOPMENTS IN GPU-ACCELERATED SPARSE LINEAR ALGEBRA ALGORITHMS. Kyle Spagnoli. Research EM Photonics 3/20/2013 GTC 2013: DEVELOPMENTS IN GPU-ACCELERATED SPARSE LINEAR ALGEBRA ALGORITHMS Kyle Spagnoli Research Engineer @ EM Photonics 3/20/2013 INTRODUCTION» Sparse systems» Iterative solvers» High level benchmarks»

More information

High Performance Ocean Modeling using CUDA

High Performance Ocean Modeling using CUDA using CUDA Chris Lupo Computer Science Cal Poly Slide 1 Acknowledgements Dr. Paul Choboter Jason Mak Ian Panzer Spencer Lines Sagiv Sheelo Jake Gardner Slide 2 Background Joint research with Dr. Paul Choboter

More information

HYPERDRIVE IMPLEMENTATION AND ANALYSIS OF A PARALLEL, CONJUGATE GRADIENT LINEAR SOLVER PROF. BRYANT PROF. KAYVON 15618: PARALLEL COMPUTER ARCHITECTURE

HYPERDRIVE IMPLEMENTATION AND ANALYSIS OF A PARALLEL, CONJUGATE GRADIENT LINEAR SOLVER PROF. BRYANT PROF. KAYVON 15618: PARALLEL COMPUTER ARCHITECTURE HYPERDRIVE IMPLEMENTATION AND ANALYSIS OF A PARALLEL, CONJUGATE GRADIENT LINEAR SOLVER AVISHA DHISLE PRERIT RODNEY ADHISLE PRODNEY 15618: PARALLEL COMPUTER ARCHITECTURE PROF. BRYANT PROF. KAYVON LET S

More information

Sparse Training Data Tutorial of Parameter Server

Sparse Training Data Tutorial of Parameter Server Carnegie Mellon University Sparse Training Data Tutorial of Parameter Server Mu Li! CSD@CMU & IDL@Baidu! muli@cs.cmu.edu High-dimensional data are sparse Why high dimension?! make the classifier s job

More information

Determining Optimal MPI Process Placement for Large- Scale Meteorology Simulations with SGI MPIplace

Determining Optimal MPI Process Placement for Large- Scale Meteorology Simulations with SGI MPIplace Determining Optimal MPI Process Placement for Large- Scale Meteorology Simulations with SGI MPIplace James Southern, Jim Tuccillo SGI 25 October 2016 0 Motivation Trend in HPC continues to be towards more

More information

PuLP. Complex Objective Partitioning of Small-World Networks Using Label Propagation. George M. Slota 1,2 Kamesh Madduri 2 Sivasankaran Rajamanickam 1

PuLP. Complex Objective Partitioning of Small-World Networks Using Label Propagation. George M. Slota 1,2 Kamesh Madduri 2 Sivasankaran Rajamanickam 1 PuLP Complex Objective Partitioning of Small-World Networks Using Label Propagation George M. Slota 1,2 Kamesh Madduri 2 Sivasankaran Rajamanickam 1 1 Sandia National Laboratories, 2 The Pennsylvania State

More information

The Art of Parallel Processing

The Art of Parallel Processing The Art of Parallel Processing Ahmad Siavashi April 2017 The Software Crisis As long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a

More information

Optimising the Mantevo benchmark suite for multi- and many-core architectures

Optimising the Mantevo benchmark suite for multi- and many-core architectures Optimising the Mantevo benchmark suite for multi- and many-core architectures Simon McIntosh-Smith Department of Computer Science University of Bristol 1 Bristol's rich heritage in HPC The University of

More information

CS450 - Structure of Higher Level Languages

CS450 - Structure of Higher Level Languages Spring 2018 Streams February 24, 2018 Introduction Streams are abstract sequences. They are potentially infinite we will see that their most interesting and powerful uses come in handling infinite sequences.

More information

NIC FastICA Implementation

NIC FastICA Implementation NIC-TR-2004-016 NIC FastICA Implementation Purpose This document will describe the NIC FastICA implementation. The FastICA algorithm was initially created and implemented at The Helsinki University of

More information

Performance Analysis of the PSyKAl Approach for a NEMO-based Benchmark

Performance Analysis of the PSyKAl Approach for a NEMO-based Benchmark Performance Analysis of the PSyKAl Approach for a NEMO-based Benchmark Mike Ashworth, Rupert Ford and Andrew Porter Scientific Computing Department and STFC Hartree Centre STFC Daresbury Laboratory United

More information

Generating Efficient Data Movement Code for Heterogeneous Architectures with Distributed-Memory

Generating Efficient Data Movement Code for Heterogeneous Architectures with Distributed-Memory Generating Efficient Data Movement Code for Heterogeneous Architectures with Distributed-Memory Roshan Dathathri Thejas Ramashekar Chandan Reddy Uday Bondhugula Department of Computer Science and Automation

More information

First Steps of YALES2 Code Towards GPU Acceleration on Standard and Prototype Cluster

First Steps of YALES2 Code Towards GPU Acceleration on Standard and Prototype Cluster First Steps of YALES2 Code Towards GPU Acceleration on Standard and Prototype Cluster YALES2: Semi-industrial code for turbulent combustion and flows Jean-Matthieu Etancelin, ROMEO, NVIDIA GPU Application

More information

Julian Hall School of Mathematics University of Edinburgh. June 15th Parallel matrix inversion for the revised simplex method - a study

Julian Hall School of Mathematics University of Edinburgh. June 15th Parallel matrix inversion for the revised simplex method - a study Parallel matrix inversion for the revised simplex method - A study Julian Hall School of Mathematics University of Edinburgh June 5th 006 Parallel matrix inversion for the revised simplex method - a study

More information

Sparse Direct Solvers for Extreme-Scale Computing

Sparse Direct Solvers for Extreme-Scale Computing Sparse Direct Solvers for Extreme-Scale Computing Iain Duff Joint work with Florent Lopez and Jonathan Hogg STFC Rutherford Appleton Laboratory SIAM Conference on Computational Science and Engineering

More information

AcuSolve Performance Benchmark and Profiling. October 2011

AcuSolve Performance Benchmark and Profiling. October 2011 AcuSolve Performance Benchmark and Profiling October 2011 Note The following research was performed under the HPC Advisory Council activities Participating vendors: Intel, Dell, Mellanox, Altair Compute

More information

Introduction to Parallel and Distributed Computing. Linh B. Ngo CPSC 3620

Introduction to Parallel and Distributed Computing. Linh B. Ngo CPSC 3620 Introduction to Parallel and Distributed Computing Linh B. Ngo CPSC 3620 Overview: What is Parallel Computing To be run using multiple processors A problem is broken into discrete parts that can be solved

More information

Automatic Generation of Algorithms and Data Structures for Geometric Multigrid. Harald Köstler, Sebastian Kuckuk Siam Parallel Processing 02/21/2014

Automatic Generation of Algorithms and Data Structures for Geometric Multigrid. Harald Köstler, Sebastian Kuckuk Siam Parallel Processing 02/21/2014 Automatic Generation of Algorithms and Data Structures for Geometric Multigrid Harald Köstler, Sebastian Kuckuk Siam Parallel Processing 02/21/2014 Introduction Multigrid Goal: Solve a partial differential

More information

A Parallel Implementation of the BDDC Method for Linear Elasticity

A Parallel Implementation of the BDDC Method for Linear Elasticity A Parallel Implementation of the BDDC Method for Linear Elasticity Jakub Šístek joint work with P. Burda, M. Čertíková, J. Mandel, J. Novotný, B. Sousedík Institute of Mathematics of the AS CR, Prague

More information

Overlapping Computation and Communication for Advection on Hybrid Parallel Computers

Overlapping Computation and Communication for Advection on Hybrid Parallel Computers Overlapping Computation and Communication for Advection on Hybrid Parallel Computers James B White III (Trey) trey@ucar.edu National Center for Atmospheric Research Jack Dongarra dongarra@eecs.utk.edu

More information

Analysis of the Adjoint Euler Equations as used for Gradient-based Aerodynamic Shape Optimization

Analysis of the Adjoint Euler Equations as used for Gradient-based Aerodynamic Shape Optimization Analysis of the Adjoint Euler Equations as used for Gradient-based Aerodynamic Shape Optimization Final Presentation Dylan Jude Graduate Research Assistant University of Maryland AMSC 663/664 May 4, 2017

More information

Outline. Level Set Methods. For Inverse Obstacle Problems 4. Introduction. Introduction. Martin Burger

Outline. Level Set Methods. For Inverse Obstacle Problems 4. Introduction. Introduction. Martin Burger For Inverse Obstacle Problems Martin Burger Outline Introduction Optimal Geometries Inverse Obstacle Problems & Shape Optimization Sensitivity Analysis based on Gradient Flows Numerical Methods University

More information

Optimizing Parallel Sparse Matrix-Vector Multiplication by Corner Partitioning

Optimizing Parallel Sparse Matrix-Vector Multiplication by Corner Partitioning Optimizing Parallel Sparse Matrix-Vector Multiplication by Corner Partitioning Michael M. Wolf 1,2, Erik G. Boman 2, and Bruce A. Hendrickson 3 1 Dept. of Computer Science, University of Illinois at Urbana-Champaign,

More information

Cosmological Particle Mesh Simulations in Chapel. Nikhil Padmanabhan & Ben Albrecht Yale University Cray Inc PAW 2017

Cosmological Particle Mesh Simulations in Chapel. Nikhil Padmanabhan & Ben Albrecht Yale University Cray Inc PAW 2017 Cosmological Particle Mesh Simulations in Chapel Nikhil Padmanabhan & Ben Albrecht Yale University Cray Inc PAW 2017 My perspective Astrophysicist who occassionally writes code. Need to be able to easily

More information