What does Fusion mean for HPC?
|
|
- Giles Horton
- 5 years ago
- Views:
Transcription
1 What does Fusion mean for HPC? Casey Battaglino Aparna Chandramowlishwaran Jee Choi Kent Czechowski Cong Hou Chris McClanahan Dave S. Noble, Jr. Richard (Rich) Vuduc AMD Fusion Developers Summit Bellevue, Washington June 14, 2011
2 Two scales
3 CONTEXT: MOBO ( MOVING BOUNDARIES ) Citation: A. Rahimian, I. Lashuk, A. Chandramowlishwaran, D. Malhotra, L. Moon, R. Sampath, A. Shringarpure, S. Veerapaneni, J. Vetter, R. Vuduc, D. Zorin, and G. Biros. Petascale direct numerical simulation of blood flow on 200k cores and heterogeneous architectures. In SC 10. Winner, Gordon Bell Prize.
4 CONTEXT: MOBO ( MOVING BOUNDARIES ) Citation: A. Rahimian, I. Lashuk, A. Chandramowlishwaran, D. Malhotra, L. Moon, R. Sampath, A. Shringarpure, S. Veerapaneni, J. Vetter, R. Vuduc, D. Zorin, and G. Biros. Petascale direct numerical simulation of blood flow on 200k cores and heterogeneous architectures. In SC 10. Winner, Gordon Bell Prize.
5 First principles: Balance Kung (1986); Callahan & Kennedy (1988); McCalpin (1995)
6 Which swim lane will win for (3D) FFTs at exascale? vs. Swim lane 1 Swim lane 2 + =? 3D FFT
7 Year=2020: n= Time (sec) Pflop/s 5.8 Pflop/s Communication Network CPU 1M sockets Peak = 3.98 EF/s Bisection = 273 TB/s GPU 131k sockets Peak = 3.98 EF/s Bisection = 70.2 TB/s
8 Two costs: Tnetwork + Tmemory
9 Two costs: Tnetwork + Tmemory
10 Two costs: Tnetwork + Tmemory
11 Two costs: Tnetwork + Tmemory Mem For a fixed problem size and fixed machine peak, faster s mean: fewer s smaller network and lower bisection bandwidth larger local-problem size Trend: Easier to scale network bandwidth than memory bandwidth More time communicating, both on the and in the network
12 Two costs: Tnetwork + Tmemory Mem For a fixed problem size and fixed machine peak, faster s mean: flop/s Let B memory bandwidth T mem O(B) T net O B (d 1)/d (d-dimensional torus)
13
14 Compute-intensive I/O-intensive
15 Compute-intensive I/O-intensive
16
17 Compute-intensive I/O-intensive
18 Desiderata, for hardware Balanced procs APUs provide reconfigurable balance High-bandwidth to APU GDDRx, stacked memory Integrated network I/O Shared cache or cache coherence within APU For software Unified address space Support for asynchronous parallel execution (task graphs) Less verbose programming models (next slide) Useful and interpretable counters
19 cl_mem d_a, d_b, d_c; clgpucontext = clcreatecontextfromtype(0, CL_DEVICE_TYPE_GPU, NULL, NULL, &errcode); shrcheckerror(errcode, CL_SUCCESS); errcode = clgetcontextinfo(clgpucontext, CL_CONTEXT_DEVICES, 0, NULL, &databytes); cl_device_id *cldevices = (cl_device_id *)malloc(databytes); errcode = clgetcontextinfo(clgpucontext, CL_CONTEXT_DEVICES, databytes, cldevices, NULL); shrcheckerror(errcode, CL_SUCCESS); clcommandque = clcreatecommandqueue(clgpucontext, cldevices [0], 0, &errcode); shrcheckerror(errcode, CL_SUCCESS); d_c = clcreatebuffer(clgpucontext, CL_MEM_READ_WRITE, mem_size_a, NULL, &errcode); d_a = clcreatebuffer(clgpucontext, CL_MEM_READ_WRITE CL_MEM_COPY_HOST_PTR, mem_size_a, h_a, &errcode); d_b = clcreatebuffer(clgpucontext, CL_MEM_READ_WRITE CL_MEM_COPY_HOST_PTR, mem_size_b, h_b, &errcode); char *clmatrixmul = oclloadprogsource("kernel.cl", "// My comment\n", &kernellength); shrcheckerror(clmatrixmul!= NULL, shrtrue); clprogram = clcreateprogramwithsource(clgpucontext, 1, (const char **)&clmatrixmul, &kernellength, &errcode); shrcheckerror(errcode, CL_SUCCESS); errcode = clbuildprogram(clprogram, 0, NULL, NULL, NULL, NULL); shrcheckerror(errcode, CL_SUCCESS); clkernel = clcreatekernel(clprogram, "matrixmul", &errcode); shrcheckerror(errcode, CL_SUCCESS); size_t localworksize[2], globalworksize[2]; int wa = WA; int wc = WC; errcode = clsetkernelarg(clkernel, 0, sizeof(cl_mem), (void *) &d_c); errcode = clsetkernelarg(clkernel, 1, sizeof(cl_mem), (void *)&d_a); errcode = clsetkernelarg(clkernel, 2, sizeof(cl_mem), (void *)&d_b); errcode = clsetkernelarg(clkernel, 3, sizeof(int), (void *) &wa); errcode = clsetkernelarg(clkernel, 4, sizeof(int), (void *) &wc); shrcheckerror(errcode, CL_SUCCESS); localworksize[0] = 16; localworksize[1] = 16; globalworksize[0] = 1024; globalworksize[1] = 1024; errcode = clenqueuendrangekernel(clcommandque, clkernel, 2, NULL, globalworksize, localworksize, 0, NULL, NULL); shrcheckerror(errcode, CL_SUCCESS); // 8. Retrieve result from device errcode = clenqueuereadbuffer(clcommandque, d_c, CL_TRUE, 0, mem_size_c, h_c, 0, NULL, NULL); shrcheckerror(errcode, CL_SUCCESS); // kernel void matrixmul( global float* C, global float* A, global float* B, int wa, int wb) { int bx = get_group_id(0); int by = get_group_id(1); int tx = get_local_id(0); int ty = get_local_id(1); int abegin = wa * BLOCK_SIZE * by; int aend = abegin + wa - 1; int astep = BLOCK_SIZE; int bbegin = BLOCK_SIZE * bx; int bstep = BLOCK_SIZE * wb; for (int a = abegin, b = bbegin; a <= aend; a += astep, b += bstep) { local float As[BLOCK_SIZE][BLOCK_SIZE]; local float Bs[BLOCK_SIZE][BLOCK_SIZE]; } } As[ty][tx] = A[a + wa * ty + tx]; Bs[ty][tx] = B[b + wb * ty + tx]; barrier(clk_local_mem_fence); for (int k = 0; k < BLOCK_SIZE; ++k) Csub += As[ty][k] * Bs[k][tx]; barrier(clk_local_mem_fence); int c = wb * BLOCK_SIZE * by + BLOCK_SIZE * bx; C[c + wb * ty + tx] = Csub;
GPU Computing with CUDA
GPU Computing with CUDA Hands-on: Shared Memory Use (Dot Product, Matrix Multiplication) Dan Melanz & Dan Negrut Simulation-Based Engineering Lab Wisconsin Applied Computing Center Department of Mechanical
More informationDevice Memories and Matrix Multiplication
Device Memories and Matrix Multiplication 1 Device Memories global, constant, and shared memories CUDA variable type qualifiers 2 Matrix Multiplication an application of tiling runningmatrixmul in the
More informationTo Co-Run, or Not To Co-Run: A Performance Study on Integrated Architectures
To Co-Run, or Not To Co-Run: A Performance Study on Integrated Architectures Feng Zhang, Jidong Zhai, Wenguang Chen Tsinghua University, Beijing, 100084, China Bingsheng He and Shuhao Zhang Nanyang Technological
More informationPerforming Reductions in OpenCL
Performing Reductions in OpenCL Mike Bailey mjb@cs.oregonstate.edu opencl.reduction.pptx Recall the OpenCL Model Kernel Global Constant Local Local Local Local Work- ItemWork- ItemWork- Item Here s the
More informationIntroduction to GPGPU and GPU-architectures
Introduction to GPGPU and GPU-architectures Henk Corporaal Gert-Jan van den Braak http://www.es.ele.tue.nl/ Contents 1. What is a GPU 2. Programming a GPU 3. GPU thread scheduling 4. GPU performance bottlenecks
More informationGPU programming: CUDA. Sylvain Collange Inria Rennes Bretagne Atlantique
GPU programming: CUDA Sylvain Collange Inria Rennes Bretagne Atlantique sylvain.collange@inria.fr This lecture: CUDA programming We have seen some GPU architecture Now how to program it? 2 Outline GPU
More informationHow to use OpenMP within TiViPE
TiViPE Visual Programming How to use OpenMP within TiViPE Technical Report: Version 1.0.0 Copyright c TiViPE 2011. All rights reserved. Tino Lourens TiViPE Kanaaldijk ZW 11 5706 LD Helmond The Netherlands
More informationGPU Computing Master Clss. Development Tools
GPU Computing Master Clss Development Tools Generic CUDA debugger goals Support all standard debuggers across all OS Linux GDB, TotalView and DDD Windows Visual studio Mac - XCode Support CUDA runtime
More informationPPAR: CUDA basics. Sylvain Collange Inria Rennes Bretagne Atlantique PPAR
PPAR: CUDA basics Sylvain Collange Inria Rennes Bretagne Atlantique sylvain.collange@inria.fr http://www.irisa.fr/alf/collange/ PPAR - 2018 This lecture: CUDA programming We have seen some GPU architecture
More informationCS/EE 217 GPU Architecture and Parallel Programming. Lecture 22: Introduction to OpenCL
CS/EE 217 GPU Architecture and Parallel Programming Lecture 22: Introduction to OpenCL Objective To Understand the OpenCL programming model basic concepts and data types OpenCL application programming
More informationLecture 7: Caffe: GPU Optimization. boris.
Lecture 7: Caffe: GPU Optimization boris. ginzburg@intel.com 1 Agenda 1. Practical intro to CUDA Programming model Memory model Exercises 2. Caffe: CUDA part SynchedMemory Forward_gpu( ); 3. Projects 2
More informationCS : Many-core Computing with CUDA
CS4402-9535: Many-core Computing with CUDA Marc Moreno Maza University of Western Ontario, London, Ontario (Canada) UWO-CS4402-CS9535 (Moreno Maza) CS4402-9535: Many-core Computing with CUDA UWO-CS4402-CS9535
More informationHeterogeneous Computing
OpenCL Hwansoo Han Heterogeneous Computing Multiple, but heterogeneous multicores Use all available computing resources in system [AMD APU (Fusion)] Single core CPU, multicore CPU GPUs, DSPs Parallel programming
More informationGPU programming: Code optimization part 1. Sylvain Collange Inria Rennes Bretagne Atlantique
GPU programming: Code optimization part 1 Sylvain Collange Inria Rennes Bretagne Atlantique sylvain.collange@inria.fr Outline Host-side task and memory management Recap: the GPU memory hierarchy Asynchronism
More informationOn the limits of (and opportunities for?) GPU acceleration
On the limits of (and opportunities for?) GPU acceleration Aparna Chandramowlishwaran, Jee Choi, Kenneth Czechowski, Murat (Efe) Guney, Logan Moon, Aashay Shringarpure, Richard (Rich) Vuduc HotPar 10,
More informationOpenCL on the GPU. San Jose, CA September 30, Neil Trevett and Cyril Zeller, NVIDIA
OpenCL on the GPU San Jose, CA September 30, 2009 Neil Trevett and Cyril Zeller, NVIDIA Welcome to the OpenCL Tutorial! Khronos and industry perspective on OpenCL Neil Trevett Khronos Group President OpenCL
More informationNeil Trevett Vice President, NVIDIA OpenCL Chair Khronos President. Copyright Khronos Group, Page 1
Neil Trevett Vice President, NVIDIA OpenCL Chair Khronos President Copyright Khronos Group, 2009 - Page 1 Introduction and aims of OpenCL - Neil Trevett, NVIDIA OpenCL Specification walkthrough - Mike
More informationWhat GPU Computing Means for High-End Systems
Prolegomena... What GPU Computing Means for High-End Systems RICHARD VUDUC AND KENT CZECHOWSKI Georgia Institute of Technology...Between 2018 and 2020, the first exascale supercomputers will come online.
More informationIntroduction to Parallel Programming & Cluster Computing GPGPU: Number Crunching in Your Graphics Card
Introduction to Parallel Programming & Cluster Computing GPGPU: Number Crunching in Your Graphics Card Josh Alexander, University of Oklahoma Ivan Babic, Earlham College Andrew Fitz Gibbon, Shodor Education
More informationGPU Computing with CUDA
GPU Computing with CUDA Dan Negrut Simulation-Based Engineering Lab Wisconsin Applied Computing Center Department of Mechanical Engineering University of Wisconsin-Madison Dan Negrut, 2012 UW-Madison Milano
More informationOpenCL The Open Standard for Heterogeneous Parallel Programming
OpenCL The Open Standard for Heterogeneous Parallel Programming March 2009 Copyright Khronos Group, 2009 - Page 1 Close-to-the-Silicon Standards Khronos creates Foundation-Level acceleration APIs - Needed
More informationME964 High Performance Computing for Engineering Applications
ME964 High Performance Computing for Engineering Applications Memory Layout in CUDA Execution Scheduling in CUDA February 15, 2011 Dan Negrut, 2011 ME964 UW-Madison They have computers, and they may have
More informationOpenCL. Dr. David Brayford, LRZ, PRACE PATC: Intel MIC & GPU Programming Workshop
OpenCL Dr. David Brayford, LRZ, brayford@lrz.de PRACE PATC: Intel MIC & GPU Programming Workshop 1 Open Computing Language Open, royalty-free standard C-language extension For cross-platform, parallel
More informationIntroduction OpenCL Code Exercices. OpenCL. Tópicos em Arquiteturas Paralelas. Peter Frank Perroni. November 25, 2015
Code Tópicos em Arquiteturas Paralelas November 25, 2015 The Device Code GPU Device Memory Access Thread Management Private Private Thread1 Thread M Streaming Processor 0... Private Private Thread1 Thread
More informationMulticore Processors and GPUs: Programming Models and Compiler Optimizations
Multicore Processors and GPUs: Programming Models and Compiler Optimizations J. Ram Ramanujam P. Saday Sadayappan http://www.ece.lsu.edu/jxr/pact12tut/ 1 Tutorial Outline Technology Trends => Multi-core
More informationTuning Algorithms and Data
Tuning Algorithms and Data Rich Vuduc Students: Aparna Chandramowlishwaran, Jee Choi, Cong Hou, Aashay Shringarpure, Sundaresan Venkatasubramanian (Amazon) hpcgarage.org 1 Tuning the Data Structure: Model
More informationCS 677: Parallel Programming for Many-core Processors Lecture 12
1 CS 677: Parallel Programming for Many-core Processors Lecture 12 Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu CS Department Project Poster
More informationProgramming with CUDA and OpenCL. Dana Schaa and Byunghyun Jang Northeastern University
Programming with CUDA and OpenCL Dana Schaa and Byunghyun Jang Northeastern University Tutorial Overview CUDA - Architecture and programming model - Strengths and limitations of the GPU - Example applications
More informationCopyright 2013 by Yong Cao, Referencing UIUC ECE408/498AL Course Notes. OpenCL. OpenCL
OpenCL OpenCL What is OpenCL? Ø Cross-platform parallel computing API and C-like language for heterogeneous computing devices Ø Code is portable across various target devices: Ø Correctness is guaranteed
More informationNeil Trevett Vice President, NVIDIA OpenCL Chair Khronos President
4 th Annual Neil Trevett Vice President, NVIDIA OpenCL Chair Khronos President Copyright Khronos Group, 2009 - Page 1 CPUs Multiple cores driving performance increases Emerging Intersection GPUs Increasingly
More informationOpenCL. Computation on HybriLIT Brief introduction and getting started
OpenCL Computation on HybriLIT Brief introduction and getting started Alexander Ayriyan Laboratory of Information Technologies Joint Institute for Nuclear Research 05.09.2014 (Friday) Tutorial in frame
More informationOpenCL. An Introduction for HPC programmers. Benedict Gaster, AMD Tim Mattson, Intel. - Page 1
OpenCL An Introduction for HPC programmers Benedict Gaster, AMD Tim Mattson, Intel - Page 1 Preliminaries: Disclosures - The views expressed in this tutorial are those of the people delivering the tutorial.
More informationGPU Acceleration of CFD Codes and Optimizing for GPU Memory Hierarchies
GPU Acceleration of CFD Codes and Optimizing for GPU Memory Hierarchies Dr. Frank Mueller Nishanth Balasubramanian North Carolina State University Infrastructure: ARC cluster at NCSU l Hardware 2x AMD
More informationUsing OpenMP to Program. Systems
Using OpenMP to Program Embedded Heterogeneous Systems Eric Stotzer, PhD Senior Member Technical Staff Software Development Organization, Compiler Team Texas Instruments February 16, 2012 Presented at
More informationGPGPU A Supercomputer on Your Desktop
GPGPU A Supercomputer on Your Desktop GPUs 2 Graphics Processing Units (GPUs) were originally designed to accelerate graphics tasks like image rendering. They became very very popular with videogamers,
More informationGPU Computing with CUDA
GPU Computing with CUDA Dan Negrut Andrew Seidl Daniel Melanz Simulation-Based Engineering Lab Department of Mechanical Engineering University of Wisconsin-Madison Dan Negrut, 2012 UW-Madison Bucuresti
More informationCS 677: Parallel Programming for Many-core Processors Lecture 11
1 CS 677: Parallel Programming for Many-core Processors Lecture 11 Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Project Status Update Due
More informationGPGPU COMPUTE ON AMD. Udeepta Bordoloi April 6, 2011
GPGPU COMPUTE ON AMD Udeepta Bordoloi April 6, 2011 WHY USE GPU COMPUTE CPU: scalar processing + Latency + Optimized for sequential and branching algorithms + Runs existing applications very well - Throughput
More informationParallel programming languages:
Parallel programming languages: A new renaissance or a return to the dark ages? Simon McIntosh-Smith University of Bristol Microelectronics Research Group simonm@cs.bris.ac.uk 1 The Microelectronics Group
More informationMartin Kruliš, v
Martin Kruliš 1 GPGPU History Current GPU Architecture OpenCL Framework Example Optimizing Previous Example Alternative Architectures 2 1996: 3Dfx Voodoo 1 First graphical (3D) accelerator for desktop
More informationOpenCL in Action. Ofer Rosenberg
pencl in Action fer Rosenberg Working with pencl API pencl Boot Platform Devices Context Queue Platform Query int GetPlatform (cl_platform_id &platform, char* requestedplatformname) { cl_uint numplatforms;
More informationIntroduction to OpenCL. Benedict R. Gaster October, 2010
Introduction to OpenCL Benedict R. Gaster October, 2010 OpenCL With OpenCL you can Leverage CPUs and GPUs to accelerate parallel computation Get dramatic speedups for computationally intensive applications
More informationPorting Performance across GPUs and FPGAs
Porting Performance across GPUs and FPGAs Deming Chen, ECE, University of Illinois In collaboration with Alex Papakonstantinou 1, Karthik Gururaj 2, John Stratton 1, Jason Cong 2, Wen-Mei Hwu 1 1: ECE
More informationCUDA GPGPU Workshop CUDA/GPGPU Arch&Prog
CUDA GPGPU Workshop 2012 CUDA/GPGPU Arch&Prog Yip Wichita State University 7/11/2012 GPU-Hardware perspective GPU as PCI device Original PCI PCIe Inside GPU architecture GPU as PCI device Traditional PC
More informationTowards Transparent and Efficient GPU Communication on InfiniBand Clusters. Sadaf Alam Jeffrey Poznanovic Kristopher Howard Hussein Nasser El-Harake
Towards Transparent and Efficient GPU Communication on InfiniBand Clusters Sadaf Alam Jeffrey Poznanovic Kristopher Howard Hussein Nasser El-Harake MPI and I/O from GPU vs. CPU Traditional CPU point-of-view
More informationGPU programming made easier
GPU programming made easier Jacob Jepsen 6. June 2014 University of Copenhagen Department of Computer Science 6. June 2014 Introduction We created a tool that reduces the development time of GPU code.
More informationComputer Graphics Presenting The Visual Future
Computer Graphics Presenting The Visual Future Boris Ajdin Max Planck Institut für Informatik Introduction What is computer graphics? Standard view of the field Sci-Fi like applications Multi-disciplinary
More informationIntroduction to Parallel & Distributed Computing OpenCL: memory & threads
Introduction to Parallel & Distributed Computing OpenCL: memory & threads Lecture 12, Spring 2014 Instructor: 罗国杰 gluo@pku.edu.cn In this Lecture Example: image rotation GPU threads and scheduling Understanding
More informationData Parallelism. CSCI 5828: Foundations of Software Engineering Lecture 28 12/01/2016
Data Parallelism CSCI 5828: Foundations of Software Engineering Lecture 28 12/01/2016 1 Goals Cover the material in Chapter 7 of Seven Concurrency Models in Seven Weeks by Paul Butcher Data Parallelism
More informationIntroduction à OpenCL
1 1 UDS/IRMA Journée GPU Strasbourg, février 2010 Sommaire 1 OpenCL 2 3 GPU architecture A modern Graphics Processing Unit (GPU) is made of: Global memory (typically 1 Gb) Compute units (typically 27)
More informationOptimization Techniques for Parallel Code: 4: GPU code optimization
Optimization Techniques for Parallel Code: 4: GPU code optimization Sylvain Collange Inria Rennes Bretagne Atlantique http://www.irisa.fr/alf/collange/ sylvain.collange@inria.fr OPT 2017 Outline Host-side
More informationGPU COMPUTING RESEARCH WITH OPENCL
GPU COMPUTING RESEARCH WITH OPENCL Studying Future Workloads and Devices Perhaad Mistry, Dana Schaa, Enqiang Sun, Rafael Ubal, Yash Ukidave, David Kaeli Dept of Electrical and Computer Engineering Northeastern
More informationGPU programming: Code optimization. Sylvain Collange Inria Rennes Bretagne Atlantique
GPU programming: Code optimization Sylvain Collange Inria Rennes Bretagne Atlantique sylvain.collange@inria.fr Outline Host-side task and memory management Asynchronism and streams Compute capabilities
More informationMartin Kruliš, v
Martin Kruliš 1 GPGPU History Current GPU Architecture OpenCL Framework Example (and its Optimization) Alternative Frameworks Most Recent Innovations 2 1996: 3Dfx Voodoo 1 First graphical (3D) accelerator
More informationGPU acceleration on IB clusters. Sadaf Alam Jeffrey Poznanovic Kristopher Howard Hussein Nasser El-Harake
GPU acceleration on IB clusters Sadaf Alam Jeffrey Poznanovic Kristopher Howard Hussein Nasser El-Harake HPC Advisory Council European Workshop 2011 Why it matters? (Single node GPU acceleration) Control
More informationDesign and implementation of a highperformance. platform on multigenerational GPUs.
Design and implementation of a highperformance stream-based computing platform on multigenerational GPUs. By Pablo Lamilla Álvarez September 27, 2010 Supervised by: Professor Shinichi Yamagiwa Kochi University
More informationOpenCL and the quest for portable performance. Tim Mattson Intel Labs
OpenCL and the quest for portable performance Tim Mattson Intel Labs Disclaimer The views expressed in this talk are those of the speaker and not his employer. I am in a research group and know very little
More informationLecture 15: Introduction to GPU programming. Lecture 15: Introduction to GPU programming p. 1
Lecture 15: Introduction to GPU programming Lecture 15: Introduction to GPU programming p. 1 Overview Hardware features of GPGPU Principles of GPU programming A good reference: David B. Kirk and Wen-mei
More informationAMath 483/583, Lecture 24, May 20, Notes: Notes: What s a GPU? Notes: Some GPU application areas
AMath 483/583 Lecture 24 May 20, 2011 Today: The Graphical Processing Unit (GPU) GPU Programming Today s lecture developed and presented by Grady Lemoine References: Andreas Kloeckner s High Performance
More informationThe resurgence of parallel programming languages
The resurgence of parallel programming languages Jamie Hanlon & Simon McIntosh-Smith University of Bristol Microelectronics Research Group hanlon@cs.bris.ac.uk 1 The Microelectronics Research Group at
More informationINTRODUCTION TO OPENCL. Jason B. Smith, Hood College May
INTRODUCTION TO OPENCL Jason B. Smith, Hood College May 4 2011 WHAT IS IT? Use heterogeneous computing platforms Specifically for computationally intensive apps Provide a means for portable parallelism
More informationCSCI 402: Computer Architectures. Parallel Processors (2) Fengguang Song Department of Computer & Information Science IUPUI.
CSCI 402: Computer Architectures Parallel Processors (2) Fengguang Song Department of Computer & Information Science IUPUI 6.6 - End Today s Contents GPU Cluster and its network topology The Roofline performance
More informationLARGE-SCALE FREE-SURFACE FLOW SIMULATION USING LATTICE BOLTZMANN METHOD ON MULTI-GPU CLUSTERS
ECCOMAS Congress 2016 VII European Congress on Computational Methods in Applied Sciences and Engineering M. Papadrakakis, V. Papadopoulos, G. Stefanou, V. Plevris (eds.) Crete Island, Greece, 5 10 June
More informationEnabling GPU support for the COMPSs-Mobile framework
Enabling GPU support for the COMPSs-Mobile framework Francesc Lordan, Rosa M Badia and Wen-Mei Hwu Nov 13, 2017 4th Workshop on Accelerator Programming Using Directives COMPSs-Mobile infrastructure WAN
More informationGPGPU IGAD 2014/2015. Lecture 1. Jacco Bikker
GPGPU IGAD 2014/2015 Lecture 1 Jacco Bikker Today: Course introduction GPGPU background Getting started Assignment Introduction GPU History History 3DO-FZ1 console 1991 History NVidia NV-1 (Diamond Edge
More informationTitan - Early Experience with the Titan System at Oak Ridge National Laboratory
Office of Science Titan - Early Experience with the Titan System at Oak Ridge National Laboratory Buddy Bland Project Director Oak Ridge Leadership Computing Facility November 13, 2012 ORNL s Titan Hybrid
More informationECE 574 Cluster Computing Lecture 17
ECE 574 Cluster Computing Lecture 17 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 6 April 2017 HW#8 will be posted Announcements HW#7 Power outage Pi Cluster Runaway jobs (tried
More informationTools for Multi-Cores and Multi-Targets
Tools for Multi-Cores and Multi-Targets Sebastian Pop Advanced Micro Devices, Austin, Texas The Linux Foundation Collaboration Summit April 7, 2011 1 / 22 Sebastian Pop Tools for Multi-Cores and Multi-Targets
More informationBifrost - The GPU architecture for next five billion
Bifrost - The GPU architecture for next five billion Hessed Choi Senior FAE / ARM ARM Tech Forum June 28 th, 2016 Vulkan 2 ARM 2016 What is Vulkan? A 3D graphics API for the next twenty years Logical successor
More informationOpenCL Events. Mike Bailey. Oregon State University. OpenCL Events
1 OpenCL Events Mike Bailey mjb@cs.oregonstate.edu opencl.events.pptx OpenCL Events 2 An event is an object that communicates the status of OpenCL commands Event Read Buffer dc Execute Kernel Write Buffer
More informationAdvanced Computing for Engineering Applications
Advanced Computing for Engineering Applications Dan Negrut Simulation-Based Engineering Lab Wisconsin Applied Computing Center Department of Mechanical Engineering Department of Electrical and Computer
More informationScaling Fast Multipole Methods up to 4000 GPUs
Scaling Fast Multipole Methods up to 4000 GPUs Rio Yokota King Abdullah University of Science and Technology 4700 KAUST, Thuwal 23955-6900, Saudi Arabia +966-2-808-0321 rio.yokota@kaust.edu.sa Lorena Barba
More informationOpenCL / OpenGL Texture Interoperability: An Image Blurring Case Study
1 OpenCL / OpenGL Texture Interoperability: An Image Blurring Case Study Mike Bailey mjb@cs.oregonstate.edu opencl.opengl.rendertexture.pptx OpenCL / OpenGL Texture Interoperability: The Basic Idea 2 Application
More informationMassively Parallel Algorithms
Massively Parallel Algorithms Introduction to CUDA & Many Fundamental Concepts of Parallel Programming G. Zachmann University of Bremen, Germany cgvr.cs.uni-bremen.de Hybrid/Heterogeneous Computation/Architecture
More informationIntroduction of Fujitsu s next-generation supercomputer
Introduction of Fujitsu s next-generation supercomputer MATSUMOTO Takayuki July 16, 2014 HPC Platform Solutions Fujitsu has a long history of supercomputing over 30 years Technologies and experience of
More informationGenerating 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 informationOpenCL Events. Mike Bailey. Computer Graphics opencl.events.pptx
1 OpenCL Events This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License Mike Bailey mjb@cs.oregonstate.edu opencl.events.pptx OpenCL Events 2 An
More informationThe Rise of Open Programming Frameworks. JC BARATAULT IWOCL May 2015
The Rise of Open Programming Frameworks JC BARATAULT IWOCL May 2015 1,000+ OpenCL projects SourceForge GitHub Google Code BitBucket 2 TUM.3D Virtual Wind Tunnel 10K C++ lines of code, 30 GPU kernels CUDA
More informationCUDA. Schedule API. Language extensions. nvcc. Function type qualifiers (1) CUDA compiler to handle the standard C extensions.
Schedule CUDA Digging further into the programming manual Application Programming Interface (API) text only part, sorry Image utilities (simple CUDA examples) Performace considerations Matrix multiplication
More informationOpenCL Training Course
OpenCL Training Course Intermediate Level Class http://www.ksc.re.kr http://webedu.ksc.re.kr INDEX 1. Class introduction 2. Multi-platform and multi-device 3. OpenCL APIs in detail 4. OpenCL C language
More informationOPENCL C++ Lee Howes AMD Senior Member of Technical Staff, Stream Computing
OPENCL C++ Lee Howes AMD Senior Member of Technical Staff, Stream Computing Benedict Gaster AMD Principle Member of Technical Staff, AMD Research (now at Qualcomm) OPENCL TODAY WHAT WORKS, WHAT DOESN T
More informationEfficient Data Transfers
Efficient Data fers Slide credit: Slides adapted from David Kirk/NVIDIA and Wen-mei W. Hwu, 2007-2016 PCIE Review Typical Structure of a CUDA Program Global variables declaration Function prototypes global
More informationGPGPU Training. Personal Super Computing Competence Centre PSC 3. Jan G. Cornelis. Personal Super Computing Competence Center
GPGPU Training Personal Super Computing Competence Centre PSC 3 Jan G. Cornelis 1 Levels of Understanding Level 0 Host and device Level 1 Parallel execution on the device Level 2 Device model and work
More informationIntroduction to OpenCL (utilisation des transparents de Cliff Woolley, NVIDIA) intégré depuis à l initiative Kite
Introduction to OpenCL (utilisation des transparents de Cliff Woolley, NVIDIA) intégré depuis à l initiative Kite riveill@unice.fr http://www.i3s.unice.fr/~riveill What is OpenCL good for Anything that
More informationHigh Performance Computing and Data Mining
High Performance Computing and Data Mining Performance Issues in Data Mining Peter Christen Peter.Christen@anu.edu.au Data Mining Group Department of Computer Science, FEIT Australian National University,
More informationGPGPU IGAD 2014/2015. Lecture 4. Jacco Bikker
GPGPU IGAD 2014/2015 Lecture 4 Jacco Bikker Today: Demo time! Parallel scan Parallel sort Assignment Demo Time Parallel scan What it is: in: 1 1 6 2 7 3 2 out: 0 1 2 8 10 17 20 C++: out[0] = 0 for ( i
More informationMany-core Processors Lecture 11. Instructor: Philippos Mordohai Webpage:
1 CS 677: Parallel Programming for Many-core Processors Lecture 11 Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Outline More CUDA Libraries
More informationFast-multipole algorithms moving to Exascale
Numerical Algorithms for Extreme Computing Architectures Software Institute for Methodologies and Abstractions for Codes SIMAC 3 Fast-multipole algorithms moving to Exascale Lorena A. Barba The George
More informationExploring Emerging Technologies in the Extreme Scale HPC Co- Design Space with Aspen
Exploring Emerging Technologies in the Extreme Scale HPC Co- Design Space with Aspen Jeffrey S. Vetter SPPEXA Symposium Munich 26 Jan 2016 ORNL is managed by UT-Battelle for the US Department of Energy
More informationAcceleration of HPC applications on hybrid CPU-GPU systems: When can Multi-Process Service (MPS) help?
Acceleration of HPC applications on hybrid CPU- systems: When can Multi-Process Service (MPS) help? GTC 2018 March 28, 2018 Olga Pearce (Lawrence Livermore National Laboratory) http://people.llnl.gov/olga
More informationOpenCL parallel Processing using General Purpose Graphical Processing units TiViPE software development
TiViPE Visual Programming OpenCL parallel Processing using General Purpose Graphical Processing units TiViPE software development Technical Report Copyright c TiViPE 2012. All rights reserved. Tino Lourens
More informationHeterogeneous Computing
Heterogeneous Computing Featured Speaker Ben Sander Senior Fellow Advanced Micro Devices (AMD) DR. DOBB S: GPU AND CPU PROGRAMMING WITH HETEROGENEOUS SYSTEM ARCHITECTURE Ben Sander AMD Senior Fellow APU:
More informationMasterpraktikum Scientific Computing
Masterpraktikum Scientific Computing High-Performance Computing Michael Bader Alexander Heinecke Technische Universität München, Germany Outline Intel Cilk Plus OpenCL Übung, October 7, 2012 2 Intel Cilk
More informationInstructions for setting up OpenCL Lab
Instructions for setting up OpenCL Lab This document describes the procedure to setup OpenCL Lab for Linux and Windows machine. Specifically if you have limited no. of graphics cards and a no. of users
More informationTiled Matrix Multiplication
Tiled Matrix Multiplication Basic Matrix Multiplication Kernel global void MatrixMulKernel(int m, m, int n, n, int k, k, float* A, A, float* B, B, float* C) C) { int Row = blockidx.y*blockdim.y+threadidx.y;
More informationINTRODUCTION TO OPENCL TM A Beginner s Tutorial. Udeepta Bordoloi AMD
INTRODUCTION TO OPENCL TM A Beginner s Tutorial Udeepta Bordoloi AMD IT S A HETEROGENEOUS WORLD Heterogeneous computing The new normal CPU Many CPU s 2, 4, 8, Very many GPU processing elements 100 s Different
More informationProgramming with
Programming with OmpSs@CUDA/OpenCL Xavier Martorell, Rosa M. Badia Computer Sciences Research Dept. BSC PATC Parallel Programming Workshop July 1-2, 2015 Agenda Motivation Leveraging OpenCL and CUDA Examples
More informationHPC 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 informationDense Linear Algebra. HPC - Algorithms and Applications
Dense Linear Algebra HPC - Algorithms and Applications Alexander Pöppl Technical University of Munich Chair of Scientific Computing November 6 th 2017 Last Tutorial CUDA Architecture thread hierarchy:
More informationCPU-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