+ All Categories
Home > Engineering > GPGPU using CUDA Thrust

GPGPU using CUDA Thrust

Date post: 16-Jan-2017
Category:
Upload: nicola-pezzotti
View: 1,200 times
Download: 0 times
Share this document with a friend
15
GPGPU using CUDA Thrust Technical Talk –15/09/2015 1
Transcript
Page 1: GPGPU using CUDA Thrust

1

GPGPU using

CUDA ThrustTechnical Talk –15/09/2015

Page 2: GPGPU using CUDA Thrust

2

General Purpose computing on Graphics Processing Units◦ 2000

Programmable shaders -> Matrices/Vectors computation

◦ 2006 NVIDIA CUDA

Solutions◦ NVIDIA CUDA◦ OpenCL◦ OpenACC

GPGPU

Page 3: GPGPU using CUDA Thrust

3

Page 4: GPGPU using CUDA Thrust

4

Multi-core processor

Page 5: GPGPU using CUDA Thrust

5

CUDA - Grid

Page 6: GPGPU using CUDA Thrust

6

Adding two vectors

Page 7: GPGPU using CUDA Thrust

7

Memory access influences the performance

Page 8: GPGPU using CUDA Thrust

8

Memory access influences the performance

Page 9: GPGPU using CUDA Thrust

9

Why CUDA then?

Page 10: GPGPU using CUDA Thrust

10

High-level interface◦ C++ Standard Template Library (STL)◦ Interoperability

CUDA OpenMP

CUDA Thrust

Page 11: GPGPU using CUDA Thrust

11

Sorting◦ Stable/Unstable◦ By key

Set Operations◦ Difference◦ Intersection◦ Union

Reductions◦ Counting◦ Extremes◦ User-defined

Searching Random Number Generation

Algorithms available in Thrust

http://docs.thrust.googlecode.com/hg/modules.html

Page 12: GPGPU using CUDA Thrust

12

https://github.com/thrust/thrust/blob/master/examples/weld_vertices.cu

Thou shalt use STL and Templates!!

Page 13: GPGPU using CUDA Thrust

13

Page 14: GPGPU using CUDA Thrust

14

Bounding box computation Approximate Voronoi Diagram Dot Product Histograms Monte carlo methods

Some Useful Examples

https://github.com/thrust/thrust/tree/master/examples

Page 15: GPGPU using CUDA Thrust

15

GPGPU using

CUDA ThrustTechnical Talk –15/09/2015


Recommended