Khronos Finalizes OpenCL 2.0 Specification for Heterogeneous Computing

Indus­try feed­back dri­ves new gene­ra­ti­on open stan­dard for cross-plat­form par­al­lel pro­gramming with increased fle­xi­bi­li­ty, func­tion­a­li­ty and performance

Novem­ber 18th 2013 – SC13 — Den­ver, CO – The Khro­nos™ Group today announ­ced the rati­fi­ca­ti­on and public release of the fina­li­zed Open­CL™ 2.0 spe­ci­fi­ca­ti­on.  Open­CL 2.0 is a signi­fi­cant evo­lu­ti­on of the open, royal­ty-free stan­dard that sim­pli­fies cross-plat­form, par­al­lel pro­gramming.  With an enhan­ced exe­cu­ti­on model and a sub­set of the C11 and C++11 memo­ry model, syn­chro­niza­ti­on and ato­mic ope­ra­ti­ons, Open­CL now enables a signi­fi­cant­ly richer ran­ge of algo­rith­ms and pro­gramming pat­terns to be easi­ly acce­le­ra­ted with impro­ved per­for­mance.  Signi­fi­cant feed­back from the deve­lo­per com­mu­ni­ty was incor­po­ra­ted into the final spe­ci­fi­ca­ti­on, fol­lo­wing its pro­vi­sio­nal release in July.  The Open­CL 2.0 spe­ci­fi­ca­ti­ons are available at www.khronos.org/opencl/.

Khro­nos recei­ved signi­fi­cant and thoughtful deve­lo­per feed­back from the pro­vi­sio­nal release of Open­CL 2.0, much of which has been adopted, or will be mer­ged with emer­ging hard­ware capa­bi­li­ties as this state-of–the-art par­al­lel pro­gramming plat­form con­ti­nues to evol­ve,” said Neil Tre­vett, chair of the Open­CL working group, pre­si­dent of the Khro­nos Group and vice pre­si­dent of mobi­le con­tent at NVIDIA.  “Open­CL con­ti­nues to gather momen­tum on desk­top, mobi­le and embedded devices, inclu­ding pro­vi­ding a uni­fied pro­gramming envi­ron­ment for dyna­mi­cal­ly balan­cing diver­se CPU, GPU, DSP and hard­ware resour­ces in mobi­le SOCs for advan­ced use cases ran­ging from visi­on pro­ces­sing for Aug­men­ted Rea­li­ty to phy­sics simu­la­ti­on for mobi­le gaming.”

OpenCL 2.0 updates and additions include:

Shared Vir­tu­al Memory
Host and device ker­nels can direct­ly share com­plex, poin­ter-con­tai­ning data struc­tures such as trees and lin­ked lists, pro­vi­ding signi­fi­cant pro­gramming fle­xi­bi­li­ty and eli­mi­na­ting cos­t­ly data trans­fers bet­ween host and devices.

Nes­ted Parallelism
Device ker­nels can enqueue ker­nels to the same device with no host inter­ac­tion, enab­ling fle­xi­ble work sche­du­ling para­digms and avo­i­ding the need to trans­fer exe­cu­ti­on con­trol and data bet­ween the device and host, often signi­fi­cant­ly off­loa­ding host pro­ces­sor bottlenecks.

Gene­ric Address Space
Func­tions can be writ­ten wit­hout spe­ci­fy­ing a named address space for argu­ments, espe­ci­al­ly useful for tho­se argu­ments that are declared to be a poin­ter to a type, eli­mi­na­ting the need for mul­ti­ple func­tions to be writ­ten for each named address space used in an application.

Images
Impro­ved image sup­port inclu­ding sRGB images and 3D image wri­tes, the abili­ty for ker­nels to read from and wri­te to the same image, and the crea­ti­on of Open­CL images from a mip-map­ped or a mul­ti-sam­pled OpenGL® tex­tu­re for impro­ved OpenGL interop.

C11 Ato­mics
A sub­set of C11 ato­mics and syn­chro­niza­ti­on ope­ra­ti­ons to enable assign­ments in one work-item to be visi­ble to other work-items in a work-group, across work-groups exe­cu­ting on a device or for sha­ring data bet­ween the Open­CL device and host.

Pipes
Pipes are memo­ry objects that store data orga­ni­zed as a FIFO and Open­CL 2.0 pro­vi­des built-in func­tions for ker­nels to read from or wri­te to a pipe, pro­vi­ding straight­for­ward pro­gramming of pipe data struc­tures that can be high­ly opti­mi­zed by Open­CL implementers.

