GPU Programming in Computer Vision



Similar documents
ST810 Advanced Computing

Sense Making in an IOT World: Sensor Data Analysis with Deep Learning

Mixed Precision Iterative Refinement Methods Energy Efficiency on Hybrid Hardware Platforms

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

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

Turbomachinery CFD on many-core platforms experiences and strategies

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

HPC Wales Skills Academy Course Catalogue 2015

Retargeting PLAPACK to Clusters with Hardware Accelerators

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

GPU System Architecture. Alan Gray EPCC The University of Edinburgh

Steven C.H. Hoi School of Information Systems Singapore Management University

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

Deep Learning For Text Processing

HPC with Multicore and GPUs

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

Non-negative Matrix Factorization (NMF) in Semi-supervised Learning Reducing Dimension and Maintaining Meaning

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

Introduction to GPU Computing

ISSN: CONTEXTUAL ADVERTISEMENT MINING BASED ON BIG DATA ANALYTICS

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

Intelligent Heuristic Construction with Active Learning

5x in 5 hours Porting SEISMIC_CPML using the PGI Accelerator Model

LBM BASED FLOW SIMULATION USING GPU COMPUTING PROCESSOR

Amazon EC2 Product Details Page 1 of 5

HP ProLiant SL270s Gen8 Server. Evaluation Report

E6895 Advanced Big Data Analytics Lecture 3:! Spark and Data Analytics

NVIDIA Tools For Profiling And Monitoring. David Goodwin

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

Machine Learning for Medical Image Analysis. A. Criminisi & the InnerEye MSRC

Performance Evaluations of Graph Database using CUDA and OpenMP Compatible Libraries

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

Accelerating CFD using OpenFOAM with GPUs

MapGraph. A High Level API for Fast Development of High Performance Graphic Analytics on GPUs.

Distributed forests for MapReduce-based machine learning

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

Stream Processing on GPUs Using Distributed Multimedia Middleware

Intelligent Flexible Automation

GeoImaging Accelerator Pansharp Test Results

Masters in Information Technology

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

Robust Algorithms for Current Deposition and Dynamic Load-balancing in a GPU Particle-in-Cell Code

CUDAMat: a CUDA-based matrix class for Python

Massive Labeled Solar Image Data Benchmarks for Automated Feature Recognition

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

Software & systems for the neuromorphic generation of computing. Peter Suma co-ceo peter.suma@appliedbrainresearch.

The Top Six Advantages of CUDA-Ready Clusters. Ian Lumb Bright Evangelist

Digital Image Increase

CUDA programming on NVIDIA GPUs

Enhancing Cloud-based Servers by GPU/CPU Virtualization Management

COMP/CS 605: Intro to Parallel Computing Lecture 01: Parallel Computing Overview (Part 1)

A GPU COMPUTING PLATFORM (SAGA) AND A CFD CODE ON GPU FOR AEROSPACE APPLICATIONS

Hardware Acceleration for CST MICROWAVE STUDIO

TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING

1 DCSC/AU: HUGE. DeIC Sekretariat /RB. Bilag 1. DeIC (DCSC) Scientific Computing Installations

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

Decision Trees from large Databases: SLIQ

Masters in Artificial Intelligence

Building a Top500-class Supercomputing Cluster at LNS-BUAP

10- High Performance Compu5ng

Introduction to GPU hardware and to CUDA

GPGPU Computing. Yong Cao

Data Mining with R. Decision Trees and Random Forests. Hugh Murrell

GPU for Scientific Computing. -Ali Saleh

GPU-BASED TUNING OF QUANTUM-INSPIRED GENETIC ALGORITHM FOR A COMBINATORIAL OPTIMIZATION PROBLEM

Scalable and High Performance Computing for Big Data Analytics in Understanding the Human Dynamics in the Mobile Age

The Uintah Framework: A Unified Heterogeneous Task Scheduling and Runtime System

Characterizing Task Usage Shapes in Google s Compute Clusters

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

School of Computer Science

GPU Hardware and Programming Models. Jeremy Appleyard, September 2015

Professor, D.Sc. (Tech.) Eugene Kovshov MSTU «STANKIN», Moscow, Russia

High Performance CUDA Accelerated Local Optimization in Traveling Salesman Problem

Petascale Visualization: Approaches and Initial Results

Introduction to Machine Learning Lecture 1. Mehryar Mohri Courant Institute and Google Research

Performance of the JMA NWP models on the PC cluster TSUBAME.

How To Make A Credit Risk Model For A Bank Account

The Lattice Project: A Multi-Model Grid Computing System. Center for Bioinformatics and Computational Biology University of Maryland

High Performance Computing

Speeding up GPU-based password cracking

