Skip to content

Commit

Permalink
Rename hipSYCL to AdaptiveCpp, update CI version and filters
Browse files Browse the repository at this point in the history
  • Loading branch information
psalz committed Feb 21, 2024
1 parent 2bf7de2 commit dd1ad50
Show file tree
Hide file tree
Showing 203 changed files with 869 additions and 866 deletions.
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
# the corresponding owner only.
/cmake/FindDPCPP.cmake @bader
/cmake/AdaptDPCPP.cmake @bader
/cmake/FindhipSYCL.cmake @illuhad
/cmake/AdaptAdaptiveCpp.cmake @illuhad

/test_plans @gmlueck @KhronosGroup/sycl-cts-reviewers
8 changes: 4 additions & 4 deletions .github/workflows/cts_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ jobs:
include:
- sycl-impl: dpcpp
version: 1dbee22f9c8a3a825deb871bab76937e04fa26fc
- sycl-impl: hipsycl
version: 3d8b1cd
- sycl-impl: adaptivecpp
version: f31000da3bfd405c9ec0c3fa35026767c2882839
steps:
- name: Checkout
uses: actions/checkout@v3
Expand Down Expand Up @@ -115,8 +115,8 @@ jobs:
include:
- sycl-impl: dpcpp
version: 1dbee22f9c8a3a825deb871bab76937e04fa26fc
- sycl-impl: hipsycl
version: 3d8b1cd
- sycl-impl: adaptivecpp
version: f31000da3bfd405c9ec0c3fa35026767c2882839
env:
container-workspace: /__w/${{ github.event.repository.name }}/${{ github.event.repository.name }}
parallel-build-jobs: 2
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ To compile the CTS, the following dependencies are required:
- Python 3.7 or higher
- CMake 3.15 or higher
- A SYCL implementation
- The CTS currently supports DPC++ and hipSYCL
- The CTS currently supports DPC++ and AdaptiveCpp
- See the [AddSYCLExecutable.cmake](cmake/AddSYCLExecutable.cmake) module on
how to add support for additional SYCL implementations

Expand All @@ -35,7 +35,7 @@ cloning this repository and its submodules:

Then enter the `SYCL-CTS` folder and configure the build using CMake:

`cmake -S . -B build -DSYCL_IMPLEMENTATION=<DPCPP|hipSYCL>`
`cmake -S . -B build -DSYCL_IMPLEMENTATION=<DPCPP|AdaptiveCpp>`

