Analyzing and improving performance portability of OpenCL applications via auto-tuning

Size: px
Start display at page:

Download "Analyzing and improving performance portability of OpenCL applications via auto-tuning"

Transcription

1 Analyzing and improving performance portability of OpenCL applications via auto-tuning James Price & Simon McIntosh-Smith University of Bristol - High Performance Computing Group Funded in part by Imagination Technologies

2 Overview Performance portability is one of the key concerns for developers targeting many different architectures Current work in this area has provided mixed results Here we propose a method of rigorously analyzing performance portability by exploiting the black-box nature of auto-tuning We also present a simple technique that can improve performance portability when using auto-tuning

3 Analysis approach Expose set of possible implementation decisions as tuning options Dynamically generate kernels to provide greater flexibility Run auto-tuner to optimize the kernel for each device individually This produces a set of architecture-specific kernels We then run each architecture-specific kernel on every other device and measure efficiency

4 Benchmark #1: Jacobi method Work-group size / parallel decomposition Memory layout / memory access pattern Loop unrolling *+ vs mad vs fma Solve Ax = b Split matrix A into diagonal D and remainder R Branching vs masks Division by diagonal (inline or precompute) xi+1 = D -1 (b - Rxi) Address spaces of input vectors Embedding values into kernel as constants

5 Benchmark #2: Bilateral filter Work-group size Tile size / tile layout Prefetch pixels into private/local memory Buffers vs images *+ vs mad vs fma Loop interchange Native math functions O(x, y) = W (x, y, i, j) =e ( Embedding values into kernel as constants r i= r r j= r r i= r I(i, j) W (x, y, i, j) r j= r W (x, y, i, j) p i 2 +j 2 (I(x,y) I(x+i,y+j) 2 d 2 ) r

6 Benchmark #3: BUDE Parallel decomposition / work-group size Data layout / memory access patterns Loop interchange Address space of molecules / forcefield Precomputing forcefield coefficients Native math functions Embedding values into kernel as constants

7 Devices Vendor Product Architecture Compute units GeForce GT 580 Fermi (GF110) 16 GeForce GT 680 Kepler (GK104) 8 NVIDIA GeForce GT 780 Ti Kepler (GK110) 15 GeForce GT 980 Ti Maxwell (GM200) 22 GeForce GT 1080 Ti Pascal (GP102) 28 Radeon HD 7970 Tahiti 32 AMD Radeon R9 290 Hawaii 44 Radeon R9 Furyx Fiji 64 Radeon R 480 Ellesmere 36 Core i Ivy Bridge 4 Intel Core i Haswell 4 Core i Skylake 4

8 Jacobi efficiencies 69% 4 28% 21% 1 16% 16% 39% 43% 11% 17% 21% 18% 41% 40% 19% 6% 13% 53% 4 R % 78% 9 81% tuned for R9 Fury R9 290 HD 7970 GT 1080 Ti 2 91% 23% 91% 79% 19% 8 58% 23% 21% 33% 68% 38% 28% % 1% 80% 70% % GT 980 Ti 69% 51% 9 53% 33% 49% 36% GT 780 Ti 66% 9 68% 33% 3 6 GT % 26% 57% 1% GT % 53% 56% 1% GT 580 GT 680 GT 780 Ti GT 980 Ti GT 1080 Ti HD 7970 R9 290 running on R9 Fury R 480

9 Jacobi - NVIDIA Work-group size GT 1080 Ti 91% 58% differs between GT 980 Ti 69% 51% 9 devices tuned for GT 780 Ti GT % 9 Other drops due to address spaces and memory access GT % 53% 56% pattern GT 580 GT 680 GT 780 Ti running on GT 980 Ti GT 1080 Ti

10 Jacobi - AMD Most parameters R 480 uniform between all AMD devices tuned for R9 Fury R9 290 Fury suffers a little with expensive division HD 7970 HD 7970 R9 290 running on R9 Fury R 480

11 Jacobi - Intel Ivy Bridge performs poorly tuned for with fma builtin Vectorisation 53% 4 width differs running on

12 Jacobi efficiencies WCE 69% 4 28% 21% 1 16% 16% 39% 43% 11% 17% 21% 18% 41% 40% 19% 6% 13% 53% 4 6% R % 78% 9 81% tuned for R9 Fury R9 290 HD 7970 GT 1080 Ti 2 91% 23% 91% 79% 19% 8 58% 23% 21% 33% 68% 38% 28% % 1% 80% 70% % 19% 1% GT 980 Ti 69% 51% 9 53% 33% 49% 36% GT 780 Ti 66% 9 68% 33% 3 6 GT % 26% 57% 1% 1% GT % 53% 56% 1% - GT 580 GT 680 GT 780 Ti GT 980 Ti GT 1080 Ti HD 7970 R9 290 running on R9 Fury R 480

13 Bilateral efficiencies WCE 19% 13% 18% 17% 1 11% 8% 9% 8% 19% 13% 18% 17% 1 11% 8% 9% 8% 8% 6% 7% 7% 7% 6% R % 70% 69% 8 87% 29% 27% 26% 26% tuned for R9 Fury R9 290 GT 1080 Ti 70% 70% 68% 76% 73% % 86% 28% 28% 27% 27% 7 26% 2 73% 26% 2 - GT 980 Ti 3 31% 7 GT 780 Ti 9 96% 4 73% GT % 38% 4 7 GT % 29% 73% GT 580 GT 680 GT 780 Ti GT 980 Ti GT 1080 Ti R9 290 R9 Fury running on R 480

