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

Change usage of DEFAULT_CPU TUNING_TARGET to DEFAULT #515

Merged
merged 9 commits into from
May 10, 2024

Conversation

s-Nick
Copy link
Collaborator

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

This PR changes the DEFAULT_CPU from a CPU specific TUNING_TARGET to a general DEFAULT one. Using this target allow portBLAS to run on every hardware correctly but at performance expenses.

In order to use the DEFAULT target on AMD or NVIDIA users are required to specify DPCPP_SYCL_TARGET and DPCPP_SYCL_ARCH otherwise the compiler cannot offload the kernel.

Right now, some operators don't work correctly consequently those tests are disable for that target.
Tests disabled on AMD GPUs:

  • iamax
  • iamin
  • tbsv
  • tpsv
  • trsv

Tests disabled on NVIDIA GPUs:

  • iamax
  • iamin
  • tbsv
  • tpsv
  • trsv
  • trsm

@s-Nick s-Nick requested review from hjabird, Rbiessy and pgorlani April 29, 2024 15:36
@s-Nick s-Nick force-pushed the change_default branch from 6f8b09b to 440af7e Compare May 3, 2024 13:41
@s-Nick s-Nick marked this pull request as ready for review May 6, 2024 13:15
test/unittest/CMakeLists.txt Outdated Show resolved Hide resolved
test/unittest/CMakeLists.txt Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
test/unittest/CMakeLists.txt Outdated Show resolved Hide resolved
test/unittest/CMakeLists.txt Outdated Show resolved Hide resolved
s-Nick and others added 9 commits May 8, 2024 10:56
Using DEFAULT_CPU as TUNING_TARGET for AMD or NVIDIA GPUs let some tests
fail. Disabling failing tests for now and output a proper message.

Signed-off-by: nscipione <[email protected]>
This tuning target is capable of compiling for every device if
DPCPP_SYCL_TARGET and DPCPP_SYCL_ARCH are specified correctly.
So this comment is a first step in changing this target behaviour and
increasing general understanding.
Running tests on w6800 AMD GPU revails another test failing. Skip this
test for now.

Signed-off-by: nscipione <[email protected]>
Add possibility of using DEFAULT as target. Explaining how and current
operators situation.
The default target is not compatible only with CPU, so renaming files
and references from "default_cpu" to "default"
Set a unique variable to decide which tests are skipped according to
compiler, tuning target and hardware

Signed-off-by: nscipione <[email protected]>
Co-authored-by: HJA Bird <[email protected]>
@s-Nick s-Nick force-pushed the change_default branch from 2f46c4d to abb491e Compare May 8, 2024 09:57
@s-Nick s-Nick merged commit 5b80c99 into codeplaysoftware:master May 10, 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.

4 participants