Android Installable Cli­ent Dri­ver Extension
Enables Open­CL imple­men­ta­ti­ons to be dis­co­ver­ed and loa­ded as a shared object on Android systems.

Indus­try Support 
“Pre­mie­re Pro’s sup­port for Open­CL has pro­ved to be a mas­si­ve hit with our cus­to­mers; pro­vi­ding dra­ma­tic per­for­mance impro­ve­ments while allo­wing for real-time editing and crea­ti­vi­ty. We’re exci­ted about the tech­no­lo­gi­cal deve­lo­p­ments in Open­CL 2.0 and look for­ward to dis­co­ve­ring how it will enable us to push the per­for­mance enve­lo­pe even fur­ther,” said Al Moo­ney, seni­or pro­duct mana­ger, editing work­flows at Adobe.

AMD has play­ed a signi­fi­cant role in the evo­lu­ti­on of Open­CL and in the deve­lo­p­ment of Open­CL 2.0. Open­CL 2.0 has made signi­fi­cant impro­ve­ments in pro­gramma­bi­li­ty and is also very well ali­gned with the hard­ware fea­tures that rela­ted indus­try stan­dards bodies such as the HSA Foun­da­ti­on are deve­lo­ping” said Man­ju Heg­de, CVP HAS Group AMD. “AMD stron­gly belie­ves in and pro­mo­tes Open­CL as one of the stan­dards for pro­gramming com­pu­te on its GPUs and APUs and looks for­ward to increased adop­ti­on becau­se of Open­CL 2.0″

The Khro­nos Group’s Open­CL 2.0 is the first key, foun­da­tio­nal, pro­gramming lan­guage to tru­ly sup­port the core capa­bi­li­ties of HSA enab­led hard­ware.  It is going to be exci­ting to see whe­re deve­lo­pers take this much richer pro­gramming plat­form,” said Gre­go­ry Stoner, mana­ging direc­tor and vice pre­si­dent of HSA Foundation.

It is impres­si­ve that Open­CL is sup­port­ing an incre­asing­ly diver­se ran­ge of hete­ro­ge­neous com­pu­ting units and acce­le­ra­tors,” said Zhe­nya Li, vice pre­si­dent of 2012 Lab, Hua­wei Tech­no­lo­gies.  “We expect the Open­CL stan­dard to be wide­ly adopted by the infor­ma­ti­on and com­mu­ni­ca­ti­ons tech­no­lo­gy (ICT) sec­tor, and to be a key soft­ware stan­dard used in Net­work Func­tion Vir­tua­liza­ti­on (NFV) acce­le­ra­tors. Hua­wei will actively par­ti­ci­pa­te in and con­tri­bu­te to Open­CL, and help it to pro­vi­de an easy-to-use deve­lo­p­ment plat­form for future ICT vir­tua­li­zed appli­ca­ti­ons.

As a long-time mem­ber of Khro­nos and a lea­ding con­tri­bu­tor to Open­CL stan­dards efforts, Ima­gi­na­ti­on is deligh­ted that Khro­nos con­ti­nues to crea­te stan­dards which make GPU com­pu­te pro­gramming easier for deve­lo­pers. With our broad ran­ge of IP inclu­ding Power­VR pro­ces­sors and MIPS CPUs, our cus­to­mers are crea­ting inno­va­ti­ve designs for mobi­le, con­su­mer, auto­mo­ti­ve and more. GPU com­pu­te is key to crea­ting new appli­ca­ti­ons within the power enve­lo­pe of the­se next gene­ra­ti­on devices,” said Peter McGuin­ness, direc­tor of mul­ti­me­dia tech­no­lo­gy mar­ke­ting, Ima­gi­na­ti­on Technologies.

We are very exci­ted about the user bene­fits of Open­CL 2.0’s new fea­tures”, said Simon McIn­tosh-Smith, Head of the Microelec­tro­nics Rese­arch Group at the Uni­ver­si­ty of Bris­tol. “The­se latest evo­lu­ti­ons in Open­CL will enable us to effi­ci­ent­ly sol­ve a much wider ran­ge of par­al­lel pro­ces­sing pro­blems than ever befo­re, and across a gro­wing ran­ge of embedded and HPC hard­ware plat­forms. The new shared vir­tu­al memo­ry (SVM) fea­ture will make it easier for pro­gramm­ers to deve­lop hete­ro­ge­neous par­al­lel pro­grams, while sup­port for dyna­mic par­al­le­lism will enable more effi­ci­ent solu­ti­ons for a much wider ran­ge of appli­ca­ti­ons.