14 BUDE efficiencies WCE 6 39% 8 87% 8 61% 47% 9 39% 81% 81% 78% 6 48% 9 1 8% 13% 21% 29% 10% 10% 1 1 8% R % 30% 3 96% 7 67% 50% 63% 61% 57% 30% R9 Fury 91% % 86% 7 66% 16% 13% 13% tuned for R9 290 HD 7970 GT 1080 Ti 8 91% 50% 78% 48% 46% 33% 3 89% 66% 77% 7 73% 61% 86% 86% % 1 57% 46% 1 3 GT 980 Ti 91% 66% 83% - GT 780 Ti 81% 89% 83% - GT % 51% 43% - GT % 51% 43% - GT 580 GT 680 GT 780 Ti GT 980 Ti GT 1080 Ti HD 7970 R9 290 running on R9 Fury R 480

15 Multi-objective auto-tuning Extend tuning process to consider multiple devices at once Each time a kernel is generated, the auto-tuner evaluates it on every target device The performance values are then reduced into a single number representing the overall fitness We use worst-case efficiency for this fitness function

16 Multi-objective tuning results

17 Summary Over-optimisation hurts performance portability Auto-tuning can be a great way to expose these issues It can also help generate performance portable kernels Future work looking at tuning across different input/ problem configurations

A GPU based brute force de-dispersion algorithm for LOFAR

A GPU based brute force de-dispersion algorithm for LOFAR A GPU based brute force de-dispersion algorithm for LOFAR W. Armour, M. Giles, A. Karastergiou and C. Williams. University of Oxford. 8 th May 2012 1 GPUs Why use GPUs? Latest Kepler/Fermi based cards

More information

Support Tools for Porting Legacy Applications to Multicore. Natsuki Kawai, Yuri Ardila, Takashi Nakamura, Yosuke Tamura

Support Tools for Porting Legacy Applications to Multicore. Natsuki Kawai, Yuri Ardila, Takashi Nakamura, Yosuke Tamura Support Tools for Porting Legacy Applications to Multicore Natsuki Kawai, Yuri Ardila, Takashi Nakamura, Yosuke Tamura Agenda Introduction PEMAP: Performance Estimator for MAny core Processors The overview

More information

OpenCL Vectorising Features. Andreas Beckmann

OpenCL Vectorising Features. Andreas Beckmann Mitglied der Helmholtz-Gemeinschaft OpenCL Vectorising Features Andreas Beckmann Levels of Vectorisation vector units, SIMD devices width, instructions SMX, SP cores Cus, PEs vector operations within kernels

More information

A Large-Scale Cross-Architecture Evaluation of Thread-Coarsening. Alberto Magni, Christophe Dubach, Michael O'Boyle

A Large-Scale Cross-Architecture Evaluation of Thread-Coarsening. Alberto Magni, Christophe Dubach, Michael O'Boyle A Large-Scale Cross-Architecture Evaluation of Thread-Coarsening Alberto Magni, Christophe Dubach, Michael O'Boyle Introduction Wide adoption of GPGPU for HPC Many GPU devices from many of vendors AMD

More information

Finite Element Integration and Assembly on Modern Multi and Many-core Processors

Finite Element Integration and Assembly on Modern Multi and Many-core Processors Finite Element Integration and Assembly on Modern Multi and Many-core Processors Krzysztof Banaś, Jan Bielański, Kazimierz Chłoń AGH University of Science and Technology, Mickiewicza 30, 30-059 Kraków,

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

Computer Graphics. Hardware Pipeline. Visual Imaging in the Electronic Age Prof. Donald P. Greenberg October 13, 2016 Lecture 15

Computer Graphics. Hardware Pipeline. Visual Imaging in the Electronic Age Prof. Donald P. Greenberg October 13, 2016 Lecture 15 Computer Graphics Hardware Pipeline Visual Imaging in the Electronic Age Prof. Donald P. Greenberg October 13, 2016 Lecture 15 Moore s Law Chip density doubles every 18 months. Processing Power (P) in

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

Maya , MotionBuilder & Mudbox 2018.x August 2018

Maya , MotionBuilder & Mudbox 2018.x August 2018 MICROSOFT WINDOWS Windows 7 SP1 Pro & Windows 10 Pro NVIDIA CERTIFIED Graphics Cards Viewport 2.0 Modes Quadro GV100 391.89 Quadro GP100 391.89 Quadro P6000 391.89 Quadro P5000 391.89 Quadro P4000 391.89

More information

CSCI-GA Graphics Processing Units (GPUs): Architecture and Programming Lecture 2: Hardware Perspective of GPUs

CSCI-GA Graphics Processing Units (GPUs): Architecture and Programming Lecture 2: Hardware Perspective of GPUs CSCI-GA.3033-004 Graphics Processing Units (GPUs): Architecture and Programming Lecture 2: Hardware Perspective of GPUs Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com History of GPUs

More information

Vectorisation and Portable Programming using OpenCL

Vectorisation and Portable Programming using OpenCL Vectorisation and Portable Programming using OpenCL Mitglied der Helmholtz-Gemeinschaft Jülich Supercomputing Centre (JSC) Andreas Beckmann, Ilya Zhukov, Willi Homberg, JSC Wolfram Schenck, FH Bielefeld

More information

Accelerating molecular docking on multi- and manycore computer architectures

Accelerating molecular docking on multi- and manycore computer architectures Accelerating molecular docking on multi- and manycore computer architectures Simon McIntosh-Smith University of Bristol, UK simonm@cs.bris.ac.uk 1 ! Power-limited regimes Processor power consumption now

More information

Videocard Benchmarks Over 800,000 Video Cards Benchmarked

Videocard Benchmarks Over 800,000 Video Cards Benchmarked Home Software Hardware Benchmarks Services Store Support Forums About Us Home» Video Card Benchmarks» High End Video Cards CPU Benchmarks Video Card Benchmarks Hard Drive Benchmarks RAM PC Systems Android

