oneMKL icon indicating copy to clipboard operation
oneMKL copied to clipboard

Fix cuda/hip backend location

Open yhmtsai opened this issue 3 years ago • 5 comments

Description

From https://github.com/intel/llvm/pull/6407, it moves almost all headers from CL/sycl to sycl I followed https://github.com/oneapi-src/oneMKL/pull/199 way make the header can use sycl/* if they exist and allow the old intel llvm. I also update the CL/sycl.hpp which are not changed before.

All Submissions

  • [ ] Do all unit tests pass locally? Attach a log. A: It is a compiling issue.
  • [x] Have you formatted the code using clang-format?

Bug fixes

  • [ ] Have you added relevant regression tests? A: It is a compiling issue.
  • [x] Have you included information on how to reproduce the issue (either in a GitHub issue or in this PR)?

Reproduce: compile the latest intel llvm and this repo, it will not be able to compile due to missing headers.

yhmtsai avatar Aug 01 '22 16:08 yhmtsai

@yhmtsai Thanks for the PR. Is the description from sycl/CL to CL correct? My understanding is all header files moved from CL/sycl to sycl

mmeterel avatar Aug 01 '22 16:08 mmeterel

@mmeterel you are right. I write the wrong folder. There are some header files still in sycl/CL. I guess some from opencl? image

yhmtsai avatar Aug 01 '22 16:08 yhmtsai

@mmeterel you are right. I write the wrong folder. There are some header files still in sycl/CL. I guess some from opencl? image

I think the description is still wrong. The change was moving header files from CL/sycl to sycl

mmeterel avatar Aug 01 '22 16:08 mmeterel

Could you please provide the test results with new LLVM compiler? I understand this fixes a compilation issue, but we still want to monitor if there are any functional errors with new compiler version.

mmeterel avatar Aug 01 '22 16:08 mmeterel

Compiling all cublas, cusolver, and curand with testing will lead the error

/var/tmp/oneMKL/include/oneapi/mkl/lapack/detail/cusolver/lapack_ct.hxx:2294:14: note: candidate function template not viable: no known conversion from 'backend_selector<oneapi::mkl::backend::cublas aka 2>' to 'backend_selector<backend::cusolver aka 3>' for 1st argument
std::int64_t gebrd_scratchpad_size(backend_selector<backend::cusolver> selector, std::int64_t m

mixed the backend in the tests. after digging into issue, it https://github.com/oneapi-src/oneMKL/issues/91 or https://github.com/oneapi-src/oneMKL/issues/127 may be related.

oneapi-cuda-blas-test.txt When only enabling blas, it can be compiled but many testings are failed. I do not think it is from this pr. I may need to try cuda 11.6 not cuda 11.4 One more question, does this repo set up any CI with corresponding devices for testing? I can not set up hipSYCL and mkl recently

yhmtsai avatar Aug 01 '22 22:08 yhmtsai

Compiling all cublas, cusolver, and curand with testing will lead the error

/var/tmp/oneMKL/include/oneapi/mkl/lapack/detail/cusolver/lapack_ct.hxx:2294:14: note: candidate function template not viable: no known conversion from 'backend_selector<oneapi::mkl::backend::cublas aka 2>' to 'backend_selector<backend::cusolver aka 3>' for 1st argument
std::int64_t gebrd_scratchpad_size(backend_selector<backend::cusolver> selector, std::int64_t m

mixed the backend in the tests. after digging into issue, it #91 or #127 may be related.

oneapi-cuda-blas-test.txt When only enabling blas, it can be compiled but many testings are failed. I do not think it is from this pr. I may need to try cuda 11.6 not cuda 11.4 One more question, does this repo set up any CI with corresponding devices for testing? I can not set up hipSYCL and mkl recently

@yhmtsai I see the similar errors in my local runs with latest LLVM compiler as well. From the failing tests, it looks like a missing synchronization at first look. Need to look into it deeper.

But I verified that, this PR fixes the build issue. Approved.

mmeterel avatar Aug 29 '22 19:08 mmeterel

@mkrainiuk I verified this build fix locally. Could you please take a look?

I opened another issue about the failures seen with latest LLVM compiler. #223

mmeterel avatar Aug 29 '22 19:08 mmeterel