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

OpenMPTarget on Intel GPUs update #6735

Merged
merged 5 commits into from Jan 31, 2024

Conversation

masterleinad
Copy link
Contributor

@masterleinad masterleinad commented Jan 23, 2024

This pull request updates the linker flags for OpenMPTarget on Intel GPUs matching what we are doing for SYCL and disables failing tests. Interestingly, we see problems both for SYCL and OpenMPTarget with the bessel functions but we have more failures with the latter.

I reported the test failures to Argonne folks.

@masterleinad
Copy link
Contributor Author

@rgayatri23 Can you please review?

@rgayatri23
Copy link
Contributor

Looks reasonable. You are only disabling non working unit tests.
Are the issues during compile or runtime?

It looks like most of the failures are with algorithms and math functions, is there any idea as to whether its related to any particular set of instructions that the intel compilers are unable to execute inside OpenMP's target region?

@masterleinad
Copy link
Contributor Author

Are the issues during compile or runtime?

Everything compiles but we get wrong results.

It looks like most of the failures are with algorithms and math functions, is there any idea as to whether its related to any particular set of instructions that the intel compilers are unable to execute inside OpenMP's target region?

I wouldn't be surprised if the algorithm failures are our fault. The bessel function problems are likely pointing to some issues in the toolchain since we are also seeing them for SYCL.

@rgayatri23
Copy link
Contributor

Everything else looks good except for the typo mentioned.

// FIXME_NVHPC long double not supported, 23.7 long double
// FIXME_OPENMPTARGET
#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \
(!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU))
TestNumericTraits<TEST_EXECSPACE, long double, Infinity>();
Copy link
Contributor Author

Choose a reason for hiding this comment

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

These actually cause segfaults.

@masterleinad
Copy link
Contributor Author

Everything else looks good except for the typo mentioned.

Fixed.

@masterleinad masterleinad marked this pull request as ready for review January 23, 2024 20:00
cmake/kokkos_arch.cmake Outdated Show resolved Hide resolved
cmake/kokkos_arch.cmake Outdated Show resolved Hide resolved
core/unit_test/TestNumericTraits.hpp Outdated Show resolved Hide resolved
core/unit_test/TestNumericTraits.hpp Outdated Show resolved Hide resolved
core/unit_test/TestMathematicalSpecialFunctions.hpp Outdated Show resolved Hide resolved
@masterleinad
Copy link
Contributor Author

Seeing

======================================================================
23: FAIL: test_device_id (TestDeviceAndThreads.KokkosInitializationTestCase)
23: ----------------------------------------------------------------------
23: Traceback (most recent call last):
23:   File "/var/jenkins/workspace/Kokkos_PR-6735/build/core/unit_test/TestDeviceAndThreads.py", line 85, in test_device_id
23:     self.assertEqual(0, GetFlag("device_id"))
23: AssertionError: 0 != 1
23: 
23: ----------------------------------------------------------------------
23: Ran 5 tests in 6.255s
23: 
23: FAILED (failures=1, skipped=1)
23/49 Test #23: Kokkos_CoreUnitTest_DeviceAndThreads ........***Failed    6.36 sec

for the OpenMPTarget` build but that looks unrelated to this pull request.

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

3 participants