Khronos Updates OpenCL and SYCL Specifications for Heterogeneous Parallel Programming

Integration of developer feedback for improved application portability;
Alignment with latest C++ developments

Novem짯ber 18th, 2014, The Khro짯nos꽓 Group today announ짯ced the rati짯fi짯ca짯ti짯on and public release of updated Open짯CL꽓 2.0 and Pro짯vi짯sio짯nal SYCL꽓 1.2 spe짯ci짯fi짯ca짯ti짯ons. The new spe짯ci짯fi짯ca짯ti짯ons inte짯gra짯te feed짯back from the deve짯lo짯per com짯mu짯ni짯ty, ali짯gn with the latest C++ deve짯lo짯p짯ments, and increase imple짯men짯ta짯ti짯on con짯sis짯ten짯cy for impro짯ved por짯ta짯bi짯li짯ty of hete짯ro짯ge짯neous par짯al짯lel appli짯ca짯ti짯ons. The latest Open짯CL and SYCL spe짯ci짯fi짯ca짯ti짯ons are open, royal짯ty-free and available at www.khronos.org/opencl/ and www.khronos.org/opencl/sycl.

Khro짯nos is con짯stant짯ly lis짯tening to feed짯back from the Open짯CL deve짯lo짯per com짯mu짯ni짯ty, and con짯so짯li짯da짯ting impro짯ve짯ments and cla짯ri짯fi짯ca짯ti짯ons into our spe짯ci짯fi짯ca짯ti짯ons to pro짯vi짯de the best pos짯si짯ble plat짯form for por짯ta짯ble par짯al짯lel appli짯ca짯ti짯ons, said Neil Tre짯vett, pre짯si짯dent of the Khro짯nos Group, chair of the Open짯CL working group and vice pre짯si짯dent of mobi짯le eco짯sys짯tem at NVIDIA. Open짯CL con짯ti짯nues to deve짯lop a rich eco짯sys짯tem for hete짯ro짯ge짯neous par짯al짯lel pro짯gramming across diver짯se plat짯forms. Pai짯red with ongo짯ing impro짯ve짯ments to the core Open짯CL spe짯ci짯fi짯ca짯ti짯on, SYCL adds rich sin짯gle source C++ pro짯gramming for Open짯CL deve짯lo짯pers and the SPIR por짯ta짯ble bina짯ry for짯mat enables a wide ran짯ge of pro짯gramming models to be acce짯le짯ra짯ted by diver짯se Open짯CL devices.

Updated SYCL 1.2 Provisional Specification

Imple짯men짯ta짯ti짯ons of SYCL for Open짯CL enable deve짯lo짯pers to wri짯te in a 쐓in짯gle-source C++ pro짯gramming style. The evol짯ving pro짯vi짯sio짯nal spe짯ci짯fi짯ca짯ti짯on has been updated based on feed짯back from deve짯lo짯pers and to ali짯gn with the latest direc짯tions in modern C++ pro짯gramming. SYCL enables powerful, modern C++ fea짯tures, such as tem짯pla짯tes and lamb짯da func짯tions to acce짯le짯ra짯te their soft짯ware for the wide ran짯ge of hete짯ro짯ge짯neous devices that Open짯CL sup짯ports. The SYCL working group con짯ti짯nues to work with deve짯lo짯pers, see짯king feed짯back and refi짯ning the pro짯vi짯sio짯nal spe짯ci짯fi짯ca짯ti짯on to deli짯ver a final spe짯ci짯fi짯ca짯ti짯on that will enable Open짯CL devices to sup짯port modern C++ in an open, stan짯dard way. SYCL builds on the SPIR por짯ta짯ble bina짯ry for짯mat and is one way of brin짯ging hig짯her-level models to Open짯CL, forming a valuable part of the pro짯gramming model eco짯sys짯tem for Open짯CL devices.

Updated OpenCL 2.0 Specification

The Open짯CL working group has released an update to the Open짯CL 2.0 spe짯ci짯fi짯ca짯ti짯on, with cla짯ri짯fi짯ca짯ti짯ons that impro짯ve spe짯ci짯fi짯ca짯ti짯on rea짯da짯bili짯ty and redu짯ce minor cross-ven짯dor imple짯men짯ta짯ti짯on incon짯sis짯ten짯ci짯es, making it easier for deve짯lo짯pers to wri짯te por짯ta짯ble Open짯CL appli짯ca짯ti짯ons that relia짯bly work across mul짯ti짯ple devices. The chan짯ges to the Open짯CL 2.0 spe짯ci짯fi짯ca짯ti짯on include:

  • Cla짯ri짯fi짯ca짯ti짯ons around sup짯port for Blocks in Open짯CL C;
  • Refi짯ne짯ments to the pre짯cis짯i짯on requi짯re짯ments for math func짯tions in fast math mode;
  • Cla짯ri짯fi짯ca짯ti짯on of flags that can be appli짯ed to pipes;
  • A new exten짯si짯on, cl_khr_device_enqueue_local_arg_types, for enqueu짯e짯ing device ker짯nels to use argu짯ments that are a poin짯ter to a user defi짯ned type in local memory;
  • Cla짯ri짯fi짯ca짯ti짯on of the CL_MEM_KERNEL_READ_AND_WRITE flag to enable fil짯te짯ring of image for짯mats that can be pas짯sed to a sin짯gle ker짯nel ins짯tance as read_write.

Industry Support

We are see짯ing a lot of deve짯lo짯pers want to acce짯le짯ra짯te their soft짯ware with a ran짯ge of dif짯fe짯rent acce짯le짯ra짯tor pro짯ces짯sors. Being an open stan짯dard, Open짯CL pro짯vi짯des deve짯lo짯pers the grea짯test ran짯ge of opti짯ons for acce짯le짯ra짯ti짯on, said Andrew Richards, CEO of Code짯play. At the same time, we are see짯ing deve짯lo짯pers using a C++ sin짯gle-source pro짯gramming model, becau짯se it is easy to use and easy to wri짯te libra짯ri짯es for. SYCL enables deve짯lo짯pers to use a modern C++ deve짯lo짯p짯ment style while still using royal짯ty-free open stan짯dards and levera짯ge the wide adop짯ti짯on of Open짯CL by acce짯le짯ra짯tor ven짯dors.

At Ima짯gi짯na짯ti짯on, we are com짯mit짯ted to hel짯ping dri짯ve stan짯dards around hete짯ro짯ge짯neous pro짯ces짯sing and GPU com짯pu짯te. It셲 cri짯ti짯cal that the indus짯try con짯ti짯nues to impro짯ve the GPU com짯pu짯te pro짯gramming model, and Khro짯nos is play짯ing a key role in the짯se efforts. We셱e deligh짯ted to see con짯tin짯ued momen짯tum with Open짯CL 2.0 and SYCL, said Peter McGuin짯ness, direc짯tor of Mul짯ti짯me짯dia Tech짯no짯lo짯gy Mar짯ke짯ting, Ima짯gi짯na짯ti짯on Technologies.

OpenCL at Supercomputing 2014

The짯re are Open짯CL-rela짯ted pre짯sen짯ta짯ti짯ons and acti짯vi짯ties at Super짯com짯pu짯ting 2014 in New Orleans on Novem짯ber 1621st:

Tuto짯ri짯al: Open짯CL: A Hands-on Introduction
Mon짯day, Nov 17 | 8:30am 5:00pm | Room 395
Tim Matt짯son, Ali짯ce Koni짯ges, and Simon McIntosh밪mith
The tuto짯ri짯al for짯mat will be a 50/50 split bet짯ween lec짯tures and exer짯ci짯s짯es. Stu짯dents will use their own lap짯tops (Win짯dows, Linux or OS/X) and log into a remo짯te ser짯ver run짯ning an Open짯CL platform.
More infor짯ma짯ti짯on and calen짯dar links

Open짯CL BOF: Open짯CL Ver짯si짯on 2.0 and Beyond
Tues짯day, Nov 18 | 5:30pm 7:00pm | Room 27576-77
Tim Matt짯son, Simon McIntosh밪mith, Andrew Richards, Ronan Keryell and others
This BOF will dis짯cuss the latest deve짯lo짯p짯ments in Open짯CL inclu짯ding the recent Open짯CL 2.0 spe짯ci짯fi짯ca짯ti짯on, SYCL, SPIR, and more.
More infor짯ma짯ti짯on and calen짯dar links

About The Khronos 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꽓, SPIR꽓, SYCL꽓, Web짯CL꽓, Open짯VX꽓, Open짯MAX꽓, OpenVG꽓, Open짯SL ES꽓, Strea짯mIn짯put꽓, COLLADA꽓 and glTF꽓. 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, SPIR, SYCL, Web짯GL, Web짯CL, COLLADA, Open짯KO짯DE, OpenVG, Open짯VX, VXU, glTF, 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.