More information

OpenACC2 vs.openmp4. James Lin 1,2 and Satoshi Matsuoka 2

OpenACC2 vs.openmp4. James Lin 1,2 and Satoshi Matsuoka 2 2014@San Jose Shanghai Jiao Tong University Tokyo Institute of Technology OpenACC2 vs.openmp4 he Strong, the Weak, and the Missing to Develop Performance Portable Applica>ons on GPU and Xeon Phi James

More information

Accelerating Financial Applications on the GPU

Accelerating Financial Applications on the GPU Accelerating Financial Applications on the GPU Scott Grauer-Gray Robert Searles William Killian John Cavazos Department of Computer and Information Science University of Delaware Sixth Workshop on General

More information

Scientific Computing on GPUs: GPU Architecture Overview

Scientific Computing on GPUs: GPU Architecture Overview Scientific Computing on GPUs: GPU Architecture Overview Dominik Göddeke, Jakub Kurzak, Jan-Philipp Weiß, André Heidekrüger and Tim Schröder PPAM 2011 Tutorial Toruń, Poland, September 11 http://gpgpu.org/ppam11

More information

Videocard Benchmarks Over 800,000 Video Cards Benchmarked

Videocard Benchmarks Over 800,000 Video Cards Benchmarked Page 1 of 9 Hom e Software Hardware Benchm arks Services Store Support Forum s AboutUs Home» Video Card Benchmarks» High End Video Cards CPU Benchmarks Video Card Benchmarks Hard Drive Benchmarks RAM PC

More information

CME 213 S PRING Eric Darve

CME 213 S PRING Eric Darve CME 213 S PRING 2017 Eric Darve Summary of previous lectures Pthreads: low-level multi-threaded programming OpenMP: simplified interface based on #pragma, adapted to scientific computing OpenMP for and

More information

Evaluating OpenMP s Effectiveness in the Many-Core Era

Evaluating OpenMP s Effectiveness in the Many-Core Era Evaluating OpenMP s Effectiveness in the Many-Core Era Prof Simon McIntosh-Smith HPC Research Group simonm@cs.bris.ac.uk 1 Bristol, UK 10 th largest city in UK Aero, finance, chip design HQ for Cray EMEA

More information

GPU ARCHITECTURE Chris Schultz, June 2017

GPU ARCHITECTURE Chris Schultz, June 2017 Chris Schultz, June 2017 MISC All of the opinions expressed in this presentation are my own and do not reflect any held by NVIDIA 2 OUTLINE Problems Solved Over Time versus Why are they different? Complex

More information

GPU ARCHITECTURE Chris Schultz, June 2017

GPU ARCHITECTURE Chris Schultz, June 2017 GPU ARCHITECTURE Chris Schultz, June 2017 MISC All of the opinions expressed in this presentation are my own and do not reflect any held by NVIDIA 2 OUTLINE CPU versus GPU Why are they different? CUDA

More information

CSE 591/392: GPU Programming. Introduction. Klaus Mueller. Computer Science Department Stony Brook University

CSE 591/392: GPU Programming. Introduction. Klaus Mueller. Computer Science Department Stony Brook University CSE 591/392: GPU Programming Introduction Klaus Mueller Computer Science Department Stony Brook University First: A Big Word of Thanks! to the millions of computer game enthusiasts worldwide Who demand

More information

TUNING CUDA APPLICATIONS FOR MAXWELL

TUNING CUDA APPLICATIONS FOR MAXWELL TUNING CUDA APPLICATIONS FOR MAXWELL DA-07173-001_v6.5 August 2014 Application Note TABLE OF CONTENTS Chapter 1. Maxwell Tuning Guide... 1 1.1. NVIDIA Maxwell Compute Architecture... 1 1.2. CUDA Best Practices...2

More information

Computer Graphics Software & Hardware. NBAY 6120 Lecture 6 Donald P. Greenberg March 16, 2017

Computer Graphics Software & Hardware. NBAY 6120 Lecture 6 Donald P. Greenberg March 16, 2017 Computer Graphics Software & Hardware NBAY 6120 Lecture 6 Donald P. Greenberg March 16, 2017 Recommended Readings for Lecture 6 Mike Seymour. The State of Rendering, Part 1, fxguide.com, July 15, 2013.

More information

NVIDIA Think about Computing as Heterogeneous One Leo Liao, 1/29/2106, NTU

NVIDIA Think about Computing as Heterogeneous One Leo Liao, 1/29/2106, NTU NVIDIA Think about Computing as Heterogeneous One Leo Liao, 1/29/2106, NTU GPGPU opens the door for co-design HPC, moreover middleware-support embedded system designs to harness the power of GPUaccelerated

More information

Towards a Performance- Portable FFT Library for Heterogeneous Computing

Towards a Performance- Portable FFT Library for Heterogeneous Computing Towards a Performance- Portable FFT Library for Heterogeneous Computing Carlo C. del Mundo*, Wu- chun Feng* *Dept. of ECE, Dept. of CS Virginia Tech Slides Updated: 5/19/2014 Forecast (Problem) AMD Radeon

More information

Automatic Pruning of Autotuning Parameter Space for OpenCL Applications

Automatic Pruning of Autotuning Parameter Space for OpenCL Applications Automatic Pruning of Autotuning Parameter Space for OpenCL Applications Ahmet Erdem, Gianluca Palermo 6, and Cristina Silvano 6 Department of Electronics, Information and Bioengineering Politecnico di

More information

TUNING CUDA APPLICATIONS FOR MAXWELL

