Skip to content

Commit

Permalink
Merge #6310
Browse files Browse the repository at this point in the history
6310: Define HPX_COMPUTE_CODE in builds with SYCL r=hkaiser a=G-071

This resolves a compilation issue where timestamp_cuda is required in device code for a certain build configuration (using ONEAPI/SYCL/dpcpp with an enabled CUDA backend and specific GPU architecture) but not found. The underlying issue: The include command for the timestamp_cuda header is protected with an ifdef HPX_COMPUTE_CODE and the header was thus not included  - hence the timestamp method was not found, and the code did not compile in this configuration!

This commit resolves the issue! Not by changing or removing the ifdef timestamp guard, but instead by defining HPX_COMPUTE_CODE for SYCL builds in the compiler_specific.hpp header as well. This ensures that the behavior for non-SYCL builds stays the same as before.

Co-authored-by: Gregor Daiß <[email protected]>
  • Loading branch information
StellarBot and G-071 committed Jul 27, 2023
2 parents 15e59da + 11cb5d8 commit e8a9660
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions libs/core/config/include/hpx/config/compiler_specific.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,11 @@
#endif
#define HPX_HOST_DEVICE HPX_HOST HPX_DEVICE

// Define this AFTER HPX_[DEVICE|HOST] for SYCL
// as we do not want the __device__ modifiers
#if defined(HPX_HAVE_SYCL)
# define HPX_COMPUTE_CODE
#endif

#if !defined(HPX_CDECL)
#define HPX_CDECL
Expand Down

0 comments on commit e8a9660

Please sign in to comment.