From 4b5ab22ae98d37730e0a01c7411a1363aba0cb5d Mon Sep 17 00:00:00 2001 From: AlyanSal Date: Thu, 22 Oct 2026 15:32:24 -0400 Subject: [PATCH 1/2] added gpu compile tests for github ci --- .github/workflows/test.yml | 42 +++++++++++++++++++++++++++++++++++ tests/consumer/CMakeLists.txt | 8 +++++++ tests/consumer/main.cu | 15 +++++++++++++ 3 files changed, 65 insertions(+) create mode 100644 tests/consumer/CMakeLists.txt create mode 100644 tests/consumer/main.cu diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 93ef72e..6eb1eb8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -45,3 +45,45 @@ jobs: - name: Test run: ./scripts/test.sh --cu --clean + + cuda-compile: + name: CUDA Compile + runs-on: ubuntu-26.04 + container: nvidia/cuda:13.3.1-devel-ubuntu26.04 + timeout-minutes: 30 + + steps: + - uses: actions/checkout@v6 + - name: Install build tools + run: | + apt-get update + apt-get install -y g++-15 cmake ninja-build + - name: Configure + run: | + cmake -S . -B build-cuda -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_CXX_COMPILER=g++-15 \ + -DCMAKE_CUDA_HOST_COMPILER=g++-15 \ + -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc \ + -DCMAKE_CUDA_ARCHITECTURES=80 \ + -DCMAKE_CUDA_FLAGS="--Werror all-warnings" \ + -DXPU_ENABLE_CUDA=ON \ + -DXPU_ENABLE_LINALG=ON \ + -DXPU_BUILD_TESTS=ON \ + -DXPU_ARCH_NATIVE=OFF + - name: Build CUDA tests + run: cmake --build build-cuda --parallel 2 + - name: Install XPU + run: cmake --install build-cuda --prefix "$GITHUB_WORKSPACE/xpu-install" + - name: Build installed-target consumer + run: | + cmake -S tests/consumer -B build-consumer -G Ninja \ + -DXPU_INSTALL_PREFIX="$GITHUB_WORKSPACE/xpu-install" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_COMPILER=g++-15 \ + -DCMAKE_CUDA_HOST_COMPILER=g++-15 \ + -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc \ + -DCMAKE_CUDA_ARCHITECTURES=80 \ + -DCMAKE_CUDA_FLAGS="--Werror all-warnings" + cmake --build build-consumer --parallel 2 diff --git a/tests/consumer/CMakeLists.txt b/tests/consumer/CMakeLists.txt new file mode 100644 index 0000000..f337390 --- /dev/null +++ b/tests/consumer/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.25) +project(xpu_consumer LANGUAGES CXX CUDA) + +find_package(CUDAToolkit REQUIRED) +include("${XPU_INSTALL_PREFIX}/lib/cmake/xpu/xpuTargets.cmake") + +add_executable(xpu_consumer main.cu) +target_link_libraries(xpu_consumer PRIVATE xpu::xpu xpu::linalg) diff --git a/tests/consumer/main.cu b/tests/consumer/main.cu new file mode 100644 index 0000000..d71546f --- /dev/null +++ b/tests/consumer/main.cu @@ -0,0 +1,15 @@ +#include + +#ifndef XPU_CUDA + #error "The installed xpu::xpu target must enable the CUDA backend" +#endif + +__global__ void copy_second_array(xpu::soa_view view) { + if (threadIdx.x == 0) { + view[1][0] = view[0][0]; + } +} + +int main() { + return 0; +} From 2e693927f93f892201a4c74748cd124d384f60f4 Mon Sep 17 00:00:00 2001 From: AlyanSal Date: Thu, 22 Oct 2026 15:43:50 -0400 Subject: [PATCH 2/2] fixed cmake not building --- .github/workflows/test.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6eb1eb8..adc8c7d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -57,9 +57,13 @@ jobs: - name: Install build tools run: | apt-get update - apt-get install -y g++-15 cmake ninja-build + apt-get install -y g++-15 ninja-build python3-venv + python3 -m venv /opt/xpu-cmake + /opt/xpu-cmake/bin/python -m pip install --disable-pip-version-check --only-binary=:all: cmake==4.4.2 + echo /opt/xpu-cmake/bin >> "$GITHUB_PATH" - name: Configure run: | + cmake --version cmake -S . -B build-cuda -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_LIBDIR=lib \