TUNING CUDA APPLICATIONS FOR MAXWELL TUNING CUDA APPLICATIONS FOR MAXWELL DA-07173-001_v7.0 March 2015 Application Note TABLE OF CONTENTS Chapter 1. Maxwell Tuning Guide... 1 1.1. NVIDIA Maxwell Compute Architecture... 1 1.2. CUDA Best Practices...2

More information

GpuWrapper: A Portable API for Heterogeneous Programming at CGG

GpuWrapper: A Portable API for Heterogeneous Programming at CGG GpuWrapper: A Portable API for Heterogeneous Programming at CGG Victor Arslan, Jean-Yves Blanc, Gina Sitaraman, Marc Tchiboukdjian, Guillaume Thomas-Collignon March 2 nd, 2016 GpuWrapper: Objectives &

More information

How GPUs can find your next hit: Accelerating virtual screening with OpenCL. Simon Krige

How GPUs can find your next hit: Accelerating virtual screening with OpenCL. Simon Krige How GPUs can find your next hit: Accelerating virtual screening with OpenCL Simon Krige ACS 2013 Agenda > Background > About blazev10 > What is a GPU? > Heterogeneous computing > OpenCL: a framework for

More information

CS GPU and GPGPU Programming Lecture 8+9: GPU Architecture 7+8. Markus Hadwiger, KAUST

CS GPU and GPGPU Programming Lecture 8+9: GPU Architecture 7+8. Markus Hadwiger, KAUST CS 380 - GPU and GPGPU Programming Lecture 8+9: GPU Architecture 7+8 Markus Hadwiger, KAUST Reading Assignment #5 (until March 12) Read (required): Programming Massively Parallel Processors book, Chapter

More information

Antonio R. Miele Marco D. Santambrogio

Antonio R. Miele Marco D. Santambrogio Advanced Topics on Heterogeneous System Architectures GPU Politecnico di Milano Seminar Room A. Alario 18 November, 2015 Antonio R. Miele Marco D. Santambrogio Politecnico di Milano 2 Introduction First

More information

Selecting the right Tesla/GTX GPU from a Drunken Baker's Dozen

Selecting the right Tesla/GTX GPU from a Drunken Baker's Dozen Selecting the right Tesla/GTX GPU from a Drunken Baker's Dozen GPU Computing Applications Here's what Nvidia says its Tesla K20(X) card excels at doing - Seismic processing, CFD, CAE, Financial computing,

More information

ICSA Institute for Computing Systems Architecture. LFCS Laboratory for Foundations of Computer Science

ICSA Institute for Computing Systems Architecture. LFCS Laboratory for Foundations of Computer Science Largest Informatics Department in the UK: > 500 academic and research staff + PhD students Overall 6 Research Institutes 2 particular relevant for the topic of the talk: ICSA Institute for Computing Systems

More information

Implementing Level-3 BLAS Routines in OpenCL on Different Processing Units

Implementing Level-3 BLAS Routines in OpenCL on Different Processing Units Technical Report 2014-001 Implementing Level-3 BLAS Routines in OpenCL on Different Processing Units Kazuya Matsumoto, Naohito Nakasato, and Stanislav Sedukhin October 22, 2014 Graduate School of Computer

More information

Modern Processor Architectures. L25: Modern Compiler Design

Modern Processor Architectures. L25: Modern Compiler Design Modern Processor Architectures L25: Modern Compiler Design The 1960s - 1970s Instructions took multiple cycles Only one instruction in flight at once Optimisation meant minimising the number of instructions

More information

GPU A rchitectures Architectures Patrick Neill May

GPU A rchitectures Architectures Patrick Neill May GPU Architectures Patrick Neill May 30, 2014 Outline CPU versus GPU CUDA GPU Why are they different? Terminology Kepler/Maxwell Graphics Tiled deferred rendering Opportunities What skills you should know

More information

Informatica Universiteit van Amsterdam. Tuning and Performance Analysis of the Black-Scholes Model. Robin Hansma. June 9, Bachelor Informatica

Informatica Universiteit van Amsterdam. Tuning and Performance Analysis of the Black-Scholes Model. Robin Hansma. June 9, Bachelor Informatica Bachelor Informatica Informatica Universiteit van Amsterdam Tuning and Performance Analysis of the Black-Scholes Model Robin Hansma June 9, 2017 Supervisor(s): prof. dr. R.V. (Rob) van Nieuwpoort, A. Sclocco

More information

Introduction of ivms-4200 v2.0

Introduction of ivms-4200 v2.0 2012.2 Introduction of ivms-4200 v2.0 Contents Brief Introduction Functions and Features Specification Brief Introduction ivms-4200 is a free management software for Hikvision DVR, NVR, IPC, encoders,

More information

Generating Performance Portable Code using Rewrite Rules

Generating Performance Portable Code using Rewrite Rules Generating Performance Portable Code using Rewrite Rules From High-Level Functional Expressions to High-Performance OpenCL Code Michel Steuwer Christian Fensch Sam Lindley Christophe Dubach The Problem(s)

More information

Computer Graphics Software & Hardware. NBAY 6120 Lecture 6 Donald P. Greenberg March 16, 2016

Computer Graphics Software & Hardware. NBAY 6120 Lecture 6 Donald P. Greenberg March 16, 2016 Computer Graphics Software & Hardware NBAY 6120 Lecture 6 Donald P. Greenberg March 16, 2016 Recommended Readings for Lecture 6 Mike Seymour. The State of Rendering, Part 1, fxguide.com, July 15, 2013.

More information

Videocard Benchmarks Over 800,000 Video Cards Benchmarked

Videocard Benchmarks Over 800,000 Video Cards Benchmarked Page 1 of 9 Hom e Software Hardware Benchm arks Services Store Support Forum s AboutUs Home» Video Card Benchmarks» Mid to High Range Video Cards CPU Benchmarks Video Card Benchmarks Hard Drive Benchmarks

More information

Lift: a Functional Approach to Generating High Performance GPU Code using Rewrite Rules

Lift: a Functional Approach to Generating High Performance GPU Code using Rewrite Rules Lift: a Functional Approach to Generating High Performance GPU Code using Rewrite Rules Toomas Remmelg Michel Steuwer Christophe Dubach The 4th South of England Regional Programming Language Seminar 27th

More information

Computer Science, UCL, London

Computer Science, UCL, London Genetically Improved CUDA C++ Software W. B. Langdon Computer Science, UCL, London 26.4.2014 Genetically Improved CUDA C++ Software W. B. Langdon Centre for Research on Evolution, Search and Testing Computer

More information

Performance Tuning of Matrix Multiplication in OpenCL on Different GPUs and CPUs

Performance Tuning of Matrix Multiplication in OpenCL on Different GPUs and CPUs 212 SC Companion: High Performance Computing, Networking Storage and Analysis Performance Tuning of Matrix Multiplication in OpenCL on Different GPUs and CPUs Kazuya Matsumoto, Naohito Nakasato, and Stanislav

More information

AmgX 2.0: Scaling toward CORAL Joe Eaton, November 19, 2015

AmgX 2.0: Scaling toward CORAL Joe Eaton, November 19, 2015 AmgX 2.0: Scaling toward CORAL Joe Eaton, November 19, 2015 Agenda Introduction to AmgX Current Capabilities Scaling V2.0 Roadmap for the future 2 AmgX Fast, scalable linear solvers, emphasis on iterative

More information

Auto-tunable GPU BLAS

Auto-tunable GPU BLAS Auto-tunable GPU BLAS Jarle Erdal Steinsland Master of Science in Computer Science Submission date: June 2011 Supervisor: Anne Cathrine Elster, IDI Norwegian University of Science and Technology Department

More information

Evaluation and Exploration of Next Generation Systems for Applicability and Performance Volodymyr Kindratenko Guochun Shi

Evaluation and Exploration of Next Generation Systems for Applicability and Performance Volodymyr Kindratenko Guochun Shi Evaluation and Exploration of Next Generation Systems for Applicability and Performance Volodymyr Kindratenko Guochun Shi National Center for Supercomputing Applications University of Illinois at Urbana-Champaign

More information

CUDA Performance Considerations (2 of 2)

CUDA Performance Considerations (2 of 2) Administrivia CUDA Performance Considerations (2 of 2) Patrick Cozzi University of Pennsylvania CIS 565 - Spring 2011 Friday 03/04, 11:59pm Assignment 4 due Presentation date change due via email Not bonus

More information

A Code Merging Optimization Technique for GPU. Ryan Taylor Xiaoming Li University of Delaware

A Code Merging Optimization Technique for GPU. Ryan Taylor Xiaoming Li University of Delaware A Code Merging Optimization Technique for GPU Ryan Taylor Xiaoming Li University of Delaware FREE RIDE MAIN FINDING A GPU program can use the spare resources of another GPU program without hurting its

More information

SATGPU - A Step Change in Model Runtimes

SATGPU - A Step Change in Model Runtimes SATGPU - A Step Change in Model Runtimes User Group Meeting Thursday 16 th November 2017 Ian Wright, Atkins Peter Heywood, University of Sheffield 20 November 2017 1 SATGPU: Phased Development Phase 1

More information

Auto-tuning a High-Level Language Targeted to GPU Codes. By Scott Grauer-Gray, Lifan Xu, Robert Searles, Sudhee Ayalasomayajula, John Cavazos

Auto-tuning a High-Level Language Targeted to GPU Codes. By Scott Grauer-Gray, Lifan Xu, Robert Searles, Sudhee Ayalasomayajula, John Cavazos Auto-tuning a High-Level Language Targeted to GPU Codes By Scott Grauer-Gray, Lifan Xu, Robert Searles, Sudhee Ayalasomayajula, John Cavazos GPU Computing Utilization of GPU gives speedup on many algorithms

More information

Breaking the Memory Barrier for Finite Difference Algorithms

Breaking the Memory Barrier for Finite Difference Algorithms Breaking the Memory Barrier for Finite Difference Algorithms Gerhard Zumbusch Institut für Angewandte Mathematik Friedrich-Schiller Universität Jena GTC 2013, S3096 Model problem Finite Difference Stencil

More information

How to Optimize Geometric Multigrid Methods on GPUs

How to Optimize Geometric Multigrid Methods on GPUs How to Optimize Geometric Multigrid Methods on GPUs Markus Stürmer, Harald Köstler, Ulrich Rüde System Simulation Group University Erlangen March 31st 2011 at Copper Schedule motivation imaging in gradient

More information

Directed Optimization On Stencil-based Computational Fluid Dynamics Application(s)

Directed Optimization On Stencil-based Computational Fluid Dynamics Application(s) Directed Optimization On Stencil-based Computational Fluid Dynamics Application(s) Islam Harb 08/21/2015 Agenda Motivation Research Challenges Contributions & Approach Results Conclusion Future Work 2

More information

HPC future trends from a science perspective

HPC future trends from a science perspective HPC future trends from a science perspective Simon McIntosh-Smith University of Bristol HPC Research Group simonm@cs.bris.ac.uk 1 Business as usual? We've all got used to new machines being relatively

More information

CUB. collective software primitives. Duane Merrill. NVIDIA Research

CUB. collective software primitives. Duane Merrill. NVIDIA Research CUB collective software primitives Duane Merrill NVIDIA Research What is CUB?. A design model for collective primitives How to make reusable SIMT software constructs. A library of collective primitives

