Skip to content

Commit

Permalink
Extend nvrtc workaround for missing SM_100 target macros
Browse files Browse the repository at this point in the history
  • Loading branch information
bernhardmgruber committed Jan 30, 2025
1 parent 554ce9b commit 6f3a3a9
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 1 deletion.
22 changes: 21 additions & 1 deletion libcudacxx/test/libcudacxx/cuda/ptx/nvrtc_workaround.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,25 @@
// required for the PTX tests, we define them here outside the header guards.
// TODO(bgruber): limit this workaround to NVRTC versions older than the first one shipping those macros
#ifdef __CUDACC_RTC__

// missing SM_100
# define _NV_TARGET_VAL_SM_100 1000
# define _NV_TARGET___NV_PROVIDES_SM_100 (_NV_TARGET_PROVIDES(_NV_TARGET_VAL_SM_100))
# define _NV_TARGET___NV_IS_EXACTLY_SM_100 (_NV_TARGET_IS_EXACTLY(_NV_TARGET_VAL_SM_100))
# define NV_PROVIDES_SM_100 __NV_PROVIDES_SM_100
# define NV_IS_EXACTLY_SM_100 __NV_IS_EXACTLY_SM_100
# if (_NV_TARGET___NV_IS_EXACTLY_SM_100)
# define _NV_TARGET_BOOL___NV_IS_EXACTLY_SM_100 1
# else
# define _NV_TARGET_BOOL___NV_IS_EXACTLY_SM_100 0
# endif
# if (_NV_TARGET___NV_PROVIDES_SM_100)
# define _NV_TARGET_BOOL___NV_PROVIDES_SM_100 1
# else
# define _NV_TARGET_BOOL___NV_PROVIDES_SM_100 0
# endif

// missing SM_100a
# ifndef NV_HAS_FEATURE_SM_100a
# define NV_HAS_FEATURE_SM_100a __NV_HAS_FEATURE_SM_100a
# if (defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 1000) && defined(__CUDA_ARCH_FEAT_SM100_ALL))
Expand All @@ -22,7 +41,7 @@
# endif
# endif // NV_HAS_FEATURE_SM_100a

// Re-enable sm_101a support in nvcc.
// missing SM_101a
# ifndef NV_HAS_FEATURE_SM_101a
# define NV_HAS_FEATURE_SM_101a __NV_HAS_FEATURE_SM_101a
# if (defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 1010) && defined(__CUDA_ARCH_FEAT_SM101_ALL))
Expand All @@ -31,4 +50,5 @@
# define _NV_TARGET_BOOL___NV_HAS_FEATURE_SM_101a 0
# endif
# endif // NV_HAS_FEATURE_SM_101a

#endif // __CUDACC_RTC__
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
#include <cuda/ptx>
#include <cuda/std/utility>

#include "nvrtc_workaround.h"
// above header needs to be included before the generated test header
#include "generated/clusterlaunchcontrol.h"

int main(int, char**)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
#include <cuda/ptx>
#include <cuda/std/utility>

#include "nvrtc_workaround.h"
// above header needs to be included before the generated test header
#include "generated/st_bulk.h"

int main(int, char**)
Expand Down

0 comments on commit 6f3a3a9

Please sign in to comment.