Copyright Khronos Group, 2011 - Page 1 OpenCL GDC, March 2010
Authoring and accessibility Application Acceleration System Integration Copyright Khronos Group, 2011 - Page 2 Khronos Family of Standards 3D Digital Asset Exchange format Plugin-free 3D Web Content Mobile OS Abstraction Cross platform desktop 3D Parallel Computing Embedded 3D Context, Sync and Surface Management A coordinated ecosystem of compute, graphics and media standards and APIs Safety Critical 3D Streaming Media Advanced Audio Vector 2D Video, Audio and Image Acceleration Codec Creation Window System Acceleration
Copyright Khronos Group, 2011 - Page 3 Processor Parallelism CPUs Multiple cores driving performance increases Emerging Intersection GPUs Increasingly general purpose data-parallel computing Multiprocessor programming e.g. OpenMP Heterogeneous Computing Graphics APIs and Shading Languages OpenCL is a programming framework for heterogeneous compute resources
Copyright Khronos Group, 2011 - Page 4 OpenCL Working Group Diverse industry participation many industry experts - Processor vendors, system OEMs, middleware vendors, application developers Apple made initial proposal and is very active in the working group - Serving as specification editor
Copyright Khronos Group, 2011 - Page 5 OpenCL Timeline Six months from proposal to released OpenCL 1.0 specification - Due to a strong initial proposal and a shared commercial incentive Multiple conformant implementations shipping - For CPUs and GPUs on multiple OS 18 month cadence between OpenCL 1.0 and OpenCL 1.1 - Backwards compatibility protect software investment Jun08 Khronos publicly releases OpenCL 1.0 as royalty-free specification Dec08 Apple proposes OpenCL working group and contributes draft specification to Khronos May09 Khronos releases OpenCL 1.0 conformance tests to ensure high-quality implementations Multiple conformant implementations ship across diverse OS and platforms 2H09 Jun10 OpenCL 1.1 Specification released and first implementations ship
Copyright Khronos Group, 2011 - Page 6 Speakers Today Introduction to Khronos and OpenCL - Neil Trevett, OpenCL Chair, NVIDIA OpenCL Overview - Ben Gaster, Senior Architect, AMD Real-time shallow water simulation using OpenCL on CPUs - Adam Lake, Senior Software Architect, Intel OpenCL Imaging on the GPU - James Fung, Developer Technology Engineer, NVIDIA, Device Fission - Ben Gaster, Senior Architect, AMD
Wrap-up Copyright Khronos Group, 2011 - Page 7
Copyright Khronos Khronos 2009 Group, 2011 - Page 8 OpenCL Embedded Profile OpenCL 1.0 has Embedded profile - no need for a separate ES spec Almost identical functionality some reduced precision requirements An always-on, connected, mobile device with multiple sensors, graphics and imaging PLUS a supercomputer all in the palm of your hand will create a new wave of application opportunities A concept GPS phone processes images to recognize buildings and landmarks and uses the internet to supply relevant data
Copyright Khronos Group, 2011 - Page 9 OpenGL Interoperability Both standards under one IP framework - Enables very close collaborative design for efficient, inter-api communication OpenCL can efficiently share resources with OpenGL - Textures, Buffer Objects and Renderbuffers - OpenCL objects are created from OpenGL objects - data is shared, not copied Applications can select compute device(s) to run OpenGL and OpenCL - Efficient queuing of OpenCL and OpenGL commands into the hardware - Flexible scheduling and synchronization Link CL events and GL sync objects for faster & finer-grained interop - cl_khr_gl_event and GL_ARB_cl_event - Avoids heavyweight operations glfinish before clenqueueacquireglobjects and clfinish after clenqueuereleaseglobjects
Copyright Khronos Group, 2011 - Page 10 Visual Computing Ecosystem Desktop Visual Computing OpenGL and OpenCL have direct interoperability. OpenCL objects can be created from OpenGL Textures, Buffer Objects and Renderbuffers Mobile Visual Computing Compute, graphics and AV APIs interoperate through EGL
Copyright Khronos Group, 2011 - Page 11 OpenCL Desktop Implementations http://www.amd.com/us/products/technologies/streamtechnology/opencl/pages/opencl.aspx http://software.intel.com/en-us/articles/intel-opencl-sdk/ http://www.nvidia.com/object/cuda_opencl_new.html
Copyright Khronos Group, 2011 - Page 12 OpenCL Books The OpenCL Programming Book - Available now - Search for OpenCL on Amazon OpenCL Programming Guide - The Red Book of OpenCL - Coming in May 2011 - Rough cut available on Safaribooks - http://my.safaribooksonline.com/9780132488006
Copyright Khronos Group, 2011 - Page 13 OpenCL Courses http://maps.google.com/maps/ms?ie=utf8&oe=utf8&msa=0&msid=11 0337952595184289080.000491695f76aaf121c0d
Copyright Khronos Group, 2011 - Page 14 Khronos OpenCL Resources OpenCL is 100% free for developers - Download drivers from your silicon vendor OpenCL Registry OpenCL 1.0 and OpenCL 1.1 - www.khronos.org/registry/cl/ OpenCL 1.1 Reference Card - PDF version - http://www.khronos.org/files/opencl-1-1-quick-reference-card.pdf Online Man pages - http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/ OpenCL Developer Forums - Give us your feedback! - www.khronos.org/message_boards/