More information

The Heterogeneous Programming Jungle. Service d Expérimentation et de développement Centre Inria Bordeaux Sud-Ouest

The Heterogeneous Programming Jungle. Service d Expérimentation et de développement Centre Inria Bordeaux Sud-Ouest The Heterogeneous Programming Jungle Service d Expérimentation et de développement Centre Inria Bordeaux Sud-Ouest June 19, 2012 Outline 1. Introduction 2. Heterogeneous System Zoo 3. Similarities 4. Programming

More information

GPU ACCELERATION OF WSMP (WATSON SPARSE MATRIX PACKAGE)

GPU ACCELERATION OF WSMP (WATSON SPARSE MATRIX PACKAGE) GPU ACCELERATION OF WSMP (WATSON SPARSE MATRIX PACKAGE) NATALIA GIMELSHEIN ANSHUL GUPTA STEVE RENNICH SEID KORIC NVIDIA IBM NVIDIA NCSA WATSON SPARSE MATRIX PACKAGE (WSMP) Cholesky, LDL T, LU factorization

More information

ad-heap: an Efficient Heap Data Structure for Asymmetric Multicore Processors

ad-heap: an Efficient Heap Data Structure for Asymmetric Multicore Processors ad-heap: an Efficient Heap Data Structure for Asymmetric Multicore Processors Weifeng Liu and Brian Vinter Niels Bohr Institute University of Copenhagen Denmark {weifeng, vinter}@nbi.dk March 1, 2014 Weifeng

More information

Parallel Programming Concepts. GPU Computing with OpenCL

Parallel Programming Concepts. GPU Computing with OpenCL Parallel Programming Concepts GPU Computing with OpenCL Frank Feinbube Operating Systems and Middleware Prof. Dr. Andreas Polze Agenda / Quicklinks 2 Recapitulation Motivation History of GPU Computing

More information

CS 179: GPU Computing LECTURE 4: GPU MEMORY SYSTEMS

CS 179: GPU Computing LECTURE 4: GPU MEMORY SYSTEMS CS 179: GPU Computing LECTURE 4: GPU MEMORY SYSTEMS 1 Last time Each block is assigned to and executed on a single streaming multiprocessor (SM). Threads execute in groups of 32 called warps. Threads in

More information

Prospects for a more robust, simpler and more efficient shader cross-compilation pipeline in Unity with SPIR-V

Prospects for a more robust, simpler and more efficient shader cross-compilation pipeline in Unity with SPIR-V Prospects for a more robust, simpler and more efficient shader cross-compilation pipeline in Unity with SPIR-V 2015/04/14 - Christophe Riccio, OpenGL Democratizing games development Monument Valley by

More information

Comparison and analysis of parallel tasking performance for an irregular application

Comparison and analysis of parallel tasking performance for an irregular application Comparison and analysis of parallel tasking performance for an irregular application Patrick Atkinson, University of Bristol (p.atkinson@bristol.ac.uk) Simon McIntosh-Smith, University of Bristol Motivation

More information

CSE 591: GPU Programming. Introduction. Entertainment Graphics: Virtual Realism for the Masses. Computer games need to have: Klaus Mueller

CSE 591: GPU Programming. Introduction. Entertainment Graphics: Virtual Realism for the Masses. Computer games need to have: Klaus Mueller Entertainment Graphics: Virtual Realism for the Masses CSE 591: GPU Programming Introduction Computer games need to have: realistic appearance of characters and objects believable and creative shading,

More information

Execution Strategy and Runtime Support for Regular and Irregular Applications on Emerging Parallel Architectures

Execution Strategy and Runtime Support for Regular and Irregular Applications on Emerging Parallel Architectures Execution Strategy and Runtime Support for Regular and Irregular Applications on Emerging Parallel Architectures Xin Huo Advisor: Gagan Agrawal Motivation - Architecture Challenges on GPU architecture

More information

Exotic Methods in Parallel Computing [GPU Computing]

Exotic Methods in Parallel Computing [GPU Computing] Exotic Methods in Parallel Computing [GPU Computing] Frank Feinbube Exotic Methods in Parallel Computing Dr. Peter Tröger Exotic Methods in Parallel Computing FF 2012 Architectural Shift 2 Exotic Methods

More information

HPC with Multicore and GPUs

HPC with Multicore and GPUs HPC with Multicore and GPUs Stan Tomov Electrical Engineering and Computer Science Department University of Tennessee, Knoxville COSC 594 Lecture Notes March 22, 2017 1/20 Outline Introduction - Hardware

More information

GPGPU, 4th Meeting Mordechai Butrashvily, CEO GASS Company for Advanced Supercomputing Solutions

GPGPU, 4th Meeting Mordechai Butrashvily, CEO GASS Company for Advanced Supercomputing Solutions GPGPU, 4th Meeting Mordechai Butrashvily, CEO moti@gass-ltd.co.il GASS Company for Advanced Supercomputing Solutions Agenda 3rd meeting 4th meeting Future meetings Activities All rights reserved (c) 2008

More information

Modern Processor Architectures (A compiler writer s perspective) L25: Modern Compiler Design

Modern Processor Architectures (A compiler writer s perspective) L25: Modern Compiler Design Modern Processor Architectures (A compiler writer s perspective) L25: Modern Compiler Design The 1960s - 1970s Instructions took multiple cycles Only one instruction in flight at once Optimisation meant

More information

A Easy, Fast and Energy Efficient Object Detection on Heterogeneous On-Chip Architectures 1