Vivan­te is plea­sed to sup­port and con­tri­bu­te to the Open­CL 2.0 spe­ci­fi­ca­ti­on. The latest indus­try stan­dard will expand adop­ti­on of the tech­no­lo­gy in mobi­le, home enter­tain­ment, and auto­mo­ti­ve pro­ducts, crea­ting the next wave of inno­va­ti­ve com­pu­te use cases and con­su­mer expe­ri­en­ces,” said Wei-Jin Dai, Pre­si­dent and CEO of Vivan­te. “As the Open­CL eco­sys­tem rapidly grows and more appli­ca­ti­ons come to mar­ket, SoCs using our latest Vega GPUs will be rea­dy to sup­port the latest 2.0 spe­ci­fi­ca­ti­on and take advan­ta­ge of plat­form level opti­miza­ti­ons built into our archi­tec­tu­re.

See OpenCL at SC13, Denver, CO

Visit the Khro­nos Booth #4137 to meet with Open­CL experts and get a free Open­CL refe­rence card.

Open­CL: A Hands-On Introduction
Mon­day, Novem­ber 18th, 8:30 — 17:00, Room 403
Tim Matt­son, Ali­ce Koni­ges, Simon McIntosh-Smith

Open­CL BOF: Ver­si­on 2.0 and Beyond
Inclu­ding announce­ment of IWOCL 2014 (2nd Inter­na­tio­nal Work­shop on OpenCL)
Wed­nes­day, Novem­ber 20th, 17:30 — 19:00, Room 405/406/407
Tim Matt­son, Ben Ber­gen, Simon McIntosh-Smith

Exhi­bi­tor Forum Open­CL 2.0: Unlo­cking the Power of Your Hete­ro­ge­neous Platform
Thurs­day, Novem­ber 21st, 11:30 — 12:00, Room 501/502, Tim Mattson

Struc­tu­red Par­al­lel Pro­gramming with Patterns
Sun­day, Nov. 17, 8:30am-5pm, Room 302
Micha­el McCool, James Reinders, Arch Robi­son, Micha­el Hebenstreit

See OpenCL at SIGGRAPH Asia, Hong Kong 

Visit the Khro­nos Booth #F07 to meet with Open­CL experts and get a free Open­CL refe­rence card.

Khro­nos DevU, Wed­nes­day Novem­ber 20th, Room S226
13:30–13:45 Neil Tre­vett, NVIDIA Intro­duc­tion to OpenCL
13:45–14:30 Allen Hux, Intel Open­CL 2.0 Overview
14:30–14:50 Tomasz Bednarz, CSIRO Acce­le­ra­ted Sci­ence – use of Open­CL in Land Down Under

OpenCL 2.0 Reference Cards

Lami­na­ted Open­CL 2.0 Refe­rence cards are now available at www.amazon.com.

About The Khro­nos Group
  The Khro­nos Group is an indus­try con­sor­ti­um crea­ting open stan­dards to enable the aut­ho­ring and acce­le­ra­ti­on of par­al­lel com­pu­ting, gra­phics, visi­on, sen­sor pro­ces­sing and dyna­mic media on a wide varie­ty of plat­forms and devices.  Khro­nos stan­dards include OpenGL®, OpenGL® ES, Web­GL™, Open­CL™, Web­CL™, Open­VX™, Open­MAX™, OpenVG™, Open­SL ES™, Strea­mIn­put™ and COLLADA™.  All Khro­nos mem­bers are enab­led to con­tri­bu­te to the deve­lo­p­ment of Khro­nos spe­ci­fi­ca­ti­ons, are empowered to vote at various stages befo­re public deploy­ment, and are able to acce­le­ra­te the deli­very of their cut­ting-edge media plat­forms and appli­ca­ti­ons through ear­ly access to spe­ci­fi­ca­ti­on drafts and con­for­mance tests.  More infor­ma­ti­on is available at www.khronos.org.

###

Khro­nos, DevU, Strea­mIn­put, Web­GL, Web­CL, COLLADA, Open­KO­DE, OpenVG, Open­VX, Open­SL ES and Open­MAX are trade­marks of the Khro­nos Group Inc. ASTC is a trade­mark of ARM Hol­dings PLC, Open­CL is a trade­mark of Apple Inc. and OpenGL is a regis­tered trade­mark and the OpenGL ES and OpenGL SC logos are trade­marks of Sili­con Gra­phics Inter­na­tio­nal used under licen­se by Khro­nos. All other pro­duct names, trade­marks, and/or com­pa­ny names are used sole­ly for iden­ti­fi­ca­ti­on and belong to their respec­ti­ve owners.