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

[DRAFT] Add generic device support to dft domain through portFFT #570

Draft
wants to merge 11 commits into
base: develop
Choose a base branch
from

Conversation

s-Nick
Copy link
Contributor

@s-Nick s-Nick commented Sep 9, 2024

Description

This PR is the continuation of PR #566 and it is based on it.
It adds generic devices support by enabling portFFT and generic device the same way it is done for portBLAS.

Checklist

All Submissions

  • Do all unit tests pass locally? Attach a log.
    • I don't have a non Intel/NVIDIA/AMD device to test with. Tests are successful when forcing Intel devices to go through generic_device path.

Following logs show that all domains still work properly:
portfft_log.txt
arc_blas_log.txt
cufft_log.txt
arc_lapack_log.txt
arc_rng_log.txt

  • Have you formatted the code using clang-format?

New features

hjabird and others added 11 commits August 30, 2024 14:45
* oneMKL Interfaces currently only supports known targets: Intel CPU/GPU, AMD GPU, Nvidia GPU
* This PR:
  * Enables a new generic target
  * Enables the generic target to use the portBLAS backend
  * Adds documentation
possible devices.

This commit remove the option ENABLE_GENERIC_DEVICE and instead add generic_device
to the backends_table. The check for unsupported_device exception is moved to
table_initializer and to keep it as informative as it is, it is required a
change to the function_tables operator[]. This change allows to use
portBLAS (and in a possible future) all "port" libraries with  any
device supported.
This patch enables the possibility to run tests with generic_device for
devices that have an OpenCL backend.
Moved pragma and simplified if-statement to increase code readability
@s-Nick s-Nick requested a review from Rbiessy September 9, 2024 13:22
Copy link
Contributor

@Rbiessy Rbiessy left a comment

Choose a reason for hiding this comment

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

LGTM

Comment on lines +237 to +241
For generic SYCL devices, only portBLAS and portFFT backend are enabled. The user must
set the appropriate ``-fsycl-targets`` for their device, and also any
other option required for performance. See
`Building for portBLAS`_ and `Building for portFFT`_. Extensive testing is strongly advised for these
unsupported configurations.
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you reformat the paragraph to break the lines at 80 columns? The rewrap extension is great for that if you use VS Code.

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.

3 participants