A Easy, Fast and Energy Efficient Object Detection on Heterogeneous On-Chip Architectures 1 A Easy, Fast and Energy Efficient Object Detection on Heterogeneous On-Chip Architectures 1 Ehsan Totoni, University of Illinois at Urbana-Champaign Mert Dikmen, University of Illinois at Urbana-Champaign

More information

OpenCL: History & Future. November 20, 2017

OpenCL: History & Future. November 20, 2017 Mitglied der Helmholtz-Gemeinschaft OpenCL: History & Future November 20, 2017 OpenCL Portable Heterogeneous Computing 2 APIs and 2 kernel languages C Platform Layer API OpenCL C and C++ kernel language

More information

Convolution Soup: A case study in CUDA optimization. The Fairmont San Jose 10:30 AM Friday October 2, 2009 Joe Stam

Convolution Soup: A case study in CUDA optimization. The Fairmont San Jose 10:30 AM Friday October 2, 2009 Joe Stam Convolution Soup: A case study in CUDA optimization The Fairmont San Jose 10:30 AM Friday October 2, 2009 Joe Stam Optimization GPUs are very fast BUT Naïve programming can result in disappointing performance

More information

Comparative Benchmarking of the First Generation of HPC-Optimised Arm Processors on Isambard

Comparative Benchmarking of the First Generation of HPC-Optimised Arm Processors on Isambard Prof Simon McIntosh-Smith Isambard PI University of Bristol / GW4 Alliance Comparative Benchmarking of the First Generation of HPC-Optimised Arm Processors on Isambard Isambard system specification 10,000+

More information

Automatic Intra-Application Load Balancing for Heterogeneous Systems

Automatic Intra-Application Load Balancing for Heterogeneous Systems Automatic Intra-Application Load Balancing for Heterogeneous Systems Michael Boyer, Shuai Che, and Kevin Skadron Department of Computer Science University of Virginia Jayanth Gummaraju and Nuwan Jayasena

More information

OpenCL implementation of PSO: a comparison between multi-core CPU and GPU performances

OpenCL implementation of PSO: a comparison between multi-core CPU and GPU performances OpenCL implementation of PSO: a comparison between multi-core CPU and GPU performances Stefano Cagnoni 1, Alessandro Bacchini 1,2, Luca Mussi 1 1 Dept. of Information Engineering, University of Parma,

More information

OpenCL Performance Prediction using Architecture-Independent Features

OpenCL Performance Prediction using Architecture-Independent Features OpenCL Performance Prediction using Architecture-Independent Features Beau Johnston Research School of Computer Science Australian National University Canberra, Australia beau.johnston@anu.edu.au Greg

More information

Highly Efficient Compensationbased Parallelism for Wavefront Loops on GPUs

Highly Efficient Compensationbased Parallelism for Wavefront Loops on GPUs Highly Efficient Compensationbased Parallelism for Wavefront Loops on GPUs Kaixi Hou, Hao Wang, Wu chun Feng {kaixihou, hwang121, wfeng}@vt.edu Jeffrey S. Vetter, Seyong Lee vetter@computer.org, lees2@ornl.gov

More information

Two-Phase flows on massively parallel multi-gpu clusters

Two-Phase flows on massively parallel multi-gpu clusters Two-Phase flows on massively parallel multi-gpu clusters Peter Zaspel Michael Griebel Institute for Numerical Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Workshop Programming of Heterogeneous

More information

NVIDIA s Compute Unified Device Architecture (CUDA)

NVIDIA s Compute Unified Device Architecture (CUDA) NVIDIA s Compute Unified Device Architecture (CUDA) Mike Bailey mjb@cs.oregonstate.edu Reaching the Promised Land NVIDIA GPUs CUDA Knights Corner Speed Intel CPUs General Programmability 1 History of GPU

More information

NVIDIA s Compute Unified Device Architecture (CUDA)

NVIDIA s Compute Unified Device Architecture (CUDA) NVIDIA s Compute Unified Device Architecture (CUDA) Mike Bailey mjb@cs.oregonstate.edu Reaching the Promised Land NVIDIA GPUs CUDA Knights Corner Speed Intel CPUs General Programmability History of GPU

More information

HPC code modernization with Intel development tools

HPC code modernization with Intel development tools HPC code modernization with Intel development tools Bayncore, Ltd. Intel HPC Software Workshop Series 2016 HPC Code Modernization for Intel Xeon and Xeon Phi February 17 th 2016, Barcelona Microprocessor

More information

REDUCING BEAMFORMING CALCULATION TIME WITH GPU ACCELERATED ALGORITHMS

REDUCING BEAMFORMING CALCULATION TIME WITH GPU ACCELERATED ALGORITHMS BeBeC-2014-08 REDUCING BEAMFORMING CALCULATION TIME WITH GPU ACCELERATED ALGORITHMS Steffen Schmidt GFaI ev Volmerstraße 3, 12489, Berlin, Germany ABSTRACT Beamforming algorithms make high demands on the

More information

Technical Report Performance Analysis of CULA on different NVIDIA GPU Architectures. Prateek Gupta

Technical Report Performance Analysis of CULA on different NVIDIA GPU Architectures. Prateek Gupta Technical Report 2014-02 Performance Analysis of CULA on different NVIDIA GPU Architectures Prateek Gupta May 20, 2014 1 Spring 2014: Performance Analysis of CULA on different NVIDIA GPU Architectures

More information

Lecture 8: GPU Programming. CSE599G1: Spring 2017

Lecture 8: GPU Programming. CSE599G1: Spring 2017 Lecture 8: GPU Programming CSE599G1: Spring 2017 Announcements Project proposal due on Thursday (4/28) 5pm. Assignment 2 will be out today, due in two weeks. Implement GPU kernels and use cublas library

More information

European energy efficient supercomputer project

