oneCCL Usage
Refer to the Intel oneAPI Collective Communications Library System Requirements for a full list of hardware and software dependencies, such as MPI and Intel oneAPI DPC++/C++ Compiler.
SYCL*-aware API is an optional feature of oneCCL. There is a choice between CPU and SYCL back ends when creating the oneCCL stream object.
For CPU backend: Specify
ccl_stream_host
as the first argument.For SYCL backend: Specify
ccl_stream_cpu
orccl_stream_gpu
depending on the device type.For collective operations that operate on the SYCL stream:
For C API, oneCCL expects communication buffers to be
sycl::buffer
objects casted tovoid*
.For C++ API, oneCCL expects communication buffers to be passed by reference.
Additional usage details are available from https://oneapi-src.github.io/oneCCL/.