BIOINF 585 Fall 2015 Machine Learning for Systems Biology & Clinical Informatics

MACHINE LEARNING IN HIGH ENERGY PHYSICS

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

L20: GPU Architecture and Models

GPUs for Scientific Computing

Evaluation of CUDA Fortran for the CFD code Strukti

Masters in Human Computer Interaction

MVTec Software GmbH.

Masters in Advanced Computer Science

PLANNING FOR DENSITY AND PERFORMANCE IN VDI WITH NVIDIA GRID JASON SOUTHERN SENIOR SOLUTIONS ARCHITECT FOR NVIDIA GRID

HPC technology and future architecture

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

Transcription:

Computer Vision Group Prof. Daniel Cremers GPU Programming in Computer Vision Preliminary Meeting Thomas Möllenhoff, Robert Maier, Caner Hazirbas

What you will learn in the practical course Introduction to NVIDIA CUDA Framework Introduction to Parallel Computing on GPUs How to parallelise basic Computer Vision algorithms in CUDA/C++ Practical project experience Team work, presentation skills 2

Important Dates Preliminary Meeting: 29. January 2015 (today) Registration for the matching system on TUMOnline: 30. January - 3. February 2015 List your preferred practical courses Submitting Preferred Students: 4. - 9. February 2015 (by course organisers) Please specify if you have attended any computer vision or CUDA course before! Matching Results: 10. February 2015 Only assigned students are allowed to attend!!! 3

Course Organisation 4-5 weeks Block Course (7. Sep.- 9. Oct. 2015) 1 week lecture and exercise session 3 weeks project phase Our computer lab will be open for students Computers are equipped with very recent GPUs - GTX 750, one for each student. Students will work in groups: ideally 8 groups, each has 3 students. Every group will be assigned to one advisor. 4

Course Structure First Week Theoretical lecture in the morning Hands-on programming exercises in the afternoon Following 3-4 weeks Project phase, one project to each group Your own ideas, Project Proposals, any related topic to Computer Vision, Image Processing, Machine Learning Final presentation of the projects 5

Evaluation Criteria Successful completion of the exercises Gained expertise in CUDA/parallel programming Quality of your final project Successful completion of the project Projects will be evaluated by the project advisors Your talk 6

Regular Attendance Is Required Attendance at classes/exercises is mandatory In case of absence: Medical attest 7

Motivation on GPU programming *http://static1.evermotion.org/files/tutorials_content/lechu/octane/001.png 8

Why Massively Parallel Processing? CPU vs GPU A quiet revolution: Performance! computations: TFLOPs vs. 100 GFLOPs GPU in every PC massive volume & impact 9

Example: Shape Analysis 10

Example: Depth from Focus Variational Depth from Focus Reconstruct aa depth map from di erently differently focused images Z min d C(d(x, y)) + rd(x) dx dy 11

Example: LSD-SLAM on GPU Porting LSD-SLAM to GPU Porting Large-Scale Direct Monocular SLAM to GPU Large-Scale Keypoints Monocular Direct Project Proposal: Port part of LSD-SLAM to the GPU. https://github.com/tum-vision/lsd_slam 1 12

A 2D synthetic set of training data with 3 labels was created using MATLAB. The set looks as follows: Decision tree Example: Random Forest on GPU Decision trees are made from two elements. Decision trees are made from two elements. 1 Inner nodes: 2 Leaf nodes: Decision tree Implementation of Random Forest Classifier on GPU 1 Inner nodes: 2 Leaf nodes: Evaluation Alfonso Ros (TUM) ScaRF October 9, 2014 12 / 21 Future work Implement the parallel classification. Optimize for memory transfers Improve the library interface for easier usage. Implement the BFS version of the training and use it in the Random Forest training when the DFS is no longer optimal for the input size [Yisheng, 2013]. Depth: 5 Publish the code together with Training elapse time: 0.327127 sec the API. Out Of Bag error: 0.0513333 Alfonso Ros (TUM) ScaRF Alfonso Ros (TUM) October 9, 2014 3 / 21 ScaRF October 9, 2014 3 / 21 Alfonso Ros (TUM) ScaRF October 9, 2014 18 / 21 *https://github.com/alfonsoros88/scarf Alfonso Ros (TUM) ScaRF October 9, 2014 17 / 21 Evaluation 13

Recent Works Dense Tracking and Mapping in Real-Time https://www.youtube.com/watch?v=df9whgibcqa Kinect Fusion http://msrvideo.vo.msecnd.net/rmcvideos/ 152815/152815.mp4 14

Not Assigned to the course? Exciting IDP Projects Guided Research Master Thesis Don t Worry! Be Happy! 15

Enjoy the practical course! 16