Presentation is loading. Please wait.

Presentation is loading. Please wait.

CEG 4131-Fall 2012 1 General Purpose Computing on GPU GPGPU CEG4131 – Fall 2012 University of Ottawa Bardia Bandali CEG4131 – Fall 2012.

Similar presentations


Presentation on theme: "CEG 4131-Fall 2012 1 General Purpose Computing on GPU GPGPU CEG4131 – Fall 2012 University of Ottawa Bardia Bandali CEG4131 – Fall 2012."— Presentation transcript:

1 CEG 4131-Fall 2012 1 General Purpose Computing on GPU GPGPU CEG4131 – Fall 2012 University of Ottawa Bardia Bandali CEG4131 – Fall 2012

2 CEG 4131-Fall 2012 2 General Purpose Computing on GPU CEG 4131-Fall 2012 2 - History - OpenCL Board - OpenCL Overview - OpenCL Examples - AMD OpenCL Tools Introduction History OpenCL Board OpenCL Overview OpenCL Examples

3 CEG 4131-Fall 2012 3 General Purpose Computing on GPU CEG 4131-Fall 2012 3 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

4 CEG 4131-Fall 2012 4 General Purpose Computing on GPU CEG 4131-Fall 2012 4 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

5 CEG 4131-Fall 2012 5 General Purpose Computing on GPU CEG 4131-Fall 2012 5 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

6 CEG 4131-Fall 2012 6 General Purpose Computing on GPU CEG 4131-Fall 2012 6 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

7 CEG 4131-Fall 2012 7 General Purpose Computing on GPU CEG 4131-Fall 2012 7 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

8 CEG 4131-Fall 2012 8 General Purpose Computing on GPU CEG 4131-Fall 2012 8 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

9 CEG 4131-Fall 2012 9 General Purpose Computing on GPU CEG 4131-Fall 2012 9 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

10 CEG 4131-Fall 2012 10 General Purpose Computing on GPU CEG 4131-Fall 2012 10 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

11 CEG 4131-Fall 2012 11 General Purpose Computing on GPU CEG 4131-Fall 2012 11 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

12 CEG 4131-Fall 2012 12 General Purpose Computing on GPU CEG 4131-Fall 2012 12 Introduction History OpenCL Board OpenCL Overview OpenCL Examples AMD Accelerated Parallel Processing OpenCL July 2012

13 CEG 4131-Fall 2012 13 General Purpose Computing on GPU CEG 4131-Fall 2012 13 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

14 CEG 4131-Fall 2012 14 General Purpose Computing on GPU CEG 4131-Fall 2012 14 Introduction History OpenCL Board OpenCL Overview OpenCL Examples AMD Southern Islands Instruction Set Architecture, Aug 2012 Sothern Islands Memory Hierarchy

15 CEG 4131-Fall 2012 15 General Purpose Computing on GPU CEG 4131-Fall 2012 15 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

16 CEG 4131-Fall 2012 16 General Purpose Computing on GPU CEG 4131-Fall 2012 16 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

17 CEG 4131-Fall 2012 17 General Purpose Computing on GPU CEG 4131-Fall 2012 17 Introduction History OpenCL Board OpenCL Overview OpenCL Examples AMD Accelerated Parallel Processing OpenCL July 2012

18 CEG 4131-Fall 2012 18 General Purpose Computing on GPU CEG 4131-Fall 2012 18 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

19 CEG 4131-Fall 2012 19 General Purpose Computing on GPU CEG 4131-Fall 2012 19 Introduction History OpenCL Board OpenCL Overview OpenCL Examples AMD Accelerated Parallel Processing OpenCL July 2012

20 CEG 4131-Fall 2012 20 General Purpose Computing on GPU CEG 4131-Fall 2012 20 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

21 CEG 4131-Fall 2012 21 General Purpose Computing on GPU CEG 4131-Fall 2012 21 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

22 CEG 4131-Fall 2012 22 General Purpose Computing on GPU CEG 4131-Fall 2012 22 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

23 CEG 4131-Fall 2012 23 General Purpose Computing on GPU CEG 4131-Fall 2012 23 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

24 CEG 4131-Fall 2012 24 General Purpose Computing on GPU CEG 4131-Fall 2012 24 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

25 CEG 4131-Fall 2012 25 General Purpose Computing on GPU CEG 4131-Fall 2012 25 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

26 CEG 4131-Fall 2012 26 General Purpose Computing on GPU CEG 4131-Fall 2012 26 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

27 CEG 4131-Fall 2012 27 General Purpose Computing on GPU CEG 4131-Fall 2012 27 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

28 CEG 4131-Fall 2012 28 General Purpose Computing on GPU CEG 4131-Fall 2012 28 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

29 CEG 4131-Fall 2012 29 General Purpose Computing on GPU CEG 4131-Fall 2012 29 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

30 CEG 4131-Fall 2012 30 General Purpose Computing on GPU CEG 4131-Fall 2012 30 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

31 CEG 4131-Fall 2012 31 General Purpose Computing on GPU CEG 4131-Fall 2012 31 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

32 CEG 4131-Fall 2012 32 General Purpose Computing on GPU CEG 4131-Fall 2012 32 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

33 CEG 4131-Fall 2012 33 General Purpose Computing on GPU CEG 4131-Fall 2012 33 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

