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 increa­sed fle­xi­bi­li­ty, func­tio­na­li­ty and per­for­mance

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­ni­za­ti­on and ato­mic ope­ra­ti­ons, Open­CL now enab­les a signi­fi­cant­ly richer ran­ge of algo­rithms 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­l­oper com­mu­ni­ty was incorpo­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 avail­ab­le at www.khronos.org/opencl/.

Khro­nos recei­ved signi­fi­cant and thought­ful deve­l­oper feed­back from the pro­vi­sio­nal release of Open­CL 2.0, much of which has been adop­ted, 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 embed­ded 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:

Sha­red Vir­tu­al Memo­ry
Host and device ker­nels can direct­ly sha­re 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 cost­ly data trans­fers bet­ween host and devices.

Nested Par­al­le­lism
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 bott­len­ecks.

Gene­ric Address Space
Func­tions can be writ­ten without spe­ci­fy­ing a named address space for argu­ments, espe­ci­al­ly use­ful for tho­se argu­ments that are decla­red 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 app­li­ca­ti­on.

Images
Impro­ved image sup­port inclu­ding sRGB images and 3D image wri­tes, the abi­li­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­ni­za­ti­on ope­ra­ti­ons to enab­le 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 sharing 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 strai­ght­for­ward pro­gramming of pipe data struc­tures that can be high­ly opti­mi­zed by Open­CL imple­ment­ers.

Andro­id Install­ab­le Cli­ent Dri­ver Exten­si­on
Enab­les Open­CL imple­men­ta­ti­ons to be dis­co­ve­r­ed and loa­ded as a sha­red object on Andro­id sys­tems.

Indus­try Sup­port
“Pre­mie­re Pro’s sup­port for Open­CL has pro­ved to be a mas­si­ve hit with our custo­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­lop­ments in Open­CL 2.0 and look for­ward to dis­co­vering how it will enab­le us to push the per­for­mance enve­lo­pe even fur­t­her,” said Al Moo­ney, seni­or pro­duct mana­ger, editing work­flows at Ado­be.

AMD has play­ed a signi­fi­cant role in the evo­lu­ti­on of Open­CL and in the deve­lop­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 increa­sed 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­l­o­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 Foun­da­ti­on.

It is impres­si­ve that Open­CL is sup­porting an increa­singly 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 adop­ted 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­li­za­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­lop­ment plat­form for future ICT vir­tua­li­zed app­li­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 delight­ed that Khro­nos con­ti­nues to crea­te stan­dards which make GPU com­pu­te pro­gramming easier for deve­l­o­pers. With our broad ran­ge of IP inclu­ding Power­VR pro­ces­sors and MIPS CPUs, our custo­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 app­li­ca­ti­ons wit­hin 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 Tech­no­lo­gies.

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 Micro­elec­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 enab­le 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 embed­ded and HPC hard­ware plat­forms. The new sha­red 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 enab­le more effi­ci­ent solu­ti­ons for a much wider ran­ge of app­li­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 app­li­ca­ti­ons come to mar­ket, SoCs using our latest Vega GPUs will be ready to sup­port the latest 2.0 spe­ci­fi­ca­ti­on and take advan­ta­ge of plat­form level opti­mi­za­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 Intro­duc­tion
Mon­day, Novem­ber 18th, 8:30 — 17:00, Room 403
Tim Matt­son, Ali­ce Koni­ges, Simon McIn­tosh-Smith

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

Exhi­bi­tor Forum Open­CL 2.0: Unlocking the Power of Your Hete­ro­ge­neous Plat­form
Thurs­day, Novem­ber 21st, 11:30 — 12:00, Room 501/502, Tim Matt­son

Struc­tu­red Par­al­lel Pro­gramming with Pat­terns
Sunday, Nov. 17, 8:30am-5pm, Room 302
Micha­el McCool, James Rein­ders, Arch Robi­son, Micha­el Heben­streit

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 Open­CL
13:45–14:30 Allen Hux, Intel Open­CL 2.0 Over­view
14:30–14:50 Tomasz Bed­narz, 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 avail­ab­le 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 enab­le 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 inclu­de OpenGL®, OpenGL® ES, WebGL™, Open­CL™, Web­CL™, Open­VX™, Open­MAX™, OpenVG™, OpenSL ES™, Strea­m­In­put™ and COLLADA™.  All Khro­nos mem­bers are enab­led to con­tri­bu­te to the deve­lop­ment of Khro­nos spe­ci­fi­ca­ti­ons, are empowe­r­ed to vote at various sta­ges 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 app­li­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 avail­ab­le at www.khronos.org.

###

Khro­nos, DevU, Strea­m­In­put, WebGL, Web­CL, COLLADA, Open­KO­DE, OpenVG, Open­VX, OpenSL 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­te­red 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­tive owners.