See [CMake Configuration Options](#cmake-configuration-options) for additional
configuration options that can be passed here.
Expand All @@ -53,7 +53,7 @@ for all categories.
The CTS can be configured using the following CMake configuration options:

`SYCL_IMPLEMENTATION` (default: None)
`DPCPP` or `hipSYCL`.
`DPCPP` or `AdaptiveCpp`.

`SYCL_CTS_EXCLUDE_TEST_CATEGORIES` (default: None)
Optional file specifying a list of test categories to be excluded from the build.
Expand Down
9 changes: 2 additions & 7 deletions ci/hipsycl.filter → ci/adaptivecpp.filter
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,32 @@ accessor_legacy
atomic
buffer
context
device
device_selector
event
exception_handling
exceptions
group
group_functions
h_item
handler
hierarchical
host_task
image
image_accessor
item
kernel
kernel_args
kernel_bundle
marray
math_builtin_api
marray
multi_ptr
nd_item
nd_range
optional_kernel_features
property
queue
range
sampler
scalars
spec_constants
stream
usm
vector_alias
vector_api
vector_constructors
vector_load_store
Expand Down
2 changes: 1 addition & 1 deletion ci/generate_exclude_filter.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ def parse_arguments():
configuration-time test category filters for all failing targets.""")

parser.add_argument('sycl_implementation', metavar="SYCL-Implementation",
choices=['DPCPP', 'hipSYCL', 'SimSYCL'], type=str,
choices=['DPCPP', 'AdaptiveCpp', 'SimSYCL'], type=str,
help="The SYCL implementation to use")
parser.add_argument('--cmake-args', type=str,
help="Arguments to pass on to CMake during configuration")
Expand Down
4 changes: 2 additions & 2 deletions cmake/AdapthipSYCL.cmake → cmake/AdaptAdaptiveCpp.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
add_library(SYCL::SYCL INTERFACE IMPORTED GLOBAL)
target_link_libraries(SYCL::SYCL INTERFACE hipSYCL::hipSYCL-rt)
target_link_libraries(SYCL::SYCL INTERFACE AdaptiveCpp::acpp-rt)
# add_sycl_executable_implementation function
# Builds a SYCL program, compiling multiple SYCL test case source files into a
# test executable, invoking a single-source/device compiler
Expand All @@ -17,7 +17,7 @@ function(add_sycl_executable_implementation)
add_library(${object_lib_name} OBJECT ${test_cases_list})
add_executable(${exe_name} $<TARGET_OBJECTS:${object_lib_name}>)

# hipSYCL needs the macro to be called on both the object library (to
# AdaptiveCpp needs the macro to be called on both the object library (to
# override the compiler) and the executable (to override the linker).
add_sycl_to_target(TARGET ${object_lib_name} SOURCES ${test_cases_list})
add_sycl_to_target(TARGET ${exe_name})
Expand Down
2 changes: 1 addition & 1 deletion cmake/AdaptSimSYCL.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ function(add_sycl_executable_implementation)
add_library(${object_lib_name} OBJECT ${test_cases_list})
add_executable(${exe_name} $<TARGET_OBJECTS:${object_lib_name}>)

# hipSYCL needs the macro to be called on both the object library (to
# AdaptiveCpp needs the macro to be called on both the object library (to
# override the compiler) and the executable (to override the linker).
add_sycl_to_target(TARGET ${object_lib_name} SOURCES ${test_cases_list})
add_sycl_to_target(TARGET ${exe_name})
Expand Down
4 changes: 2 additions & 2 deletions cmake/AddSYCLExecutable.cmake
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
set (KNOWN_SYCL_IMPLEMENTATIONS "DPCPP;hipSYCL;SimSYCL")
set (KNOWN_SYCL_IMPLEMENTATIONS "DPCPP;AdaptiveCpp;SimSYCL")
if ("${SYCL_IMPLEMENTATION}" STREQUAL "" OR NOT ${SYCL_IMPLEMENTATION} IN_LIST KNOWN_SYCL_IMPLEMENTATIONS)
message(FATAL_ERROR
"The SYCL CTS requires specifying a SYCL implementation with "
"-DSYCL_IMPLEMENTATION=[DPCPP;hipSYCL;SimSYCL]")
"-DSYCL_IMPLEMENTATION=[DPCPP;AdaptiveCpp;SimSYCL]")
endif()

if(NOT TARGET OpenCL_Proxy)
Expand Down
35 changes: 35 additions & 0 deletions docker/adaptivecpp/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# AdaptiveCpp version (git revision) to install
ARG IMPL_VERSION

FROM khronosgroup/sycl-cts-ci:common

ARG IMPL_VERSION
RUN test -n "$IMPL_VERSION" || ( echo "Error: IMPL_VERSION is not set"; exit 1 )

RUN export DEBIAN_FRONTEND=noninteractive && \
apt update && \
apt install -y --no-install-recommends \
libboost-context-dev \
libboost-fiber-dev && \
apt-get clean && \
rm -rf /var/lib/apt/lists*

RUN git clone https://github.com/AdaptiveCpp/AdaptiveCpp.git \
--branch=develop --single-branch --shallow-since=2024-02-19 \
--recurse-submodules /tmp/AdaptiveCpp && \
cd /tmp/AdaptiveCpp && \
git checkout $IMPL_VERSION && \
cmake /tmp/AdaptiveCpp -G Ninja -B /tmp/build \
-DWITH_SSCP_COMPILER=OFF \
-DWITH_STDPAR_COMPILER=OFF \
-DWITH_ACCELERATED_CPU=OFF \
-DWITH_CUDA_BACKEND=OFF \
-DWITH_ROCM_BACKEND=OFF \
-DWITH_OPENCL_BACKEND=OFF \
-DWITH_CPU_BACKEND=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/sycl && \
cmake --build /tmp/build --target install && \
rm -rf /tmp/AdaptiveCpp /tmp/build

COPY configure.sh /scripts/
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -o errexit -o pipefail -o noclobber -o nounset

cmake . -G Ninja -B build \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DSYCL_IMPLEMENTATION=hipSYCL \
-DSYCL_IMPLEMENTATION=AdaptiveCpp \
-DCMAKE_PREFIX_PATH=/sycl \
-DCMAKE_BUILD_TYPE=Release \
-DSYCL_CTS_ENABLE_OPENCL_INTEROP_TESTS=0 \
Expand Down
28 changes: 0 additions & 28 deletions docker/hipsycl/Dockerfile

This file was deleted.

8 changes: 4 additions & 4 deletions docs/README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -327,12 +327,12 @@ Their usage is best explained in an example:

[source,c++]
----
DISABLED_FOR_TEST_CASE(hipSYCL)("some feature works as expected", "[some-feature]")({
CHECK(sycl::something_that_hipsycl_does_not_yet_support() == 123);
DISABLED_FOR_TEST_CASE(AdaptiveCpp)("some feature works as expected", "[some-feature]")({
CHECK(sycl::something_that_adaptivecpp_does_not_yet_support() == 123);
});
----

While for other SYCL implementations the test case will compile as if it were a normal `TEST_CASE`, for hipSYCL it will instead compile to a test case that fails at runtime with the message `"This test case has been compile-time disabled."`.
While for other SYCL implementations the test case will compile as if it were a normal `TEST_CASE`, for AdaptiveCpp it will instead compile to a test case that fails at runtime with the message `"This test case has been compile-time disabled."`.

Note that unlike the normal `TEST_CASE` macro, `DISABLED_FOR_TEST_CASE` requires that the body of the test is wrapped in parentheses and followed by a semicolon.

Expand All @@ -341,7 +341,7 @@ The CTS currently provides the following macros for compile-time disabling test
* `DISABLED_FOR_TEST_CASE(<impls...>)(<description>, <tags>)(<body>)`
* `DISABLED_FOR_TEMPLATE_TEST_CASE_SIG(<impls...>)(<description>, <tags>, <signature>, <types...>)(<body>)`

where `<impls...>` is a comma-separated list of `hipSYCL` and/or `DPCPP`.
where `<impls...>` is a comma-separated list of `AdaptiveCpp` and/or `DPCPP`.

NOTE: #**TODO:** Custom matchers.#

Expand Down

0 comments on commit dd1ad50

Please sign in to comment.