GPU for Scientific Computing. -Ali Saleh

Similar documents
Introduction to GPU Programming Languages

HPC Wales Skills Academy Course Catalogue 2015

Part I Courses Syllabus

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff

Interactive Level-Set Deformation On the GPU

GPU File System Encryption Kartik Kulkarni and Eugene Linkov

Parallel Computing: Strategies and Implications. Dori Exterman CTO IncrediBuild.

L20: GPU Architecture and Models

Intelligent Heuristic Construction with Active Learning

E6895 Advanced Big Data Analytics Lecture 14:! NVIDIA GPU Examples and GPU on ios devices

Introduction to GP-GPUs. Advanced Computer Architectures, Cristina Silvano, Politecnico di Milano 1

The Future Of Animation Is Games

GPU Hardware and Programming Models. Jeremy Appleyard, September 2015

Clustering Billions of Data Points Using GPUs

Introduction to GPU Computing

Intel DPDK Boosts Server Appliance Performance White Paper

GPGPU for Real-Time Data Analytics: Introduction. Nanyang Technological University, Singapore 2

Next Generation GPU Architecture Code-named Fermi

Introducing PgOpenCL A New PostgreSQL Procedural Language Unlocking the Power of the GPU! By Tim Child

Graphical Processing Units to Accelerate Orthorectification, Atmospheric Correction and Transformations for Big Data

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA

GPGPU accelerated Computational Fluid Dynamics

GPU Computing with CUDA Lecture 2 - CUDA Memories. Christopher Cooper Boston University August, 2011 UTFSM, Valparaíso, Chile

Retargeting PLAPACK to Clusters with Hardware Accelerators

Parallel Programming Survey

Real-Time Realistic Rendering. Michael Doggett Docent Department of Computer Science Lund university

Optimizing GPU-based application performance for the HP for the HP ProLiant SL390s G7 server

Evaluation of CUDA Fortran for the CFD code Strukti

Social Media Mining. Data Mining Essentials

Programming models for heterogeneous computing. Manuel Ujaldón Nvidia CUDA Fellow and A/Prof. Computer Architecture Department University of Malaga

Medical Image Processing on the GPU. Past, Present and Future. Anders Eklund, PhD Virginia Tech Carilion Research Institute

NVIDIA Tools For Profiling And Monitoring. David Goodwin

GPU Architectures. A CPU Perspective. Data Parallelism: What is it, and how to exploit it? Workload characteristics

A survey on platforms for big data analytics

ST810 Advanced Computing

Petascale Visualization: Approaches and Initial Results

HPC with Multicore and GPUs

Parallel Firewalls on General-Purpose Graphics Processing Units

A general-purpose virtualization service for HPC on cloud computing: an application to GPUs

Computer Graphics Hardware An Overview

Graphical Processing Units to Accelerate Orthorectification, Atmospheric Correction and Transformations for Big Data

Map-Reduce for Machine Learning on Multicore

RevoScaleR Speed and Scalability

The GPU Accelerated Data Center. Marc Hamilton, August 27, 2015

Optimizing Application Performance with CUDA Profiling Tools

Introduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software

Parallel Simplification of Large Meshes on PC Clusters

Parallel Computing for Data Science

GPU Architecture. Michael Doggett ATI

How to choose a suitable computer

QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Technical Specifications

Machine Learning using MapReduce

ANDROID DEVELOPER TOOLS TRAINING GTC Sébastien Dominé, NVIDIA

Implementation of Stereo Matching Using High Level Compiler for Parallel Computing Acceleration

Introduction to GPU hardware and to CUDA

Optimizing a 3D-FWT code in a cluster of CPUs+GPUs

GPUs for Scientific Computing

ultra fast SOM using CUDA

GPU System Architecture. Alan Gray EPCC The University of Edinburgh

Accelerating BIRCH for Clustering Large Scale Streaming Data Using CUDA Dynamic Parallelism

GPGPU Computing. Yong Cao

Interactive Level-Set Segmentation on the GPU

Lecture 3: Modern GPUs A Hardware Perspective Mohamed Zahran (aka Z) mzahran@cs.nyu.edu

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith

Home Exam 3: Distributed Video Encoding using Dolphin PCI Express Networks. October 20 th 2015

RWTH GPU Cluster. Sandra Wienke November Rechen- und Kommunikationszentrum (RZ) Fotos: Christian Iwainsky

QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Overview. NVIDIA Quadro K5200 8GB Graphics J3G90AA

High Performance Spatial Queries and Analytics for Spatial Big Data. Fusheng Wang. Department of Biomedical Informatics Emory University

Data Centric Systems (DCS)

Chapter 7: Distributed Systems: Warehouse-Scale Computing. Fall 2011 Jussi Kangasharju

Accelerating CFD using OpenFOAM with GPUs

Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging

OpenCL Optimization. San Jose 10/2/2009 Peng Wang, NVIDIA

Texture Cache Approximation on GPUs

