發布於 2015-04-30
觀看次數: 468
  • 00:14 1.
    General-Purpose GPU (GPGPU) Programming in OpenCL
  • 01:21 2.
    Disclaimer
  • 00:18 3.
    Slide 3
  • 01:43 4.
    Current Conformant Products
  • 01:49 5.
    Slide 5
  • 01:22 6.
    Outline
  • 00:05 7.
    1. OpenCL Overview
  • 04:54 8.
    How to Program a GPU?
  • 05:52 9.
    GPGPU
  • 04:23 10.
    GPU as a Parallel Computing Platform
  • 01:23 11.
    In a Nutshell
  • 00:55 12.
    Not Just for GPUs
  • 03:04 13.
    Slide 13
  • 05:28 14.
    Anatomy of OpenCL
  • 09:56 15.
    Think Parallel
  • 01:40 16.
    Slide 16
  • 00:21 17.
    Slide 17
  • 03:20 18.
    Slide 17
  • 02:27 19.
    Slide 18
  • 0-46:0-40 20.
    Slide 19
  • 00:00 21.
    2. Walkthrough of a Complete Example
  • 00:00 22.
    Hello, World!
  • 00:00 23.
    2. Walkthrough of a Complete Example
  • 00:00 24.
    Slide 19
  • 00:00 25.
    2. Walkthrough of a Complete Example
  • 00:00 26.
    Hello, World!
  • 00:00 27.
    HelloWorld.cpp:int main(int argc, char** argv) {cl_context context = 0;cl_command_queue commandQueue = 0;cl_program program = 0;cl_device_id device = 0;cl_kernel kernel = 0;cl_mem memObjects[3] = { 0, 0, 0 };cl_int errNum;// Create an OpenCL context on fi
  • 00:00 28.
    Hello, World!
  • 00:00 29.
    HelloWorld.cpp:int main(int argc, char** argv) {cl_context context = 0;cl_command_queue commandQueue = 0;cl_program program = 0;cl_device_id device = 0;cl_kernel kernel = 0;cl_mem memObjects[3] = { 0, 0, 0 };cl_int errNum;// Create an OpenCL context on fi
  • 00:00 30.
    Slide 23
  • 00:00 31.
    Slide 24
  • 00:00 32.
    Slide 23
  • 00:00 33.
    HelloWorld.cpp:int main(int argc, char** argv) {cl_context context = 0;cl_command_queue commandQueue = 0;cl_program program = 0;cl_device_id device = 0;cl_kernel kernel = 0;cl_mem memObjects[3] = { 0, 0, 0 };cl_int errNum;// Create an OpenCL context on fi
  • 00:00 34.
    Slide 23
  • 00:00 35.
    Slide 24
  • 00:00 36.
    Slide 25
  • 00:00 37.
    Slide 26
  • 00:00 38.
    Slide 27
  • 00:00 39.
    Slide 28
  • 00:00 40.
    Slide 28
  • 00:00 41.
    Slide 27
  • 00:00 42.
    Slide 26
  • 00:00 43.
    Slide 25
  • 00:00 44.
    Slide 24
  • 00:00 45.
    Slide 23
  • 00:00 46.
    HelloWorld.cpp:int main(int argc, char** argv) {cl_context context = 0;cl_command_queue commandQueue = 0;cl_program program = 0;cl_device_id device = 0;cl_kernel kernel = 0;cl_mem memObjects[3] = { 0, 0, 0 };cl_int errNum;// Create an OpenCL context on fi
  • 00:00 47.
    Hello, World!
  • 00:00 48.
    HelloWorld.cpp:int main(int argc, char** argv) {cl_context context = 0;cl_command_queue commandQueue = 0;cl_program program = 0;cl_device_id device = 0;cl_kernel kernel = 0;cl_mem memObjects[3] = { 0, 0, 0 };cl_int errNum;// Create an OpenCL context on fi
  • 00:00 49.
    Slide 23
  • 00:00 50.
    Slide 24
  • 00:00 51.
    Slide 25
  • 00:00 52.
    Slide 24
  • 00:00 53.
    Slide 23
  • 00:00 54.
    HelloWorld.cpp:int main(int argc, char** argv) {cl_context context = 0;cl_command_queue commandQueue = 0;cl_program program = 0;cl_device_id device = 0;cl_kernel kernel = 0;cl_mem memObjects[3] = { 0, 0, 0 };cl_int errNum;// Create an OpenCL context on fi
  • 00:00 55.
    Slide 23
  • 00:00 56.
    Slide 24
  • 00:00 57.
    Slide 23
  • 00:00 58.
    Slide 24
  • 00:00 59.
    Slide 25
  • 00:00 60.
    Slide 26
  • 00:00 61.
    Slide 27
  • 00:00 62.
    Slide 28
  • 00:00 63.
    Slide 28
  • 00:00 64.
    3. Setting Up an SDK
  • 00:00 65.
    Development Tools
  • 00:00 66.
    Desktop Solutions
  • 00:00 67.
    Demo
  • 00:00 68.
    Mobile Solutions?
  • 00:00 69.
    4. Performance Consideration
  • 00:00 70.
    4. Performance Consideration
  • 00:00 71.
    SIMD, MIMD, SIMT?
  • 00:00 72.
    GPU-Specific Issues
  • 00:00 73.
    Moving to/from Host Memory
  • 00:00 74.
    Slide 43
  • 00:00 75.
    Example
  • 00:00 76.
    Profiling Event
  • 00:00 77.
    Backup Slides
  • 00:00 78.
    Slide 48
  • 00:00 79.
    Slide 49
  • 00:00 80.
    OpenCL vs. CUDA (1/3)
  • 00:00 81.
    OpenCL vs. CUDA (2/3)
  • 00:00 82.
    OpenCL vs. CUDA (1/3)
  • 00:00 83.
    OpenCL vs. CUDA (2/3)
  • 1:59:22 84.
    OpenCL vs. CUDA (3/3)
  • Index
  • Note
  • Discuss
  • Fullscreen
GPGPU in OpenCL
2:03:26, 發布於 2015-04-30 by 簡韶逸