SYCL Container

0 0
  • 0 Collaborators

A container for development SYCL code. Currently, work with Intel CPU, CUDA GPU. (Intel GPU work in progress). Can be used independently of with VScode remote extension ...learn more

Project status: Under Development

oneAPI

Intel Technologies
oneAPI, DPC++

Code Samples [1]

Overview / Usage

A docker container for development SYCL code. This creates a virtualized environment for rapid prototyping of SYCL code without the need to keep track of multiple versions of SYCL, OpenCL, CUDA and drivers. Additionally, the containerized approach enables a rapid deployment opportunity without the need to compile or match the version of SYCL and the driver in the deployment host. This is especially beneficially when deployed on pay-as-you-go cloud services. Currently, this container works with Intel CPU, CUDA GPU. (Intel GPU work in progress). Furthermore, it can be used independently of with VScode remote extension. Further work is required for the automation of building container images.

picture: "Container" by Izabella.R is licensed under CC BY-NC-SA 2.0

Methodology / Approach

The container uses a standard docker build based on Intel/llvm SYCL branch contribution. A base image at danchitnis/sycl-container:llvm-cuda-base compiles a full snapshot llvm using Ninja build. The subsequent llvm-cuda container builds upon the base image with ninja incremental builds. This make the incremental builds significantly faster in order to keep up-to-date with the latest commits in the intel/llvm repository. To be compatible with multiple SYCL targets, the Intel OpenCL, CUDA, CMake and essential developments are pre-installed in the container. The container is tested with CUDA 11.4, WSL2 and native Ubuntu 20.04.

Repository

https://github.com/danchitnis/sycl-container

Comments (0)