Iso C++ Sycl Implementation Internship

7 days ago


Edinburgh, United Kingdom Codeplay Full time

Codeplay is is a major contributor to the development of the SYCL open standard for heterogeneous programming with modern C++. As members of the Khronos group Codeplay help shape the future of the SYCL standard in order to bring support for the latest heterogeneous hardware and align SYCL closer to standard C++. Parallel to this the ISO C++ committee are in the process of introducing features to the C++ language and standard library for parallelism, concurrency, asynchronous tasking and support for heterogeneous compute, including both the Parallelism TS 2 and the Executors proposal, which Codeplay has also contributed the development of. The Executors proposal has been in the works for several years, the most recent form being ISO C++ paper P2300, which introduces the sender-receiver asynchronous programming model, which uses the composition of lazy tasks to execute on the CPU as well as heterogeneous accelerators such as GPUs.

We are looking for someone who has an interest in heterogeneous compute programming models and modern C++ who can help us implement these upcoming C++ features based on SYCL. You will be keen to learn about the SYCL programming model, the ComputeCpp and DPC++ implementations of SYCL and the ISO C++ Parallelism TS 2 and Executors proposals. During the internship you will be involved in reviewing the ISO C++ proposals, analyzing them for any gaps in their design in relation to a SYCL-based implementation, and the implement those proposals for SYCL, targeting ComputeCpp and DPC++.

**Please Note**: Due to COVID-19 we are following the Scottish Government Roadmap and, although we are operating normally, we have not yet returned to the office.

**Responsibilities**:

- Evaluate the current status of the Parallelism TS 2 and Executors proposal
- Assess the mapping of SYCL 2020 features to those proposals and identify any gaps
- Implement the Executors proposal on top of SYCL
- Implement the C++ parallel algorithms on top of executors
- Implement and propose extensions for any missing features which are required
**What We Offer**:

- A friendly and relaxed working environment where colleagues respect and support each other.
Great career prospects within a growing company
- Newstart mentoring scheme
- Flexible working hours
- Frequent company social events (social nights, pot luck lunches, gaming, karting, outdoor adventures, and more) (Post-COVID)

**Required Skills**:

- C++ development experience
- Good written English and communication skills
- Ability to work effectively in a remote environment
- Working knowledge of source control and configuration management tools
**Beneficial Skills**:
Knowledge and/or experience of any of the following would be useful for the role, but are not essential. You must be able to learn new skills, but will be given support from Codeplay's team to get you up to speed.
- Experience with heterogeneous programming models such as SYCL, OpenCL or CUDA
- Experience with asynchronous and parallel programming
- Experience with modern C++ (14/17/20)
**Application Guidance**:



  • Edinburgh, United Kingdom Codeplay Full time

    SYCL is a C++-based heterogeneous programming standard for accelerator computing. Codeplay works on implementations of this standard and are investigating using the MLIR compiler framework to enable SYCL-aware optimizations at compile time. This includes allowing the creation of SYCL language extensions so that the programmer can provide more accurate...


  • Edinburgh, United Kingdom Codeplay Full time

    Codeplay is the main developer and maintainer of several SYCL-based libraries, targeting several common HPC workloads. SYCL-DNN is a pure SYCL library that aims to provide performance-portable implementations of frequently used Deep Neural Network (DNN) operators such as convolution, pooling, activation functions and batch normalization. During the...


  • Edinburgh, United Kingdom Codeplay Full time

    In addition to educating users about how NOT to write SYCL code, these tests can be incorporated into the test suites for the runtime, to ensure that the implementation handles the errors gracefully as far as possible. Error handling is a very important feature of software in a safety-critical context and has to be extensively tested to ensure that errors...


  • Edinburgh, United Kingdom Codeplay Full time

    In addition to educating users about how NOT to write SYCL code, these tests can be incorporated into the test suites for the runtime, to ensure that the implementation handles the errors gracefully as far as possible. Error handling is a very important feature of software in a safety-critical context and has to be extensively tested to ensure that errors...


  • Edinburgh, United Kingdom Codeplay Full time

    The Autoware Foundation is developing open-source software for autonomous driving in the vehicles of tomorrow. Some algorithms in the reference implementation make use of CUDA to accelerate kernels on NVidia GPUs. In the automotive industry, however, there is interest in moving away from proprietary programming models and embrace open and portable standards....


  • Edinburgh, United Kingdom Codeplay Full time

    Codeplay is known for implementing OpenCL and SYCL runtimes and compilers for their customers' acceleration platforms. Now we aim to target customers in the automotive sector, who want to run highly complex AI algorithms on their accelerators, which will provide advanced driving assistance (ADAS) and autonomous driving (AD) features to make our roads...


  • Edinburgh, United Kingdom Codeplay Full time

    Codeplay is known for implementing OpenCL and SYCL runtimes and compilers for their customers' acceleration platforms. Now we aim to target customers in the automotive sector, who want to run highly complex AI algorithms on their accelerators, which will provide advanced driving assistance (ADAS) and autonomous driving (AD) features to make our roads...

  • Risc

    7 days ago


    Edinburgh, United Kingdom Codeplay Full time

    Codeplay has a software platform called Acoran, that is designed to support C++ programming on a wide-range of hardware devices. These devices include some RISC-V targets and simulators, in this project we would like to add support for an additional academic multi-core RISC-V simulator. This project should allow us to test higher RISC-V core counts on a...


  • Edinburgh, United Kingdom Codeplay Full time

    Codeplay is known for implementing OpenCL and SYCL runtimes and compilers for their customers' acceleration platforms. Now we aim to target customers in the automotive sector, who want to run highly complex AI algorithms on their accelerators, which will provide advanced driving assistance (ADAS) and autonomous driving (AD) features to make our roads safer....


  • Edinburgh, United Kingdom Ciena Full time

    As the global leader in high-speed connectivity, Ciena is committed to a people-first approach. Our teams enjoy a culture focused on prioritizing a flexible work environment that empowers individual growth, well-being, and belonging. We're a technology company that leads with our humanity—driving our business priorities alongside meaningful social,...