34 CEG 4131-Fall 2012 34 General Purpose Computing on GPU Kernel Functions Restrictions: Arguments to kernel functions that are pointers must use the global, constant, or local qualifier. An argument to a kernel function cannot be declared as a pointer to a pointer(s). Arguments to kernel functions cannot be declared with the following built-in types: bool, half, size_t, ptrdiff_t, intptr_t, uintptr_t, or event_t. The return type for a kernel function must be void. Arguments to kernel functions that are declared to be a struct cannot pass OpenCL objects (such as buffers, images) as elements of the struct. Bit field struct members are not supported. Variable-length arrays and structures with flexible (or unsized) arrays are not supported. Variadic macros and functions are not supported. The extern, static, auto, and register storage class specifiers are not supported. Predefined identifiers such as __func__ are not supported. The library functions defined in the C99 standard headers—assert.h, ctype.h, complex.h, errno.h, fenv.h, float.h, inttypes.h, limits.h, locale.h, setjmp.h, signal.h, stdarg.h, stdio.h, stdlib.h, string.h, tgmath.h, time.h, wchar.h, and wctype.h—are not available and cannot be included by a program. CEG 4131-Fall 2012 34 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

35 CEG 4131-Fall 2012 35 General Purpose Computing on GPU CEG 4131-Fall 2012 35 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

36 CEG 4131-Fall 2012 36 General Purpose Computing on GPU CEG 4131-Fall 2012 36 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

37 CEG 4131-Fall 2012 37 General Purpose Computing on GPU CEG 4131-Fall 2012 37 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

38 CEG 4131-Fall 2012 38 General Purpose Computing on GPU CEG 4131-Fall 2012 38 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

39 CEG 4131-Fall 2012 39 General Purpose Computing on GPU CEG 4131-Fall 2012 39 Introduction History OpenCL Board OpenCL Overview OpenCL Examples AMD Accelerated Parallel Processing OpenCL July 2012

40 CEG 4131-Fall 2012 40 General Purpose Computing on GPU CEG 4131-Fall 2012 40 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

41 CEG 4131-Fall 2012 41 General Purpose Computing on GPU CEG 4131-Fall 2012 41 Introduction History OpenCL Board OpenCL Overview OpenCL Examples AMD Accelerated Parallel Processing OpenCL July 2012

42 CEG 4131-Fall 2012 42 General Purpose Computing on GPU CEG 4131-Fall 2012 42 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

43 CEG 4131-Fall 2012 43 General Purpose Computing on GPU CEG 4131-Fall 2012 43 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

44 CEG 4131-Fall 2012 44 General Purpose Computing on GPU CEG 4131-Fall 2012 44 Introduction History OpenCL Board OpenCL Overview OpenCL Examples

45 CEG 4131-Fall 2012 45 General Purpose Computing on GPU CEG 4131-Fall 2012 45 History OpenCL Board OpenCL Overview OpenCL Examples AMD OpenCL Tools Numerical Reduction OpenCL In Action (Matthew Scarpino 2012)

46 CEG 4131-Fall 2012 46 General Purpose Computing on GPU CEG 4131-Fall 2012 46 History OpenCL Board OpenCL Overview OpenCL Examples AMD OpenCL Tools OpenCL In Action (Matthew Scarpino 2012)

47 CEG 4131-Fall 2012 47 General Purpose Computing on GPU CEG 4131-Fall 2012 47 History OpenCL Board OpenCL Overview OpenCL Examples AMD OpenCL Tools Matrix Transpose OpenCL In Action (Matthew Scarpino 2012)

48 CEG 4131-Fall 2012 48 General Purpose Computing on GPU CEG 4131-Fall 2012 48 History OpenCL Board OpenCL Overview OpenCL Examples AMD OpenCL Tools Matrix Transpose OpenCL In Action (Matthew Scarpino 2012)

49 CEG 4131-Fall 2012 49 General Purpose Computing on GPU CEG 4131-Fall 2012 49 History OpenCL Board OpenCL Overview OpenCL Examples AMD OpenCL Tools AMD APP Profiler OpenCL In Action (Matthew Scarpino 2012)

50 CEG 4131-Fall 2012 50 General Purpose Computing on GPU CEG 4131-Fall 2012 50 History OpenCL Board OpenCL Overview OpenCL Examples AMD OpenCL Tools AMD APP Profiler OpenCL In Action (Matthew Scarpino 2012)

51 CEG 4131-Fall 2012 51 General Purpose Computing on GPU CEG 4131-Fall 2012 51 History OpenCL Board OpenCL Overview OpenCL Examples AMD OpenCL Tools AMD APP Profiler OpenCL In Action (Matthew Scarpino 2012)

52 CEG 4131-Fall 2012 52 General Purpose Computing on GPU CEG 4131-Fall 2012 52 History OpenCL Board OpenCL Overview OpenCL Examples AMD OpenCL Tools AMD APP KernelAnalyzer OpenCL In Action (Matthew Scarpino 2012)

53 CEG 4131-Fall 2012 53 General Purpose Computing on GPU CEG 4131-Fall 2012 53 History OpenCL Board OpenCL Overview OpenCL Examples AMD OpenCL Tools AMD APP gDEBugger OpenCL In Action (Matthew Scarpino 2012)

54 CEG 4131-Fall 2012 54 General Purpose Computing on GPU CEG 4131-Fall 2012 54 References: [1] AMD Accelerated Parallel Processing OpenCL Programming Guide, July 2012. [2] AMD Southern Islands Instruction Set Architecture, Aug 2012. [3] O. Rosenberg, OpenCL 1.2 Overview, KHRONOS Group, Nov 2011. [4] Introduction to OpenCL Programming, AMD Fusion, May 2010. [5] M. Scarpino, OpenCL In Action, Manning Publishing ltd 2012. [6] AMD Developer Central: developer.amd.com


Download ppt "CEG 4131-Fall 2012 1 General Purpose Computing on GPU GPGPU CEG4131 – Fall 2012 University of Ottawa Bardia Bandali CEG4131 – Fall 2012."

Similar presentations


Ads by Google