The AutoTune Project

Size: px
Start display at page:

Download "The AutoTune Project"

Transcription

1 The AutoTune Project Siegfried Benkner (on behalf of the Autotune consortium) Research Group Scientific Computing University of Vienna AutoTune: Interna-onal Workshop on Code Auto- Tuning, CGO 2015, San Francisco, Feb 7, 2015

2 Outline Project Objec/ves Periscope Tuning Framework Tuning Model & API Selected Tuning Plugins Conclusion

3 AutoTune Project European FP7 ICT Project Automa/c Online Tuning Oct Apr Partners - Technische Universität München (Coordinator) - University of Vienna - Universitat Autonoma de Barcelona - Na-onal University of Ireland - ICHEC - Leibniz Supercompu-ng Centre LRZ - CAPS Entreprise (un-l 06/2014) - IBM Germany (associated partner)

4 Project Objec/ves Combine performance analysis and tuning into single framework. Periscope Tuning Framework (PTF) Extend Periscope with automa-c tuning plugins for performance and energy efficiency tuning.

5 Project Objec/ves Facilitate Online Tuning: Performance analysis and tuning at run-me. Use expert knowledge to guide search for performance proper-es and tuned versions. Design Time Coding Performance Analysis Tuning Run,me Performance Analysis Tuning

6 Project Objec/ves Parallel architectures - Mul-core servers - Large- scale HPC systems (e.g. SuperMUC) - Accelerated systems (GPU, Xeon Phi) Support different programming paradigms/tools - MPI, MPI/OpenMP - HMPP/OpenACC/OpenCL; Pacerns (PEPPHER) Autotuning (at) Different Layers of SW Stack - High- level language (direc-ves/pacerns) - Compilers / Transforma-on systems - Run-me systems and libraries

7 Periscope Tuning Framework PTF User Interface PTF reflects Periscope s design - Iterative online performance analysis - Distributed, scalable architecture - Search for performance bottlenecks - Phase regions (SIR) Tuning plugins - Tuning parameters & regions & objective - Use/extend Periscope s performance properties and search strategies - Execute tuning scenarios (in parallel) Search Algorithms PTF Frontend Tuning Plugins Static Program Info Experiment Execution Agent Network Monitor Monitor Monitor Performance Analysis Application

8 Tuning Plugins 1. MPI Parameter Tuning 2. Pipeline PaQerns for Accelerated Architectures 3. DVFS Plugin 4. Compiler Flags Selec-on 5. MPI Master/Worker Tuning 6. OpenCL Worksize Tuning 7. Parallelism Capping Plugin 8. MPI- IO Plugin 9. Hybrid Manycore HMPP Codelets 10. Combined Tuning Plugins

9 PTF Tuning Model Analysis strategy guides search for performance proper-es Plugin strategy guides search for tuned versions based on found performance proper-es, expert knowledge,... Result Tuning recommenda-on that can be integrated into produc-on code

10 Tuning Step Pre- Analysis (opt.) Determine performance proper-es Create Search Space Create space of all tuning variants to consider Create Scenario(s) Select and build scenarios to be tested Prepare Scenario(s) Do whatever needed to apply the scenario (e.g., recompila-on, ) Run/Analyse Scenario(s) Chooses/runs scenario(s) to be executed in one step Tuning Step Pre- Analysis Create Search Space Search Step N N Create Scenario(s) Prepare Scenario(s) Run/Analzse Scenario(s) Search Finished? J Tuning Finished? J

11 PTF Tuning API Finite State Machine Scenario Execution Engine FrontEnd Application restart Tuning Strategy Plugin void initplugin(); void createscenarios(); void preparescenarios(); void compile(); void getrestartinfo(); void defineexperiment(); bool issearchfinished(); bool istuningdone(); void getadvice(); Search Engine void addsearchspace( VariantSpace*); void setobjective(int objective); void createscenarios(); bool issearchfinished() ; int getoptimum(); map<int, MetaProperty* > getsearchpath();

12 PTF Search Strategies Exhaus/ve search Probabilis/c random search Samples the search space according to a probability model Individual search Tuning parameters are considered individually according to their importance GDE3 mul/- objec/ve gene/c search Generalized Differen-al Evolu-on 3 gene-c algorithm Ac/ve Harmony's Nelder- Mead Simplex algorithm Interfaces the Harmony server to obtain new scenarios in each search step.

13 MPI Parameter Tuning Plugin Tuning of selected parameters of MPI implementa/ons MP_EAGER_LIMIT, MP_BUFFER_MEM, e.g., tradeoff between performance and memory usage Tuning Configura-on File - Parameters to tune and value ranges - Search strategy to be used

14 Eager Limit New Performance Metrics - PSC_MPI_MSG_P2P_THR: total number of bytes transferred near the eager limit (1KB - 64KB). - PSC_MPI_MSG_P2P_TOT: total number of bytes transferred using point to point communica-on. - PSC_MPI_MSG_P2P <2K;16K;32K;64K>: total number of messages (count) at certain size ranges. New Performance Property: EagerLimitDependency - Frac-on of the total MPI point to point traffic near valid eager limit - Determines if generated point to point traffic is sensible to altera-ons to the eager limit.

15 EAGER_LIMIT & BUFFER_MEM FSSIM Code on SuperMuc (4 nodes, 64 cores) Default (IBM MPI) EAGER_LIMIT: 32 KB BUFFER_MEM: 64 MB Best (FSSIM Code) EAGER_LIMIT: 1 KB BUFFER_MEM: 128 MB Improvement: ~30%

