Skip to main content Skip to page footer

 

Aims and Objectives

Accelerators have become an important component of modern supercomputer architectures. In recent years, the diversity with respect to accelerator architectures has increased. Additionally, the utilization of specialized hardware can ensure performance increases in a world where traditional mechanisms of performance gains such as Moore’s law seem to slow down. This can make it attractive to potentially even utilize multiple types of processors or accelerators within a single application, if different tasks within that application exhibit different characteristics that are best exploited by varying types of processors.

As a result, portable programming models are required that are able to target multiple types of devices simultaneously, while at the same time shielding the users from the complexities of programming such complex system architectures.

To address these issues, the AdaptiveCpp project (formerly known as hipSYCL) provides a modern implementation of the Khronos SYCL programming model with multiple backends that cover a wide range of currently available hardware. Additionally, AdaptiveCpp serves as a research platform for programming model development, as well as compiler and parallel runtime technologies.

The development of AdaptiveCpp is supported by Intel within the framework of a oneAPI Center of Excellence and through the European Union's SYCLops project.

Research Topics

Within the AdaptiveCpp project, we are interested in heterogeneous and hardware-aware computing from multiple angles:

  • Improving the expressiveness and power of the SYCL programming model in general to allow users to extract more performance with less code;
  • Performance optimizations using modern compiler and runtime technologies for heterogeneous computing in order to develop a SYCL implementation that delivers excellent performance for existing SYCL code;
  • Developing advanced scheduling mechanisms to efficiently distribute work across processors within a heterogeneous system, including performance models of kernel runtime and similar techniques to assist scheduling decisions.
  • Making heterogeneous computing more accessible by exploring high-level models such as C++ standard parallelism

 

People from EMCL

Contact

  • Aksel Alpay

Conferences & Publications

See here.

Links

https://github.com/AdaptiveCpp/AdaptiveCpp