Towards performance portability of DNN Models using SYCL

The wide adoption of Deep Neural Networks (DNN) has served as an incentive to design and manufacture powerful and specialized hardware technologies, targeting systems from Edge devices to Cloud and supercomputers. From the software point of view, there are several AI frameworks (such as TensorFlow, Pytorch, ONNXRuntime, MXNet, etc) and libraries provided to efficiently match the close to metal performance of such devices. From the developer point of view, this huge diversity soon becomes a burden due to the emerging dependencies between development stacks and deployment hardware.

Hence, the cross-platform portability remains challenging.

SYCL is an open standard, C++-based single-source programming paradigm. The SYCL programming model allows users to write heterogeneous programs using completely standard ISO C++, and so developers can leverage all native language features, such as template metaprogramming, lambda expressions, or more modern features.