16 High- Level PaQern Tuning PEPPHER HL Programming Framework ( Component- based Approach Components with mul-ple implementa-on variants (diff. prog. models) High- level coordina-on mechanisms (task parallelism); pacerns Intelligent Run/me System (StarPU) Asynchronous task- based execu-on model Dynamic variant selec-on & scheduling to all processing units

17 PEPPHER Methodology FOR k = 0..TILES-1 Cholesky POTRF(A[k][k]) Factorization FOR m = k+1..tiles-1 TRSM(A[k][k], A[m][k]) FOR n = k+1..tiles-1 SYRK(A[n][k], A[n][n]) FOR m = n+1..tiles-1 GEMM(A[m][k], #pragma pph call A[n][k], A[m][n]) GEMM(A[m][k], A[n][k], A[m][n]) P... T... S... S G G G G... Dynamic Task Graph w. data dependencies S. Benkner, U. Vienna «variant» GEMM_CPU «variant» GEMM_GPU from PLASMA/MAGMA libraries GPU GPU G G G S S... S GEMM Runtime Scheduler... T «interface» T S CPU G

18 Pipeline PaQern Plugin Pipeline stages correspond to component calls Support for stage replication and stage merging High-Level buffer management (size, order-type) #pragma pph pipeline while (...) { a(x) #pragma stage replicate(?) b(x,y) c(y) } Programmer-controlled autotuning: replicate(?), replicate(2:10:2)? B_CPU <<interface>> B B_GPU A B C B A B C B

19 Pipeline PaQern Tuning Performance Analysis Stage execution times Buffer wait times Overall pipeline execution time à determine slowest pipeline stage (limiter stage) Tuning Parameters Stage replication factor, buffer sizes Number of CPUs/GPUs to use Runtime scheduling strategy (HEFT, EAGER, ) B A B C B

20 #pragma pipeline buffer(?) while(b!= 0) { readblock(file,b); #pragma stage replicate(?) compress(b); writecomprblock(file,b); } PEPPHER Framework C/C++ with PEPPHER Vienna Transforma-on System Adap-ve Target Code + Periscope Instrumenta/on Calls Target Compiler(s) Annota,on Compila,on Instrumenta,on Tuning Parameters SIR File Code Regions PTF Modified Tuning Parameter(s) Executable MRI Monitor Pipeline Tuning Plugin Metrics measure Performance Data Periscope Analysis Agent Best Tuning Scenario R = 4, B = 8 NGPU = 2 NCPU = 4 Search Engine PTF Frontend Execu,on Measurement Online Tuning

21 Face Detec/on Applica/on CPU & GPU variants for middle stages re- engineered from OpenCV library Can transparently u-lize all resources in a heterogenous system... #pragma pph pipeline while(inputstream >> file) { readimage(file,image); #pragma pph stage replicate(?) { resizeandcolorconvert(image); detectface(image,outimage); } writefacedetectedimage(file,outimage); }

22 Results: Face Detec/on Architecture: 2 Intel Xeon X NVIDIA C C1060 Parameter Values Best Repl. Factor 1,2,4,8 8 CPU cores 1,2,4,6,8 6 GPUs 0,1,2 2 Scheduling 360 scenarios Whole machine Best: 8.2 s Worst: 19.6 s eager, hey hey Buffer Size 8, 16, 32 32

23 Results: Face Detec/on Architecture: 2 Intel Xeon E NVIDIA K20 Parameter Values 1260 scenarios Whole machine Best: 4.6 secs Worst: 15.3 secs Best Rpl. Factor 1,2,4,8,16,32 16 CPU cores 1,2,4,8,16,32 16 GPUs 0,1,2,3,4 4 Scheduling eager, hey hey Buffer Size 32,64,128 64

24 DVFS Plugin (SandyBridge) Changing clock frequency for certain code regions to op-mize energy to solu-on for MPI/OpenMP applica-ons. enopt library: u-lizes cpufreq (userspace govenor) and PAPI- RAPL features Performance Analysis SuitedForEnergyConfigura/on property: suitable code regions Measurements for Energy Predic/on Model (GIPS, CPI, L2/L3 cache misses) performed at some frequency f 0 Tuning Strategy Energy Predic/on Model to predict best frequency f n for each region Evaluate three frequencies [f n- 1, f n, f n+1 ] per region. Exhaus-ve search strategy

25 DVFS Plugin Energy Predic/on Model (based on work by Auweter et al.)

26 DVFS Plugin Energy Predic/on Model (based on work by Auweter et al.)

27 Results: DVFS Plugin SeiSol code on SuperMUC 3 suitable regions Energy (J) Time (s)

28 MPI Master/Worker Plugin Tuning of master/worker MPI applica/ons Op-mizing execu-on -me through improved load balancing Performance Analysis: Execu-on -mes, communica-on -mes, imbalance, Tuning Parameters and Strategy - par--on factor (decreasing size factoring) - number of workers - analy-cal models to reduce search space - 2- step Tuning Strategy (f then n)

29 Tuning Plugins... MPI- IO Plugin - Tunes the number of aggregators and the collec-ve buffer size for two- phase IO and the data sieving buffer size for non- collec-ve opera-ons. Parallelism Capping Plugin - Find number of OpenMP threads for inividual parallel regions that minimizes Energy Delay Product (EDP) objec-ve func-on.

30 Tuning Plugins... Compiler Op/miza/on Tuning Plugin - Reduce the execu-on -me of the applica-on s phase region(s) by selec-ng the best combina-on of compiler flags for the applica-on. Combined Tuning Plugin - Meta- plugin combining compiler flag selec-on, energy, and MPI parameter tuning - Fixed vs. adap-ve sequence.

31 Conclusion AutoTune Project Combining performance analysis and tuning Integra-on of expert knowledge PTF: Flexible, Plugin- based architecture Support for different programming models/tools/architectures Tuning (at) different layers of soyware stack Plugable search strategies Combined tuning plugins PTF Release with selected tuning plugins available soon

32

AutoTune Workshop. Michael Gerndt Technische Universität München

AutoTune Workshop. Michael Gerndt Technische Universität München AutoTune Workshop Michael Gerndt Technische Universität München AutoTune Project Automatic Online Tuning of HPC Applications High PERFORMANCE Computing HPC application developers Compute centers: Energy

More information

Code Auto-Tuning with the Periscope Tuning Framework

Code Auto-Tuning with the Periscope Tuning Framework Code Auto-Tuning with the Periscope Tuning Framework Renato Miceli, SENAI CIMATEC renato.miceli@fieb.org.br Isaías A. Comprés, TUM compresu@in.tum.de Project Participants Michael Gerndt, TUM Coordinator

More information

Automatic Tuning of HPC Applications with Periscope. Michael Gerndt, Michael Firbach, Isaias Compres Technische Universität München

Automatic Tuning of HPC Applications with Periscope. Michael Gerndt, Michael Firbach, Isaias Compres Technische Universität München Automatic Tuning of HPC Applications with Periscope Michael Gerndt, Michael Firbach, Isaias Compres Technische Universität München Agenda 15:00 15:30 Introduction to the Periscope Tuning Framework (PTF)

More information

Automatic Performance Tuning of Pipeline Patterns for Heterogeneous Parallel Architectures

Automatic Performance Tuning of Pipeline Patterns for Heterogeneous Parallel Architectures Automatic Performance Tuning of Pipeline Patterns for Heterogeneous Parallel Architectures E. Bajrovic 1 and S. Benkner 1 1 Research Group Scientific Computing, Faculty of Computer Science, University

More information

READEX: A Tool Suite for Dynamic Energy Tuning. Michael Gerndt Technische Universität München

READEX: A Tool Suite for Dynamic Energy Tuning. Michael Gerndt Technische Universität München READEX: A Tool Suite for Dynamic Energy Tuning Michael Gerndt Technische Universität München Campus Garching 2 SuperMUC: 3 Petaflops, 3 MW 3 READEX Runtime Exploitation of Application Dynamism for Energy-efficient

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

Programmability and Performance Portability for Heterogeneous Many-Core Systems

Programmability and Performance Portability for Heterogeneous Many-Core Systems Programmability and Performance Portability for Heterogeneous Many-Core Systems Siegfried Benkner (on behalf of PEPPHER Consortium) Research Group Scientific Computing Faculty of Computer Science University

More information

GPU GPU CPU. Raymond Namyst 3 Samuel Thibault 3 Olivier Aumage 3

GPU GPU CPU. Raymond Namyst 3 Samuel Thibault 3 Olivier Aumage 3 /CPU,a),2,2 2,2 Raymond Namyst 3 Samuel Thibault 3 Olivier Aumage 3 XMP XMP-dev CPU XMP-dev/StarPU XMP-dev XMP CPU StarPU CPU /CPU XMP-dev/StarPU N /CPU CPU. Graphics Processing Unit GP General-Purpose

More information

Programming Support for Heterogeneous Parallel Systems

Programming Support for Heterogeneous Parallel Systems Programming Support for Heterogeneous Parallel Systems Siegfried Benkner Department of Scientific Computing Faculty of Computer Science University of Vienna http://www.par.univie.ac.at Outline Introduction

More information

Overview of research activities Toward portability of performance

Overview of research activities Toward portability of performance Overview of research activities Toward portability of performance Do dynamically what can t be done statically Understand evolution of architectures Enable new programming models Put intelligence into

More information

An Extension of the StarSs Programming Model for Platforms with Multiple GPUs

An Extension of the StarSs Programming Model for Platforms with Multiple GPUs An Extension of the StarSs Programming Model for Platforms with Multiple GPUs Eduard Ayguadé 2 Rosa M. Badia 2 Francisco Igual 1 Jesús Labarta 2 Rafael Mayo 1 Enrique S. Quintana-Ortí 1 1 Departamento

More information

DESIGN CHALLENGES FOR SCALABLE CONCURRENT DATA STRUCTURES for Many-Core Processors

DESIGN CHALLENGES FOR SCALABLE CONCURRENT DATA STRUCTURES for Many-Core Processors DESIGN CHALLENGES FOR SCALABLE CONCURRENT DATA STRUCTURES for Many-Core Processors DIMACS March 15 th, 2011 Philippas Tsigas Data Structures In Manycore Sys. Decomposition Synchronization Load Balancing

More information

Addressing Heterogeneity in Manycore Applications

Addressing Heterogeneity in Manycore Applications Addressing Heterogeneity in Manycore Applications RTM Simulation Use Case stephane.bihan@caps-entreprise.com Oil&Gas HPC Workshop Rice University, Houston, March 2008 www.caps-entreprise.com Introduction

More information

Trends in HPC (hardware complexity and software challenges)

Trends in HPC (hardware complexity and software challenges) Trends in HPC (hardware complexity and software challenges) Mike Giles Oxford e-research Centre Mathematical Institute MIT seminar March 13th, 2013 Mike Giles (Oxford) HPC Trends March 13th, 2013 1 / 18

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

Algorithms for Auto- tuning OpenACC Accelerated Kernels

Algorithms for Auto- tuning OpenACC Accelerated Kernels Outline Algorithms for Auto- tuning OpenACC Accelerated Kernels Fatemah Al- Zayer 1, Ameerah Al- Mu2ry 1, Mona Al- Shahrani 1, Saber Feki 2, and David Keyes 1 1 Extreme Compu,ng Research Center, 2 KAUST

More information

Performance analysis with Periscope

Performance analysis with Periscope Performance analysis with Periscope M. Gerndt, V. Petkov, Y. Oleynik, S. Benedict Technische Universität petkovve@in.tum.de March 2010 Outline Motivation Periscope (PSC) Periscope performance analysis

More information

IBM High Performance Computing Toolkit

IBM High Performance Computing Toolkit IBM High Performance Computing Toolkit Pidad D'Souza (pidsouza@in.ibm.com) IBM, India Software Labs Top 500 : Application areas (November 2011) Systems Performance Source : http://www.top500.org/charts/list/34/apparea

More information

Performance Analysis with Periscope

Performance Analysis with Periscope Performance Analysis with Periscope M. Gerndt, V. Petkov, Y. Oleynik, S. Benedict Technische Universität München periscope@lrr.in.tum.de October 2010 Outline Motivation Periscope overview Periscope performance

More information

Using Cowichan Problems to Inves6gate Programmability of X10 Programming System

Using Cowichan Problems to Inves6gate Programmability of X10 Programming System Using Cowichan Problems to Inves6gate Programmability of X1 Programming System Jeeva S. Paudel, J. Nelson Amaral Department of Computing Science University of Alberta, Edmonton Canada June 4, 211 X1: Design

More information

Performance Analysis for Large Scale Simulation Codes with Periscope

Performance Analysis for Large Scale Simulation Codes with Periscope Performance Analysis for Large Scale Simulation Codes with Periscope M. Gerndt, Y. Oleynik, C. Pospiech, D. Gudu Technische Universität München IBM Deutschland GmbH May 2011 Outline Motivation Periscope

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

Scalasca support for Intel Xeon Phi. Brian Wylie & Wolfgang Frings Jülich Supercomputing Centre Forschungszentrum Jülich, Germany

Scalasca support for Intel Xeon Phi. Brian Wylie & Wolfgang Frings Jülich Supercomputing Centre Forschungszentrum Jülich, Germany Scalasca support for Intel Xeon Phi Brian Wylie & Wolfgang Frings Jülich Supercomputing Centre Forschungszentrum Jülich, Germany Overview Scalasca performance analysis toolset support for MPI & OpenMP

More information

n N c CIni.o ewsrg.au

n N c CIni.o ewsrg.au @NCInews NCI and Raijin National Computational Infrastructure 2 Our Partners General purpose, highly parallel processors High FLOPs/watt and FLOPs/$ Unit of execution Kernel Separate memory subsystem GPGPU

More information

MIGRATION OF LEGACY APPLICATIONS TO HETEROGENEOUS ARCHITECTURES Francois Bodin, CTO, CAPS Entreprise. June 2011

MIGRATION OF LEGACY APPLICATIONS TO HETEROGENEOUS ARCHITECTURES Francois Bodin, CTO, CAPS Entreprise. June 2011 MIGRATION OF LEGACY APPLICATIONS TO HETEROGENEOUS ARCHITECTURES Francois Bodin, CTO, CAPS Entreprise June 2011 FREE LUNCH IS OVER, CODES HAVE TO MIGRATE! Many existing legacy codes needs to migrate to

More information

Debugging CUDA Applications with Allinea DDT. Ian Lumb Sr. Systems Engineer, Allinea Software Inc.

Debugging CUDA Applications with Allinea DDT. Ian Lumb Sr. Systems Engineer, Allinea Software Inc. Debugging CUDA Applications with Allinea DDT Ian Lumb Sr. Systems Engineer, Allinea Software Inc. ilumb@allinea.com GTC 2013, San Jose, March 20, 2013 Embracing GPUs GPUs a rival to traditional processors

More information

XPDL: Extensible Platform Description Language to Support Energy Modeling and Optimization

XPDL: Extensible Platform Description Language to Support Energy Modeling and Optimization 1 / 25 XPDL: Extensible Platform Description Language to Support Energy Modeling and Optimization Christoph Kessler, Lu Li, Aras Atalar and Alin Dobre christoph.kessler@liu.se, lu.li@liu.se 2 / 25 Agenda

More information

StarPU: a runtime system for multigpu multicore machines

StarPU: a runtime system for multigpu multicore machines StarPU: a runtime system for multigpu multicore machines Raymond Namyst RUNTIME group, INRIA Bordeaux Journées du Groupe Calcul Lyon, November 2010 The RUNTIME Team High Performance Runtime Systems for

More information

Pragma-based GPU Programming and HMPP Workbench. Scott Grauer-Gray

Pragma-based GPU Programming and HMPP Workbench. Scott Grauer-Gray Pragma-based GPU Programming and HMPP Workbench Scott Grauer-Gray Pragma-based GPU programming Write programs for GPU processing without (directly) using CUDA/OpenCL Place pragmas to drive processing on

More information

Parallel Programming Libraries and implementations

Parallel Programming Libraries and implementations Parallel Programming Libraries and implementations Partners Funding Reusing this material This work is licensed under a Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International License.

More information

TOOLS FOR IMPROVING CROSS-PLATFORM SOFTWARE DEVELOPMENT

TOOLS FOR IMPROVING CROSS-PLATFORM SOFTWARE DEVELOPMENT TOOLS FOR IMPROVING CROSS-PLATFORM SOFTWARE DEVELOPMENT Eric Kelmelis 28 March 2018 OVERVIEW BACKGROUND Evolution of processing hardware CROSS-PLATFORM KERNEL DEVELOPMENT Write once, target multiple hardware

More information

OpenMP for Heterogeneous Multicore Embedded Systems using MCA API standard interface

OpenMP for Heterogeneous Multicore Embedded Systems using MCA API standard interface OpenMP for Heterogeneous Multicore Embedded Systems using MCA API standard interface Sunita Chandrasekaran (sunita@cs.uh.edu) Peng Sun, Suyang zhu, Barbara Chapman HPCTools Group, University of Houston,

More information

ELASTIC: Dynamic Tuning for Large-Scale Parallel Applications

ELASTIC: Dynamic Tuning for Large-Scale Parallel Applications Workshop on Extreme-Scale Programming Tools 18th November 2013 Supercomputing 2013 ELASTIC: Dynamic Tuning for Large-Scale Parallel Applications Toni Espinosa Andrea Martínez, Anna Sikora, Eduardo César

More information

The DEEP (and DEEP-ER) projects

The DEEP (and DEEP-ER) projects The DEEP (and DEEP-ER) projects Estela Suarez - Jülich Supercomputing Centre BDEC for Europe Workshop Barcelona, 28.01.2015 The research leading to these results has received funding from the European

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

Evaluation of Asynchronous Offloading Capabilities of Accelerator Programming Models for Multiple Devices

Evaluation of Asynchronous Offloading Capabilities of Accelerator Programming Models for Multiple Devices Evaluation of Asynchronous Offloading Capabilities of Accelerator Programming Models for Multiple Devices Jonas Hahnfeld 1, Christian Terboven 1, James Price 2, Hans Joachim Pflug 1, Matthias S. Müller

More information

PLB-HeC: A Profile-based Load-Balancing Algorithm for Heterogeneous CPU-GPU Clusters

PLB-HeC: A Profile-based Load-Balancing Algorithm for Heterogeneous CPU-GPU Clusters PLB-HeC: A Profile-based Load-Balancing Algorithm for Heterogeneous CPU-GPU Clusters IEEE CLUSTER 2015 Chicago, IL, USA Luis Sant Ana 1, Daniel Cordeiro 2, Raphael Camargo 1 1 Federal University of ABC,

More information

GPU Debugging Made Easy. David Lecomber CTO, Allinea Software

GPU Debugging Made Easy. David Lecomber CTO, Allinea Software GPU Debugging Made Easy David Lecomber CTO, Allinea Software david@allinea.com Allinea Software HPC development tools company Leading in HPC software tools market Wide customer base Blue-chip engineering,

More information

Computational Interdisciplinary Modelling High Performance Parallel & Distributed Computing Our Research

Computational Interdisciplinary Modelling High Performance Parallel & Distributed Computing Our Research Insieme Insieme-an Optimization System for OpenMP, MPI and OpenCLPrograms Institute of Computer Science University of Innsbruck Thomas Fahringer, Ivan Grasso, Klaus Kofler, Herbert Jordan, Hans Moritsch,

More information

READEX Runtime Exploitation of Application Dynamism for Energyefficient

READEX Runtime Exploitation of Application Dynamism for Energyefficient READEX Runtime Exploitation of Application Dynamism for Energyefficient exascale computing EnA-HPC @ ISC 17 Robert Schöne TUD Project Motivation Applications exhibit dynamic behaviour Changing resource

More information

Evolving HPCToolkit John Mellor-Crummey Department of Computer Science Rice University Scalable Tools Workshop 7 August 2017

Evolving HPCToolkit John Mellor-Crummey Department of Computer Science Rice University   Scalable Tools Workshop 7 August 2017 Evolving HPCToolkit John Mellor-Crummey Department of Computer Science Rice University http://hpctoolkit.org Scalable Tools Workshop 7 August 2017 HPCToolkit 1 HPCToolkit Workflow source code compile &

More information

Power Constrained HPC

Power Constrained HPC http://scalability.llnl.gov/ Power Constrained HPC Martin Schulz Center or Applied Scientific Computing (CASC) Lawrence Livermore National Laboratory With many collaborators and Co-PIs, incl.: LLNL: Barry

More information

Energy Efficient K-Means Clustering for an Intel Hybrid Multi-Chip Package

Energy Efficient K-Means Clustering for an Intel Hybrid Multi-Chip Package High Performance Machine Learning Workshop Energy Efficient K-Means Clustering for an Intel Hybrid Multi-Chip Package Matheus Souza, Lucas Maciel, Pedro Penna, Henrique Freitas 24/09/2018 Agenda Introduction

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

CUDA. Matthew Joyner, Jeremy Williams

CUDA. Matthew Joyner, Jeremy Williams CUDA Matthew Joyner, Jeremy Williams Agenda What is CUDA? CUDA GPU Architecture CPU/GPU Communication Coding in CUDA Use cases of CUDA Comparison to OpenCL What is CUDA? What is CUDA? CUDA is a parallel

More information

How to write code that will survive the many-core revolution Write once, deploy many(-cores) F. Bodin, CTO

How to write code that will survive the many-core revolution Write once, deploy many(-cores) F. Bodin, CTO How to write code that will survive the many-core revolution Write once, deploy many(-cores) F. Bodin, CTO Foreword How to write code that will survive the many-core revolution? is being setup as a collective

More information

Addressing the Increasing Challenges of Debugging on Accelerated HPC Systems. Ed Hinkel Senior Sales Engineer

Addressing the Increasing Challenges of Debugging on Accelerated HPC Systems. Ed Hinkel Senior Sales Engineer Addressing the Increasing Challenges of Debugging on Accelerated HPC Systems Ed Hinkel Senior Sales Engineer Agenda Overview - Rogue Wave & TotalView GPU Debugging with TotalView Nvdia CUDA Intel Phi 2

More information

Peta-Scale Simulations with the HPC Software Framework walberla:

Peta-Scale Simulations with the HPC Software Framework walberla: Peta-Scale Simulations with the HPC Software Framework walberla: Massively Parallel AMR for the Lattice Boltzmann Method SIAM PP 2016, Paris April 15, 2016 Florian Schornbaum, Christian Godenschwager,

More information

IMPROVING ENERGY EFFICIENCY THROUGH PARALLELIZATION AND VECTORIZATION ON INTEL R CORE TM

IMPROVING ENERGY EFFICIENCY THROUGH PARALLELIZATION AND VECTORIZATION ON INTEL R CORE TM IMPROVING ENERGY EFFICIENCY THROUGH PARALLELIZATION AND VECTORIZATION ON INTEL R CORE TM I5 AND I7 PROCESSORS Juan M. Cebrián 1 Lasse Natvig 1 Jan Christian Meyer 2 1 Depart. of Computer and Information

More information

Introduction to Parallel Performance Engineering

Introduction to Parallel Performance Engineering Introduction to Parallel Performance Engineering Markus Geimer, Brian Wylie Jülich Supercomputing Centre (with content used with permission from tutorials by Bernd Mohr/JSC and Luiz DeRose/Cray) Performance:

More information

Parallel Computing. Hwansoo Han (SKKU)

Parallel Computing. Hwansoo Han (SKKU) Parallel Computing Hwansoo Han (SKKU) Unicore Limitations Performance scaling stopped due to Power consumption Wire delay DRAM latency Limitation in ILP 10000 SPEC CINT2000 2 cores/chip Xeon 3.0GHz Core2duo

More information

rcuda: an approach to provide remote access to GPU computational power

rcuda: an approach to provide remote access to GPU computational power rcuda: an approach to provide remote access to computational power Rafael Mayo Gual Universitat Jaume I Spain (1 of 60) HPC Advisory Council Workshop Outline computing Cost of a node rcuda goals rcuda

More information

READEX: Linking Two Ends of the Computing Continuum to Improve Energy-efficiency in Dynamic Applications

READEX: Linking Two Ends of the Computing Continuum to Improve Energy-efficiency in Dynamic Applications READEX: Linking Two Ends of the Computing Continuum to Improve Energy-efficiency in Dynamic Applications Per Gunnar Kjeldsberg, Andreas Gocht, Michael Gerndt, Lubomir Riha, Joseph Schuchart, and Umbreen

More information

S Comparing OpenACC 2.5 and OpenMP 4.5

S Comparing OpenACC 2.5 and OpenMP 4.5 April 4-7, 2016 Silicon Valley S6410 - Comparing OpenACC 2.5 and OpenMP 4.5 James Beyer, NVIDIA Jeff Larkin, NVIDIA GTC16 April 7, 2016 History of OpenMP & OpenACC AGENDA Philosophical Differences Technical

More information

Scalable Multi Agent Simulation on the GPU. Avi Bleiweiss NVIDIA Corporation San Jose, 2009

Scalable Multi Agent Simulation on the GPU. Avi Bleiweiss NVIDIA Corporation San Jose, 2009 Scalable Multi Agent Simulation on the GPU Avi Bleiweiss NVIDIA Corporation San Jose, 2009 Reasoning Explicit State machine, serial Implicit Compute intensive Fits SIMT well Collision avoidance Motivation

More information

Intel Xeon Phi архитектура, модели программирования, оптимизация.

Intel Xeon Phi архитектура, модели программирования, оптимизация. Нижний Новгород, 2017 Intel Xeon Phi архитектура, модели программирования, оптимизация. Дмитрий Прохоров, Дмитрий Рябцев, Intel Agenda What and Why Intel Xeon Phi Top 500 insights, roadmap, architecture

More information

How to Write Code that Will Survive the Many-Core Revolution

How to Write Code that Will Survive the Many-Core Revolution How to Write Code that Will Survive the Many-Core Revolution Write Once, Deploy Many(-Cores) Guillaume BARAT, EMEA Sales Manager CAPS worldwide ecosystem Customers Business Partners Involved in many European

More information

ORAP Forum October 10, 2013

ORAP Forum October 10, 2013 Towards Petaflop simulations of core collapse supernovae ORAP Forum October 10, 2013 Andreas Marek 1 together with Markus Rampp 1, Florian Hanke 2, and Thomas Janka 2 1 Rechenzentrum der Max-Planck-Gesellschaft

More information

Introduction: Modern computer architecture. The stored program computer and its inherent bottlenecks Multi- and manycore chips and nodes

Introduction: Modern computer architecture. The stored program computer and its inherent bottlenecks Multi- and manycore chips and nodes Introduction: Modern computer architecture The stored program computer and its inherent bottlenecks Multi- and manycore chips and nodes Motivation: Multi-Cores where and why Introduction: Moore s law Intel

More information

The StarPU Runtime System

The StarPU Runtime System The StarPU Runtime System A Unified Runtime System for Heterogeneous Architectures Olivier Aumage STORM Team Inria LaBRI http://starpu.gforge.inria.fr/ 1Introduction Olivier Aumage STORM Team The StarPU

More information

Profiling & Tuning Applica1ons. CUDA Course July István Reguly

Profiling & Tuning Applica1ons. CUDA Course July István Reguly Profiling & Tuning Applica1ons CUDA Course July 21-25 István Reguly Introduc1on Why is my applica1on running slow? Work it out on paper Instrument code Profile it NVIDIA Visual Profiler Works with CUDA,

More information

Approaches to acceleration: GPUs vs Intel MIC. Fabio AFFINITO SCAI department

Approaches to acceleration: GPUs vs Intel MIC. Fabio AFFINITO SCAI department Approaches to acceleration: GPUs vs Intel MIC Fabio AFFINITO SCAI department Single core Multi core Many core GPU Intel MIC 61 cores 512bit-SIMD units from http://www.karlrupp.net/ from http://www.karlrupp.net/

More information

PROGRAMOVÁNÍ V C++ CVIČENÍ. Michal Brabec

PROGRAMOVÁNÍ V C++ CVIČENÍ. Michal Brabec PROGRAMOVÁNÍ V C++ CVIČENÍ Michal Brabec PARALLELISM CATEGORIES CPU? SSE Multiprocessor SIMT - GPU 2 / 17 PARALLELISM V C++ Weak support in the language itself, powerful libraries Many different parallelization

More information

Parallel Programming. Libraries and Implementations

Parallel Programming. Libraries and Implementations Parallel Programming Libraries and Implementations 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

Code optimization in a 3D diffusion model

Code optimization in a 3D diffusion model Code optimization in a 3D diffusion model Roger Philp Intel HPC Software Workshop Series 2016 HPC Code Modernization for Intel Xeon and Xeon Phi February 18 th 2016, Barcelona Agenda Background Diffusion

More information

A Distributed Data- Parallel Execu3on Framework in the Kepler Scien3fic Workflow System

A Distributed Data- Parallel Execu3on Framework in the Kepler Scien3fic Workflow System A Distributed Data- Parallel Execu3on Framework in the Kepler Scien3fic Workflow System Ilkay Al(ntas and Daniel Crawl San Diego Supercomputer Center UC San Diego Jianwu Wang UMBC WorDS.sdsc.edu Computa3onal

More information

Programming Models for Multi- Threading. Brian Marshall, Advanced Research Computing

Programming Models for Multi- Threading. Brian Marshall, Advanced Research Computing Programming Models for Multi- Threading Brian Marshall, Advanced Research Computing Why Do Parallel Computing? Limits of single CPU computing performance available memory I/O rates Parallel computing allows

More information

Presenting: Comparing the Power and Performance of Intel's SCC to State-of-the-Art CPUs and GPUs

Presenting: Comparing the Power and Performance of Intel's SCC to State-of-the-Art CPUs and GPUs Presenting: Comparing the Power and Performance of Intel's SCC to State-of-the-Art CPUs and GPUs A paper comparing modern architectures Joakim Skarding Christian Chavez Motivation Continue scaling of performance

More information

Masterpraktikum Scientific Computing

Masterpraktikum Scientific Computing Masterpraktikum Scientific Computing High-Performance Computing Michael Bader Alexander Heinecke Technische Universität München, Germany Outline Logins Levels of Parallelism Single Processor Systems Von-Neumann-Principle

More information

Large Scale Debugging

Large Scale Debugging Large Scale Debugging Project Meeting Report - December 2015 Didier Nadeau Under the supervision of Michel Dagenais Distributed Open Reliable Systems Analysis Lab École Polytechnique de Montréal Table

More information

The Stampede is Coming: A New Petascale Resource for the Open Science Community

The Stampede is Coming: A New Petascale Resource for the Open Science Community The Stampede is Coming: A New Petascale Resource for the Open Science Community Jay Boisseau Texas Advanced Computing Center boisseau@tacc.utexas.edu Stampede: Solicitation US National Science Foundation

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

OpenACC Standard. Credits 19/07/ OpenACC, Directives for Accelerators, Nvidia Slideware

OpenACC Standard. Credits 19/07/ OpenACC, Directives for Accelerators, Nvidia Slideware OpenACC Standard Directives for Accelerators Credits http://www.openacc.org/ o V1.0: November 2011 Specification OpenACC, Directives for Accelerators, Nvidia Slideware CAPS OpenACC Compiler, HMPP Workbench

More information

Little Motivation Outline Introduction OpenMP Architecture Working with OpenMP Future of OpenMP End. OpenMP. Amasis Brauch German University in Cairo

Little Motivation Outline Introduction OpenMP Architecture Working with OpenMP Future of OpenMP End. OpenMP. Amasis Brauch German University in Cairo OpenMP Amasis Brauch German University in Cairo May 4, 2010 Simple Algorithm 1 void i n c r e m e n t e r ( short a r r a y ) 2 { 3 long i ; 4 5 for ( i = 0 ; i < 1000000; i ++) 6 { 7 a r r a y [ i ]++;

More information

Tools and Methodology for Ensuring HPC Programs Correctness and Performance. Beau Paisley

Tools and Methodology for Ensuring HPC Programs Correctness and Performance. Beau Paisley Tools and Methodology for Ensuring HPC Programs Correctness and Performance Beau Paisley bpaisley@allinea.com About Allinea Over 15 years of business focused on parallel programming development tools Strong

More information

Productive Performance on the Cray XK System Using OpenACC Compilers and Tools

Productive Performance on the Cray XK System Using OpenACC Compilers and Tools Productive Performance on the Cray XK System Using OpenACC Compilers and Tools Luiz DeRose Sr. Principal Engineer Programming Environments Director Cray Inc. 1 The New Generation of Supercomputers Hybrid

More information

EDAN65: Compilers, Lecture 13 Run;me systems for object- oriented languages. Görel Hedin Revised:

EDAN65: Compilers, Lecture 13 Run;me systems for object- oriented languages. Görel Hedin Revised: EDAN65: Compilers, Lecture 13 Run;me systems for object- oriented languages Görel Hedin Revised: 2014-10- 13 This lecture Regular expressions Context- free grammar ATribute grammar Lexical analyzer (scanner)

More information

Energy Efficient Transparent Library Accelera4on with CAPI Heiner Giefers IBM Research Zurich

Energy Efficient Transparent Library Accelera4on with CAPI Heiner Giefers IBM Research Zurich Energy Efficient Transparent Library Accelera4on with CAPI Heiner Giefers IBM Research Zurich Revolu'onizing the Datacenter Datacenter Join the Conversa'on #OpenPOWERSummit Towards highly efficient data

More information

MAGMA. Matrix Algebra on GPU and Multicore Architectures

MAGMA. Matrix Algebra on GPU and Multicore Architectures MAGMA Matrix Algebra on GPU and Multicore Architectures Innovative Computing Laboratory Electrical Engineering and Computer Science University of Tennessee Piotr Luszczek (presenter) web.eecs.utk.edu/~luszczek/conf/

More information

Integrating Parallel Application Development with Performance Analysis in Periscope

Integrating Parallel Application Development with Performance Analysis in Periscope Technische Universität München Integrating Parallel Application Development with Performance Analysis in Periscope V. Petkov, M. Gerndt Technische Universität München 19 April 2010 Atlanta, GA, USA Motivation

More information

Thread and Data parallelism in CPUs - will GPUs become obsolete?

Thread and Data parallelism in CPUs - will GPUs become obsolete? Thread and Data parallelism in CPUs - will GPUs become obsolete? USP, Sao Paulo 25/03/11 Carsten Trinitis Carsten.Trinitis@tum.de Lehrstuhl für Rechnertechnik und Rechnerorganisation (LRR) Institut für

More information

Allinea Unified Environment

Allinea Unified Environment Allinea Unified Environment Allinea s unified tools for debugging and profiling HPC Codes Beau Paisley Allinea Software bpaisley@allinea.com 720.583.0380 Today s Challenge Q: What is the impact of current

More information

Dealing with Heterogeneous Multicores

Dealing with Heterogeneous Multicores Dealing with Heterogeneous Multicores François Bodin INRIA-UIUC, June 12 th, 2009 Introduction Main stream applications will rely on new multicore / manycore architectures It is about performance not parallelism

More information

Analyzing the Performance of IWAVE on a Cluster using HPCToolkit

Analyzing the Performance of IWAVE on a Cluster using HPCToolkit Analyzing the Performance of IWAVE on a Cluster using HPCToolkit John Mellor-Crummey and Laksono Adhianto Department of Computer Science Rice University {johnmc,laksono}@rice.edu TRIP Meeting March 30,

More information

Super Instruction Architecture for Heterogeneous Systems. Victor Lotric, Nakul Jindal, Erik Deumens, Rod Bartlett, Beverly Sanders

Super Instruction Architecture for Heterogeneous Systems. Victor Lotric, Nakul Jindal, Erik Deumens, Rod Bartlett, Beverly Sanders Super Instruction Architecture for Heterogeneous Systems Victor Lotric, Nakul Jindal, Erik Deumens, Rod Bartlett, Beverly Sanders Super Instruc,on Architecture Mo,vated by Computa,onal Chemistry Coupled

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

Accelerator Programming Lecture 1

Accelerator Programming Lecture 1 Accelerator Programming Lecture 1 Manfred Liebmann Technische Universität München Chair of Optimal Control Center for Mathematical Sciences, M17 manfred.liebmann@tum.de January 11, 2016 Accelerator Programming

More information

Compiler Tools for HighLevel Parallel Languages

Compiler Tools for HighLevel Parallel Languages Compiler Tools for HighLevel Parallel Languages Paul Keir Codeplay Software Ltd. LEAP Conference May 21st 2013 Presentation Outline Introduction EU Framework 7 Project: LPGPU Offload C++ for PS3 Memory

More information

Computer Architecture

Computer Architecture Computer Architecture An Introduction Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab Department of Electrical Engineering Indian Institute of Technology Bombay http://www.ee.iitb.ac.in/~viren/

More information

Hybrid Implementation of 3D Kirchhoff Migration

Hybrid Implementation of 3D Kirchhoff Migration Hybrid Implementation of 3D Kirchhoff Migration Max Grossman, Mauricio Araya-Polo, Gladys Gonzalez GTC, San Jose March 19, 2013 Agenda 1. Motivation 2. The Problem at Hand 3. Solution Strategy 4. GPU Implementation

More information

PICS - a Performance-analysis-based Introspective Control System to Steer Parallel Applications

PICS - a Performance-analysis-based Introspective Control System to Steer Parallel Applications PICS - a Performance-analysis-based Introspective Control System to Steer Parallel Applications Yanhua Sun, Laxmikant V. Kalé University of Illinois at Urbana-Champaign sun51@illinois.edu November 26,

More information

In Workflow. Viewing: Last edit: 11/04/14 4:01 pm. Approval Path. Programs referencing this course. Submi er: Proposing College/School: Department:

In Workflow. Viewing: Last edit: 11/04/14 4:01 pm. Approval Path. Programs referencing this course. Submi er: Proposing College/School: Department: 1 of 5 1/6/2015 1:20 PM Date Submi ed: 11/04/14 4:01 pm Viewing: Last edit: 11/04/14 4:01 pm Changes proposed by: SIMSLUA In Workflow 1. INSY Editor 2. INSY Chair 3. EN Undergraduate Curriculum Commi ee

More information

GPUs and Emerging Architectures

GPUs and Emerging Architectures GPUs and Emerging Architectures Mike Giles mike.giles@maths.ox.ac.uk Mathematical Institute, Oxford University e-infrastructure South Consortium Oxford e-research Centre Emerging Architectures p. 1 CPUs

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

Teslights Hybrid Lighting Controls B-PLC Solution

Teslights Hybrid Lighting Controls B-PLC Solution Teslights Hybrid Lighting Controls B-PLC Solution Technical Manual, T0115 January 2015 Copyright Teslights, LLC 2014-2015 Contents Contact Informa on 2 Warning 2 Disclaimer 2 1. Overview 3 1.1 PLC Head

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

MapReduce, Apache Hadoop

MapReduce, Apache Hadoop B4M36DS2, BE4M36DS2: Database Systems 2 h p://www.ksi.mff.cuni.cz/~svoboda/courses/171-b4m36ds2/ Lecture 5 MapReduce, Apache Hadoop Mar n Svoboda mar n.svoboda@fel.cvut.cz 30. 10. 2017 Charles University

More information

CPU-GPU Heterogeneous Computing

CPU-GPU Heterogeneous Computing CPU-GPU Heterogeneous Computing Advanced Seminar "Computer Engineering Winter-Term 2015/16 Steffen Lammel 1 Content Introduction Motivation Characteristics of CPUs and GPUs Heterogeneous Computing Systems

More information

IGMP and MLD Op-miza-on for Mobile Hosts and Routers

IGMP and MLD Op-miza-on for Mobile Hosts and Routers 76 th IETF, Nov. 2009, Hiroshima, Japan IGMP and MLD Op-miza-on for Mobile Hosts and Routers dra< asaeda mul-mob igmp mld op-miza-on 01 Hitoshi Asaeda (Keio University) 1 Overview This dra< aims to describe

More information

Portable and Productive Performance with OpenACC Compilers and Tools. Luiz DeRose Sr. Principal Engineer Programming Environments Director Cray Inc.

Portable and Productive Performance with OpenACC Compilers and Tools. Luiz DeRose Sr. Principal Engineer Programming Environments Director Cray Inc. Portable and Productive Performance with OpenACC Compilers and Tools Luiz DeRose Sr. Principal Engineer Programming Environments Director Cray Inc. 1 Cray: Leadership in Computational Research Earth Sciences

More information