GPGPU acceleration in OpenFOAM

Guided Performance Analysis with the NVIDIA Visual Profiler

Overview. Lecture 1: an introduction to CUDA. Hardware view. Hardware view. hardware view software view CUDA programming

NVIDIA CUDA Software and GPU Parallel Computing Architecture. David B. Kirk, Chief Scientist

Introduction to GPU Architecture

Accelerating Hadoop MapReduce Using an In-Memory Data Grid

Performance Evaluations of Graph Database using CUDA and OpenMP Compatible Libraries

Amazon EC2 Product Details Page 1 of 5

HIGH PERFORMANCE BIG DATA ANALYTICS

Intrusion Detection Architecture Utilizing Graphics Processors

HP Workstations graphics card options

Image Analytics on Big Data In Motion Implementation of Image Analytics CCL in Apache Kafka and Storm

GPU Parallel Computing Architecture and CUDA Programming Model

Dell* In-Memory Appliance for Cloudera* Enterprise

LBM BASED FLOW SIMULATION USING GPU COMPUTING PROCESSOR

Radeon GPU Architecture and the Radeon 4800 series. Michael Doggett Graphics Architecture Group June 27, 2008

A REVIEW PAPER ON THE HADOOP DISTRIBUTED FILE SYSTEM

DSS. Diskpool and cloud storage benchmarks used in IT-DSS. Data & Storage Services. Geoffray ADDE

Transcription:

1 GPU for Scientific Computing -Ali Saleh

Contents Introduction What is GPU GPU for Scientific Computing K-Means Clustering K-nearest Neighbours When to use GPU and when not Commercial Programming GPU Platforms References 2 Contents

Introduction What is GPU 3 Graphics Processing Units Several Small Cores Optimized for memory intensive workload, Geometric Calculations, and fast rendering High support for parallelization Perfect as Stream Processor

K-Means Clustering 4 Heuristics solution to the NP-Hard clustering problem The common method work as following: Create an initial seed clusters Iteratively assign each element to a cluster that minimizes your selected criteria (cluster mean for K-means) Repeat till convergence reached (no new assignment or No of iteration reached) GPU for Scientific Computing

K-Means Clustering GPU for Scientific Computing

K-Means Clustering 6 Metric calculation per point is independent. A GPU Implementation involves Copy the whole data for processing once (it never changes) Iterate over points in parallel and calculate the clustering metric per point Copy the data back to the main memory and use CPU to create the new clusters Copy the clusters info back to the GPU memory Repeat till convergence GPU for Scientific Computing

K-Means Clustering 7 GPU for Scientific Computing

K-Nearest Neighbours 8 k closest training examples in the feature space Majority vote for classification, values average of regression Distance measurement can be Euclidean distance GPU for Scientific Computing

K-Nearest Neighbours Generate probability image by pixel classification of new mammograms Training feature space 200M data point 4 minutes per image Clustering the Training feature space reduced it to 50M 1.65 minute per image GPU implementation for KNN along with NVIDIA Quadro FX 1700M with 32 GPU Cores On Average 12 Seconds only per image 9 GPU for Scientific Computing

When to use GPU and when not 10 Researchers tend to optimize their GPU implementation much more than a CPU one Cache bandwidth for a CPU is much better than for a GPU This may lead to un-utilized GPU waiting for reusable data to be fetched from memory A multipass algorithms will need accumulating results which is not easy in GPU right now. Better at calculation intensive tasks When to use GPU and when not

Commercial GPU Programming Platforms CUDA OpenCL 11 Only NVIDIA hardware The ultimate standard Comes as one development package from NVIDIA Wider range of processor architectures support Better Math library built-in Supplied by multiple vendors Better Marketing strategy Harder to debug NVIDIA hardware is more expensive Multiple higher language wrapper available Multiple higher language wrapper available Better developer support by NVIDIA Commercial GPU Platforms

References {Data Visualization and Mining using the GPU} Sudipto Guha, Shankar Krishnan,Suresh Venkatasubramanian Debunking the 100X GPU vs. CPU Myth: An Evaluation of Throughput Computing on CPU and GPU : Victor W Lee et al GPU Acceleration of Iterative Clustering : Jesse D. Hall,John C. Hart Understanding the Efficiency of GPU Algorithms for Matrix-Matrix Multiplication : K. Fatahalian, J. Sugerman, and P. Hanrahan k-nearest neighbour search: fast GPU-based implementations and application to high-dimensional feature matching : Garcia and E. Debreuve and F. Nielsen and M. Barlaud Intra-operative Real-Time 3-D Information Display System based on Integral Videography : Hongen Liao et al On detecting abnormalities in digital mammography: Waleed et al. 12

References 13 http://en.wikipedia.org/wiki/graphics_processing_unit http://www.nvidia.com/content/global/global.php http://wiki.tiker.net/cudavsopencl http://streamcomputing.eu/blog/2011-06-22/opencl-vs-cudamisconceptions/

14 Thanks Questions?