Skip to content

[rocSparse][AdaptiveCPP] Build issues with Sparse domain #683

@abagusetty

Description

@abagusetty

Steps to reproduce:

cmake .. \
      -DCMAKE_C_COMPILER=acpp \
      -DCMAKE_CXX_COMPILER=acpp \
      -DONEMATH_SYCL_IMPLEMENTATION=hipsycl \
      -DAdaptiveCpp_DIR=${ACPP_HOME}/acpp/lib/cmake/AdaptiveCpp \
      -DENABLE_MKLGPU_BACKEND=False \
      -DENABLE_MKLCPU_BACKEND=False \
      -DENABLE_ROCBLAS_BACKEND=True \
      -DENABLE_ROCSOLVER_BACKEND=True \
      -DENABLE_ROCRAND_BACKEND=True \
      -DENABLE_ROCSPARSE_BACKEND=True \
      -DHIPSYCL_TARGETS=hip:gfx90a \
      -DBUILD_FUNCTIONAL_TESTS=False \
      -DBUILD_EXAMPLES=False \
      -DHIP_TARGETS=gfx90a \
      -DCMAKE_INSTALL_PREFIX=${ACPP_HOME}/onemath

Compiler Version: (AdaptiveCPP:v25.02.0)

acpp --version
AMD clang version 19.0.0git (https://github.com/RadeonOpenCompute/llvm-project roc-6.4.0 25133 c7fe45cf4b819c5991fe208aaa96edf142730f1d)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/rocm-6.4.0/lib/llvm/bin
Configuration file: /opt/rocm-6.4.0/lib/llvm/bin/clang++.cfg

Error:

[  7%] Building CXX object bin/sparse_blas/backends/rocsparse/CMakeFiles/onemath_sparse_blas_rocsparse_obj.dir/rocsparse_handles.cpp.o
cd /lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/build-acpp-rocm6.4.0/bin/sparse_blas/backends/rocsparse && /lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/acpp_install-6.4.0_05282025/acpp/bin/acpp -DUSE_PROF_API=1 -D__HIP_PLATFORM_AMD__=1 -I/lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/include -I/lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/build-acpp-rocm6.4.0/bin -I/lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src/include -I/lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src -isystem /opt/rocm-6.4.0/include -O3 -DNDEBUG -std=gnu++17 -fPIC -Wall -Wextra -Wshadow -Wconversion -Wpedantic -MD -MT bin/sparse_blas/backends/rocsparse/CMakeFiles/onemath_sparse_blas_rocsparse_obj.dir/rocsparse_handles.cpp.o -MF CMakeFiles/onemath_sparse_blas_rocsparse_obj.dir/rocsparse_handles.cpp.o.d -o CMakeFiles/onemath_sparse_blas_rocsparse_obj.dir/rocsparse_handles.cpp.o -c /lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src/sparse_blas/backends/rocsparse/rocsparse_handles.cpp
In file included from /lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src/sparse_blas/backends/rocsparse/rocsparse_handles.cpp:20:
In file included from /lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/include/oneapi/math/sparse_blas/detail/rocsparse/onemath_sparse_blas_rocsparse.hpp:25:
In file included from /lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/include/oneapi/math/sparse_blas/types.hpp:23:
In file included from /lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/include/oneapi/math/types.hpp:30:
/lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/include/oneapi/math/bfloat16.hpp:67:36: warning: implicit conversion loses integer precision: 'int' to 'std::uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion]
   67 |     bfloat16(int raw_, bool) : raw(raw_) {}
      |                                   ~^~~~
/lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/include/oneapi/math/bfloat16.hpp:222:44: warning: implicit conversion changes signedness: 'int' to 'std::uint32_t' (aka 'unsigned int') [-Wsign-conversion]
  222 |     return bfloat16_impl::raw_to_float(raw << 16);
      |            ~~~~~~~~~~~~~               ~~~~^~~~~
In file included from /lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src/sparse_blas/backends/rocsparse/rocsparse_handles.cpp:22:
In file included from /lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src/sparse_blas/backends/rocsparse/rocsparse_error.hpp:25:
In file included from /opt/rocm-6.4.0/include/hip/hip_runtime.h:70:
/opt/rocm-6.4.0/include/hip/hip_runtime_api.h:1172:16: error: redefinition of 'dim3'
 1172 | typedef struct dim3 {
      |                ^
/lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/acpp_install-6.4.0_05282025/acpp/bin/../include/AdaptiveCpp/hipSYCL/pcuda/detail/dim3.hpp:16:8: note: previous definition is here
   16 | struct dim3 {
      |        ^
In file included from /lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src/sparse_blas/backends/rocsparse/rocsparse_handles.cpp:23:
In file included from /lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src/sparse_blas/backends/rocsparse/rocsparse_helper.hpp:31:
/lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src/sparse_blas/sycl_helper.hpp:58:13: error: no member named 'host_task' in 'hipsycl::sycl::handler'
   58 |         cgh.host_task([=]() { delete ptr; });
      |         ~~~ ^
/lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src/sparse_blas/sycl_helper.hpp:74:13: error: no member named 'host_task' in 'hipsycl::sycl::handler'
   74 |         cgh.host_task([=]() {});
      |         ~~~ ^
In file included from /lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src/sparse_blas/backends/rocsparse/rocsparse_handles.cpp:25:
/lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src/sparse_blas/backends/rocsparse/rocsparse_scope_handle.hpp:56:5: error: unknown type name 'HIPcontext'
   56 |     HIPcontext original_;
      |     ^
/lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src/sparse_blas/backends/rocsparse/rocsparse_scope_handle.hpp:63:52: error: use of undeclared identifier 'pi_context'
   63 |     static thread_local rocsparse_handle_container<pi_context> handle_helper;
      |                                                    ^
/lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src/sparse_blas/backends/rocsparse/rocsparse_scope_handle.hpp:81:52: error: no member named 'ext_oneapi_hip' in 'hipsycl::rt::backend_id'
   81 |     auto hipPtr = ih.get_native_mem<sycl::backend::ext_oneapi_hip>(acc);
      |                                     ~~~~~~~~~~~~~~~^
In file included from /lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src/sparse_blas/backends/rocsparse/rocsparse_handles.cpp:26:
In file included from /lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src/sparse_blas/backends/rocsparse/rocsparse_task.hpp:24:
/lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src/sparse_blas/backends/common_launch_task.hpp:70:9: error: no member named 'host_task' in 'hipsycl::sycl::handler'
   70 |     cgh.host_task([functor, queue, capture_only_accessors...](sycl::interop_handle ih) {
      |     ~~~ ^
/lustre/orion/csc613/scratch/abagusetty/SYCL_compilers_05282025/oneMath/src/sparse_blas/backends/common_launch_task.hpp:88:9: error: no member named 'host_task' in 'hipsycl::sycl::handler'
   88 |     cgh.host_task(
      |     ~~~ ^
2 warnings and 8 errors generated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Sparse BLAS domainSparse BLAS domain issue/requestbugA request to fix an issuehelp wantedTasks, issues or features that could be implemented and contributed to the project

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions