Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update compiler to support icpx and latest nightly #512

Merged
merged 13 commits into from May 3, 2024

Conversation

s-Nick
Copy link
Collaborator

@s-Nick s-Nick commented Apr 11, 2024

This patch address compilation issues with icpx for AMD and NVIDIA target.

It add 3 flags if and only if the project is compiled using icpx or clang++ from any oneAPI release and the target is not and Intel device. The flags added force icpx to behave as the open source intel/llvm compiler, making the project works correctly.

This patch also update shuffle operation API to be compatible with the latest intel/llvm commit to allow the project to be compiled also with it.

test/unittest/CMakeLists.txt Outdated Show resolved Hide resolved
cmake/Modules/FindDPCPP.cmake Show resolved Hide resolved
cmake/Modules/FindDPCPP.cmake Outdated Show resolved Hide resolved
Copy link
Collaborator

@hjabird hjabird left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

CMakeLists.txt Outdated Show resolved Hide resolved
@s-Nick s-Nick force-pushed the update_compiler_support branch 2 times, most recently from 95aa529 to e8450fb Compare April 16, 2024 13:33
For consistency, adding the same math related flag to all test if the library
is compiled with IntelLLVM compiler.
SYCL2020 introduced a new API for shuffle operation and the old one
seems deprecated in latest intel/llvm open source compiler commit.
This patch update that call to the new one to keep compiler
compatibility.
Inverting device check before adding extra compiler flags to increase
compatibility. Removing useless flags in test.
Removing -fno-fast-math from rotmg and rotg tests compilation causes them to
fail.
Adding message for header only llibrary usage.
Adding `-fno-fast-math` flag to all tests if compiler is "IntelLLVM"
Suggest use of icpx instead of clang from intel/llvm.
Currently some configurations are not included while installing the
header only version of portBLAS. This way users have to set them inside
their cmake. With this patch all configuration, inclusion and definition
set during local portBLAS configuration and installation are carried
over and available to users from their cmake by meanings of
*INTERFACE_INCLUDE_DIRECTORIES*, *INTERFACE_COMPILE_OPTIONS* and
*INTERFACE_COMPILE_DEFINITIONS* variables.

Signed-off-by: nscipione <nicolo.scipione@codeplay.com>
INSTALL_HEADER_ONLY and normal compilation configuration need a
different value for it.
CMakeLists.txt Outdated Show resolved Hide resolved
CMakeLists.txt Outdated Show resolved Hide resolved
CMakeLists.txt Outdated Show resolved Hide resolved
CMakeLists.txt Outdated Show resolved Hide resolved
CMakeLists.txt Outdated Show resolved Hide resolved
@s-Nick s-Nick merged commit 628017f into codeplaysoftware:master May 3, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants