13
OpenCL Update Simon Green SIGGRAPH 2009 OpenCL BOF

OpenCL BOF - NVIDIA - Siggraph Aug09NVIDIA OpenCL Supported OSs 32 and 64 bit Windows XP and Vista (and soon Win 7) 32 and 64 bit Linux (Ubuntu, RHEL, etc.) Mac OS X Snow Leopard (indirectly

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: OpenCL BOF - NVIDIA - Siggraph Aug09NVIDIA OpenCL Supported OSs 32 and 64 bit Windows XP and Vista (and soon Win 7) 32 and 64 bit Linux (Ubuntu, RHEL, etc.) Mac OS X Snow Leopard (indirectly

OpenCL Update

Simon GreenSIGGRAPH 2009 OpenCL BOF

Page 2: OpenCL BOF - NVIDIA - Siggraph Aug09NVIDIA OpenCL Supported OSs 32 and 64 bit Windows XP and Vista (and soon Win 7) 32 and 64 bit Linux (Ubuntu, RHEL, etc.) Mac OS X Snow Leopard (indirectly

NVIDIA and OpenCL

NVIDIA has worked closely with Apple and the Khronos Group since the inception of OpenCL

OpenCL was developed on NVIDIA GPUs

OpenCL working group is chaired by NVIDIA VP Neil

Trevett (also President of Khronos Group)

NVIDIA is supplier of all GPUs for new Apple notebooks

NVIDIA was first to show working OpenCL on GPU

hardware

Page 3: OpenCL BOF - NVIDIA - Siggraph Aug09NVIDIA OpenCL Supported OSs 32 and 64 bit Windows XP and Vista (and soon Win 7) 32 and 64 bit Linux (Ubuntu, RHEL, etc.) Mac OS X Snow Leopard (indirectly

2008 2009Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4

Alpha OpenCL Alpha Alpha

OpenCL OpenCL

NVIDIA’s OpenCL Timeline

BetaOpenCL

BetaBetaOpenCLOpenCL

OpenCL 1.0OpenCL 1.0OpenCL 1.0

12 / 2008 1st operable OpenCL demo on GPU (Siggraph Asia)4 / 2009 Drivers, compiler and SDK available to developers5 / 2009 1st GPU implementation filed for conformance6 / 2009 1st Conformant GPU Implementation

Page 4: OpenCL BOF - NVIDIA - Siggraph Aug09NVIDIA OpenCL Supported OSs 32 and 64 bit Windows XP and Vista (and soon Win 7) 32 and 64 bit Linux (Ubuntu, RHEL, etc.) Mac OS X Snow Leopard (indirectly

OpenCL and the CUDA Architecture

OpenCLC for CUDADirectX ComputeFortran (PGI)C++

The CUDA Architecture supports all standard languages & APIs to tap the massive parallel computational power of the GPU

ATI’s Compute “Solution”(GPU HW, Driver, ISA…)

Page 5: OpenCL BOF - NVIDIA - Siggraph Aug09NVIDIA OpenCL Supported OSs 32 and 64 bit Windows XP and Vista (and soon Win 7) 32 and 64 bit Linux (Ubuntu, RHEL, etc.) Mac OS X Snow Leopard (indirectly

Advantages of OpenCL

Cross-vendor supportBut be ready to optimize for differing hardware characteristics

Just-in-time compilationpass kernel source directly to the driver

Tight interoperability with OpenGL graphicsAPI support for task parallelismWell-defined specification

Guarantees behaviour across devices

Page 6: OpenCL BOF - NVIDIA - Siggraph Aug09NVIDIA OpenCL Supported OSs 32 and 64 bit Windows XP and Vista (and soon Win 7) 32 and 64 bit Linux (Ubuntu, RHEL, etc.) Mac OS X Snow Leopard (indirectly

NVIDIA OpenCLSupported OSs

32 and 64 bit Windows XP and Vista (and soon Win 7)32 and 64 bit Linux (Ubuntu, RHEL, etc.)Mac OS X Snow Leopard (indirectly via Apple)

Development EnvironmentsVisual Studio 2005 (8) and Visual Studio 2008 (9) for WindowsGCC for Linux

Drivers and JIT compilerIn SDK for Alpha & Beta Soon to be distributed with GPU drivers

SDKSource code & white papers for sample applications (30 presently)Documentation: Getting Started Guide, Programming Manual, Best Practices (Optimization) Guide

Page 7: OpenCL BOF - NVIDIA - Siggraph Aug09NVIDIA OpenCL Supported OSs 32 and 64 bit Windows XP and Vista (and soon Win 7) 32 and 64 bit Linux (Ubuntu, RHEL, etc.) Mac OS X Snow Leopard (indirectly

NVIDIA OpenCL SDK Samples

Bandwidth testBlack ScholesBox filterDCTDevice QueryHistogramMatrix MulN-BodyPost process GLRecursive Gaussian

ReductionScanSimple GLSimple multi GPUSobel filterTransposeVector AddVolume renderParticlesOcean

Page 8: OpenCL BOF - NVIDIA - Siggraph Aug09NVIDIA OpenCL Supported OSs 32 and 64 bit Windows XP and Vista (and soon Win 7) 32 and 64 bit Linux (Ubuntu, RHEL, etc.) Mac OS X Snow Leopard (indirectly

Tools – NVIDIA Visual Profiler

Similar to exisiting CUDA Visual ProfilerAllows visualizaton of profiling data from OpenCL applications

hardware performance counterstiming informationmemory transfersestimates fraction of peak performance

Supported on Windows and LinuxWill be released to all registered developers at the end of AugustSee the live demo at the NVIDIA booth (Tools pod)

Page 9: OpenCL BOF - NVIDIA - Siggraph Aug09NVIDIA OpenCL Supported OSs 32 and 64 bit Windows XP and Vista (and soon Win 7) 32 and 64 bit Linux (Ubuntu, RHEL, etc.) Mac OS X Snow Leopard (indirectly

NVIDIA OpenCL Implementation

Based on LLVM compilerLeverages existing NVIDIA optimization framework

Supported Extensionscl_khr_byte_addressable_store cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics

OpenCL / OpenGL interop currently not supportedAvailable now for registered developers

Page 10: OpenCL BOF - NVIDIA - Siggraph Aug09NVIDIA OpenCL Supported OSs 32 and 64 bit Windows XP and Vista (and soon Win 7) 32 and 64 bit Linux (Ubuntu, RHEL, etc.) Mac OS X Snow Leopard (indirectly

Demos!

Page 11: OpenCL BOF - NVIDIA - Siggraph Aug09NVIDIA OpenCL Supported OSs 32 and 64 bit Windows XP and Vista (and soon Win 7) 32 and 64 bit Linux (Ubuntu, RHEL, etc.) Mac OS X Snow Leopard (indirectly

Conclusion

OpenCL is great for developers, the industry and consumers

The addition of OpenCL to DirectX Compute and C for CUDA offers a fantastic array of GPU Computing choices for developers

Available now, get coding!

Page 12: OpenCL BOF - NVIDIA - Siggraph Aug09NVIDIA OpenCL Supported OSs 32 and 64 bit Windows XP and Vista (and soon Win 7) 32 and 64 bit Linux (Ubuntu, RHEL, etc.) Mac OS X Snow Leopard (indirectly

OpenCL Information and Resources

NVIDIA OpenCL Web Pagehttp://www.nvidia.com/object/cuda_opencl.html

NVIDIA OpenCL Forumhttp://forums.nvidia.com/index.php?showforum=134

NVIDIA Registered Developer Extranet Sitehttps://nvdeveloper.nvidia.com/login.asphttp://developer.nvidia.com/page/registered_developer_program.html

Khronos (current specification)http://www.khronos.org/registry/cl/specs/opencl-1.0.43.pdf

Khronos OpenCL Forumhttp://www.khronos.org/message_boards/viewforum.php?f=28

Page 13: OpenCL BOF - NVIDIA - Siggraph Aug09NVIDIA OpenCL Supported OSs 32 and 64 bit Windows XP and Vista (and soon Win 7) 32 and 64 bit Linux (Ubuntu, RHEL, etc.) Mac OS X Snow Leopard (indirectly

Questions?