European energy efficient supercomputer project http://www.montblanc-project.eu European energy efficient supercomputer project Simon McIntosh-Smith University of Bristol (Based on slides from Alex Ramirez, BSC) Disclaimer: Speaking for myself... All

More information

HiPANQ Overview of NVIDIA GPU Architecture and Introduction to CUDA/OpenCL Programming, and Parallelization of LDPC codes.

HiPANQ Overview of NVIDIA GPU Architecture and Introduction to CUDA/OpenCL Programming, and Parallelization of LDPC codes. HiPANQ Overview of NVIDIA GPU Architecture and Introduction to CUDA/OpenCL Programming, and Parallelization of LDPC codes Ian Glendinning Outline NVIDIA GPU cards CUDA & OpenCL Parallel Implementation

More information

The Era of Heterogeneous Computing

The Era of Heterogeneous Computing The Era of Heterogeneous Computing EU-US Summer School on High Performance Computing New York, NY, USA June 28, 2013 Lars Koesterke: Research Staff @ TACC Nomenclature Architecture Model -------------------------------------------------------

More information

BITLOCKER MEETS GPUS BITCRACKER

BITLOCKER MEETS GPUS BITCRACKER BITLOCKER MEETS GPUS BITCRACKER Elena Agostini, Massimo Bernaschi BITCRACKER: BITLOCKER MEETS GPUS 2 BITLOCKER Windows Vista, 7, 8.1 and 10 encryption feature (Ultimate, Pro, Enterprise, etc..) It encrypts

More information

GRAPHICS PROCESSING UNITS

GRAPHICS PROCESSING UNITS GRAPHICS PROCESSING UNITS Slides by: Pedro Tomás Additional reading: Computer Architecture: A Quantitative Approach, 5th edition, Chapter 4, John L. Hennessy and David A. Patterson, Morgan Kaufmann, 2011

More information

Native Offload of Haskell Repa Programs to Integrated GPUs

Native Offload of Haskell Repa Programs to Integrated GPUs Native Offload of Haskell Repa Programs to Integrated GPUs Hai (Paul) Liu with Laurence Day, Neal Glew, Todd Anderson, Rajkishore Barik Intel Labs. September 28, 2016 General purpose computing on integrated

More information

CUDA and OpenCL Implementations of 3D CT Reconstruction for Biomedical Imaging

CUDA and OpenCL Implementations of 3D CT Reconstruction for Biomedical Imaging CUDA and OpenCL Implementations of 3D CT Reconstruction for Biomedical Imaging Saoni Mukherjee, Nicholas Moore, James Brock and Miriam Leeser September 12, 2012 1 Outline Introduction to CT Scan, 3D reconstruction

More information

A PERFORMANCE COMPARISON OF SORT AND SCAN LIBRARIES FOR GPUS

A PERFORMANCE COMPARISON OF SORT AND SCAN LIBRARIES FOR GPUS October 9, 215 9:46 WSPC/INSTRUCTION FILE ssbench Parallel Processing Letters c World Scientific Publishing Company A PERFORMANCE COMPARISON OF SORT AND SCAN LIBRARIES FOR GPUS BRUCE MERRY SKA South Africa,

More information

What is GPU? CS 590: High Performance Computing. GPU Architectures and CUDA Concepts/Terms

What is GPU? CS 590: High Performance Computing. GPU Architectures and CUDA Concepts/Terms CS 590: High Performance Computing GPU Architectures and CUDA Concepts/Terms Fengguang Song Department of Computer & Information Science IUPUI What is GPU? Conventional GPUs are used to generate 2D, 3D

More information

OpenCL Base Course Ing. Marco Stefano Scroppo, PhD Student at University of Catania

OpenCL Base Course Ing. Marco Stefano Scroppo, PhD Student at University of Catania OpenCL Base Course Ing. Marco Stefano Scroppo, PhD Student at University of Catania Course Overview This OpenCL base course is structured as follows: Introduction to GPGPU programming, parallel programming

More information

Using GPUs to compute the multilevel summation of electrostatic forces

Using GPUs to compute the multilevel summation of electrostatic forces Using GPUs to compute the multilevel summation of electrostatic forces David J. Hardy Theoretical and Computational Biophysics Group Beckman Institute for Advanced Science and Technology University of

More information

Home Software Hardware Benchmarks Services Store Support Forums About Us

Home Software Hardware Benchmarks Services Store Support Forums About Us 1 of 11 10/16/2018, 9:16 AM Home Software Hardware Benchmarks Services Store Support Forums About Us Home» Video Card Benchmarks» Mid to High Range Video Cards CPU Benchmarks Video Card Benchmarks Hard

More information

Avoiding Shared Memory Bank Conflicts in Rate Conversion Filtering

Avoiding Shared Memory Bank Conflicts in Rate Conversion Filtering NVIDIA GPU Technology Conference March 18, 2015 San José, California Avoiding Shared Memory Bank Conflicts in Rate Conversion Filtering Mrugesh Gajjar Technical Expert Siemens Corporate Technology, India

More information

Heterogeneous acceleration of volumetric JPEG 2000 using OpenCL

Heterogeneous acceleration of volumetric JPEG 2000 using OpenCL Heterogeneous acceleration of volumetric JPEG 2000 using OpenCL Jan G. Cornelis 1,3, Jan Lemeire 1,2,3, Tim Bruylants 1,2, and Peter Schelkens 1,2 1 Vrije Universiteit Brussel (VUB), Electronics and Informatics

More information

Overview of Project's Achievements

Overview of Project's Achievements PalDMC Parallelised Data Mining Components Final Presentation ESRIN, 12/01/2012 Overview of Project's Achievements page 1 Project Outline Project's objectives design and implement performance optimised,

More information