Skip to content
This repository has been archived by the owner on Jan 13, 2025. It is now read-only.

hipSYCL Compilation Error #303

Closed
calgray opened this issue Aug 26, 2021 · 3 comments
Closed

hipSYCL Compilation Error #303

calgray opened this issue Aug 26, 2021 · 3 comments

Comments

@calgray
Copy link

calgray commented Aug 26, 2021

When compiling with hipSYCL using the README.md command cmake .. -DhipSYCL_DIR=/opt/hipSYCL/CUDA/lib/cmake/hipSYCL -DSYCL_COMPILER=hipsycl I get the attached compiler error multiple times. My guess is a release version of hipSYCL such as v0.9.1 is needed rather than the repo default branch but I'm guessing that a breaking version change since the initial hipSYCL support is the issue.

Building master on Arch Linux with packages:
computecpp: 2.3.0-1
hipsycl-cuda-git: r1419.72b201e-1
gcc: 11.1.0-1

Compiler Error:

In file included from ~/sycl-blas/src/policy/sycl_policy_handler.cpp:29:
~/sycl-blas/src/policy/sycl_policy_handler.hpp: In instantiation of ‘blas::BufferIterator<element_t, blas::codeplay_policy> blas::PolicyHandler<blas::codeplay_policy>::get_buffer(element_t*) const [with element_t = float]’:
~/sycl-blas/src/policy/sycl_policy_handler.cpp:80:1:   required from here
~/sycl-blas/src/policy/sycl_policy_handler.hpp:62:10: error: no matching function for call to ‘blas::BufferIterator<float, blas::codeplay_policy>::BufferIterator(hipsycl::sycl::buffer<float, 1, std::allocator<unsigned char> >&, long int&)’
   62 |   return BufferIterator<element_t, codeplay_policy>(buff, offset);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ~/sycl-blas/include/policy/sycl_policy_handler.h:29,
                 from ~/sycl-blas/src/policy/sycl_policy_handler.hpp:28,
                 from ~/sycl-blas/src/policy/sycl_policy_handler.cpp:29:
~/sycl-blas/include/container/sycl_iterator.h:86:3: note: candidate: ‘template<class other_scalar_t, class U, class> blas::BufferIterator<element_t, blas::codeplay_policy>::BufferIterator(const blas::BufferIterator<other_scalar_t, blas::codeplay_policy>&) [with other_scalar_t = other_scalar_t; U = U; <template-parameter-2-3> = <template-parameter-1-3>; element_t = float]’
   86 |   BufferIterator(const BufferIterator<other_scalar_t, codeplay_policy>& other);
      |   ^~~~~~~~~~~~~~
~/sycl-blas/include/container/sycl_iterator.h:86:3: note:   template argument deduction/substitution failed:
In file included from ~/sycl-blas/src/policy/sycl_policy_handler.cpp:29:
~/sycl-blas/src/policy/sycl_policy_handler.hpp:62:10: note:   ‘hipsycl::sycl::buffer<float, 1, std::allocator<unsigned char> >’ is not derived from ‘const blas::BufferIterator<element_t, blas::codeplay_policy>’
   62 |   return BufferIterator<element_t, codeplay_policy>(buff, offset);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ~/sycl-blas/include/policy/sycl_policy_handler.h:29,
                 from ~/sycl-blas/src/policy/sycl_policy_handler.hpp:28,
                 from ~/sycl-blas/src/policy/sycl_policy_handler.cpp:29:
~/sycl-blas/include/container/sycl_iterator.h:275:8: note: candidate: ‘blas::BufferIterator<element_t, blas::codeplay_policy>::BufferIterator(const buff_t&) [with element_t = float; blas::BufferIterator<element_t, blas::codeplay_policy>::buff_t = hipsycl::sycl::buffer<float, 1, std::allocator<float> >]’
  275 | inline BufferIterator<element_t, codeplay_policy>::BufferIterator(
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~/sycl-blas/include/container/sycl_iterator.h:275:8: note:   candidate expects 1 argument, 2 provided
~/sycl-blas/include/container/sycl_iterator.h:269:8: note: candidate: ‘blas::BufferIterator<element_t, blas::codeplay_policy>::BufferIterator(const buff_t&, std::ptrdiff_t) [with element_t = float; blas::BufferIterator<element_t, blas::codeplay_policy>::buff_t = hipsycl::sycl::buffer<float, 1, std::allocator<float> >; std::ptrdiff_t = long int]’
  269 | inline BufferIterator<element_t, codeplay_policy>::BufferIterator(
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~/sycl-blas/include/container/sycl_iterator.h:270:72: note:   no known conversion for argument 1 from ‘hipsycl::sycl::buffer<float, 1, std::allocator<unsigned char> >’ to ‘const buff_t&’ {aka ‘const hipsycl::sycl::buffer<float, 1, std::allocator<float> >&’}
  270 |     const typename BufferIterator<element_t, codeplay_policy>::buff_t& buff,
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
~/sycl-blas/include/container/sycl_iterator.h:67:3: note: candidate: ‘blas::BufferIterator<element_t, blas::codeplay_policy>::BufferIterator() [with element_t = float]’
   67 |   BufferIterator() : offset_{0}, buffer_{cl::sycl::range<1>{1}} {}
      |   ^~~~~~~~~~~~~~
~/sycl-blas/include/container/sycl_iterator.h:67:3: note:   candidate expects 0 arguments, 2 provided
In file included from ~/sycl-blas/include/policy/sycl_policy_handler.h:29,
                 from ~/sycl-blas/src/policy/sycl_policy_handler.hpp:28,
                 from ~/sycl-blas/src/policy/sycl_policy_handler.cpp:29:
~/sycl-blas/include/container/sycl_iterator.h:36:7: note: candidate: ‘blas::BufferIterator<float, blas::codeplay_policy>::BufferIterator(const blas::BufferIterator<float, blas::codeplay_policy>&)’
   36 | class BufferIterator<element_t, codeplay_policy> {
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~/sycl-blas/include/container/sycl_iterator.h:36:7: note:   candidate expects 1 argument, 2 provided
~/sycl-blas/include/container/sycl_iterator.h:36:7: note: candidate: ‘blas::BufferIterator<float, blas::codeplay_policy>::BufferIterator(blas::BufferIterator<float, blas::codeplay_policy>&&)’
~/sycl-blas/include/container/sycl_iterator.h:36:7: note:   candidate expects 1 argument, 2 provided
@s-Nick
Copy link
Collaborator

s-Nick commented Apr 22, 2024

Hello @calgray,
I don't know if you are still interested in using portBLAS, but I truly hope so. I want to inform you that with PR #493 and #513 we fixed the issues you reported and now adaptiveCpp is supported for almost every operator.

@calgray
Copy link
Author

calgray commented Apr 22, 2024

Thanks @s-Nick, I'll have another look into porting some more source Cuda to hipSYCL

@Rbiessy
Copy link
Collaborator

Rbiessy commented May 6, 2024

I'm closing this issue. Feel free to create new ones if you run into more errors.

@Rbiessy Rbiessy closed this as completed May 6, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants