Codeplay is pleased to announce its participation in the IWOCL2015 (International Workshop on OpenCL™) event at Stanford University, USA, 12-13 May, and the Embedded Vision Summit in Santa Clara on 12 May.
IWOCL is an annual meeting of OpenCL users, researchers, developers and suppliers to share OpenCL best practise, and to promote the evolution and advancement of the OpenCL standard. The meeting is open to anyone who is interested in contributing to, and participating in the OpenCL community.
It is the premier forum for the presentation and discussion of new designs, trends, algorithms, programming models, software, tools and ideas for OpenCL. Additionally, IWOCL provides a formal channel for community feedback to OpenCL promoters and contributors.
Attending from Codeplay will be our CEO, Andrew Richards, our Product Marketing Consultant, Charles Macfarlane, and several of our finest Engineers that are involved with our work on the SYCL™ standard. Maria Rovatsou is one of the specification editors that lead the definition of SYCL, as well as heading our team that are developing an implementation of it. Gordon Brown and Ruymán Reyes are expert members of that team, and Ralph Potter is working on cutting edge research related to the standard.
Andrew Richards will be leading the conference session, "Update on the SYCL for OpenCL Open Standard to Enable C++ Meta Programming on Top of OpenCL":
- SYCL is a royalty-free, open standard, higher-level C++ programming model for OpenCL. C++ developers can produce easy-to-use template libraries for OpenCL devices, as well as easily porting C++ applications to use OpenCL. By providing ease-of-use, high performance and modern C++ techniques, SYCL enables a wide range of developers to accelerate their applications and libraries. Previously, two provisional specifications of SYCL have been released. We hope, subject to approval, to be able to present exciting news about SYCL for developers at IWOCL. This presentation will take developers through: what SYCL is, our latest news, as well as all the new possibilities SYCL enables for developers. We are particularly keen to talk about how SYCL can work well with other C++ standards and libraries, such as C++17, to bring the high performance and widespread device support of OpenCL to a whole new community of developers. Andrew Richards is Chair of the SYCL working group.
Also contributing to the programme of Conference sessions will be Ralph Potter, presenting his collaboration with Codeplay's Alastair Murray, the University of Bath, and the University of the West of Scotland in his session, "Kernel Composition in SYCL":
- Parallel primitives libraries reduce the burden of knowledge required for developers to begin developing parallel applications and accelerating them with OpenCL. Unfortunately some current implementations implement primitives as individual kernels and so incur a high performance cost in off-chip memory operations for intermediate variables. We describe a methodology for creating efficient domain specific embedded languages on top of the SYCL for OpenCL standard for parallel programming. Using this approach, a small example language was developed which provides an environment for composing image processing pipelines from a library of more primitive operations, while retaining the capability to generate a single kernel from a complex expression, and so eliminate unnecessary intermediate loads and stores to global memory. This elimination of global memory accesses leads to a 2.75x speedup over implementing an unsharp mask in OpenCLIPP. We give details of our domain specific embedded language, and provide experimental performance measurements of both primitive performance and an unsharp mask operation composed of multiple primitives.
Finally, Codeplay has organized the "Khronos SYCL for OpenCL" tutorial, featuring the following sessions from Codeplay's engineers, alongside other partners from the SYCL working group.
Ruymán Reyes and Maria Rovatsou will be presenting their interactive tutorial, "Hands on SYCL using Codeplay's SYCL implementation":
- SYCL 1.2 is a new exciting technology that enables developers to use OpenCL 1.2 within a C++ programming model. This is a hands-on tutorial on SYCL using an early trial version of Codeplay's implementation. This tutorial will provide to participants the opportunity to go through the different ways of programming OpenCL using SYCL and try it on their own environment using Virtual Machines with AMD's OpenCL SDK.
Ruymán will also be presenting his tutorial, "SYCL for Parallel STL":
- There has been growing interest on the C++ and Heterogeneous Programming communities of providing natural ways of exposing parallel programming in C++. Various libraries exists in an attempt to cover this functionality, such as TBB, Bolt or Thurst. A proposal to standarize these libraries via an extension to the current Standard Template Library (STL) has been submitted to the C++17 standard (N4310). Various implementations of this working draft have been proposed, like the ParallelSTL from Microsoft. The aim of this project is to provide an implementation of this working draft using SYCL, the Khronos C++ abstraction layer built on top of OpenCL. A simple prototype implementation already exists, but there are plenty of opportunities to improve the performance and the coverage of the various STL algorithms and containers.
Charles Macfarlane will also be attending the Embedded Vision Summit: an industry-oriented conference and trade show for product creators who want to incorporate visual intelligence into their products—including embedded systems, mobile applications, PCs, and the cloud. Charles will be available for meeting here with anyone interesting in having a chat about the proceedings, and Codeplay Software.
We’re always delighted to speak with anyone interested in what we’re doing, so please come and say "hello". If you would like to arrange a meeting with any of us at the event, please follow us on @codeplaysoft and make contact!
SYCL is a trademark of the Khronos Group Inc.
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.