GitHub - AdaptiveCpp/featuresupport (original) (raw)

Accessor simplifications

✔️ (partial) (PR)

[6]

USM: Memory management functions

✔️ (PR)

[1]

USM: Queue shortcuts

✔️ (PR)

USM: Prefetch

✔️ (PR)

[2]

USM: mem_advise

Implementation requires host tasks since backends do not provide async mem advise

USM: memcpy

✔️ (PR)

USM: memset/fill

✔️ (PR)

host tasks

Optional lambda naming

✔️ (PR)

Subgroups

✔️ (PR)

On CPU, subgroup size is always 1

In-order queues

✔️ (PR)

Explicit dependencies (depends_on())

✔️ (PR)

Backend interop API

✔️ (PR)

[3]

Reductions

✔️ (PR)

[4]

Group algorithms

✔️ (PR)

[5]

New device selector API

✔️ (PR)

Aspect API

✔️ (PR)

Deduction guides

✔️ (PR)

atomic_ref

✔️ (PR)

marray

New SYCL/sycl.hpp header

✔️ (PR)

C++17 by default

✔️ (PR)

Builtin changes: ctz(), clz()

Remove *_class types

const return type for read accessor operator[]

Remove buffer API for unique_ptr

Replace program class with module

Add kernel_handler

explicit queue, context constructors

✔️ (PR)

Only require C++ trivially copyable for shared data

✔️

Has always worked thanks to CUDA/HIP toolchain

Update group class with new types/member functions

Remove nd_item::barrier()

Replace mem_fence with atomic_fence

Add vec::operator[],unary +,-, static constexpr get_size()/get_count()

✔️ (PR)

buffer, local accessor are C++ ContiguousContainer

Replace image with sampled_image, unsampled_image

All accessors are placeholders

✔️ (PR)

Use single exception type derived from std::exception

Default asynchronous handler should terminate program

✔️ (PR)

Kernel invocation APIs take const reference to kernels, kernels must be immutable

Queue constructor accepting both device and context

✔️ (PR)

Simplified parallel_for API

Clarified names for device specific info queries

Address space changes, generic address spaces

Partially, we have always had generic address spaces because of CUDA/HIP

Updated multi_ptr interface

Remove OpenCL types, cl_int etc

✔️

hipSYCL has stopped supporting them a long time ago