5#ifndef NVIDIA_INDEX_CUDA_SHARED_QUALIFIER_H
6#define NVIDIA_INDEX_CUDA_SHARED_QUALIFIER_H
9#if defined(__CUDACC__) || defined(__CUDABE__)
10#define NV_IDX_FORCEINLINE __forceinline__
11#elif defined(__GNUC__)
12#define NV_IDX_FORCEINLINE inline
14#define NV_IDX_FORCEINLINE __forceinline
16#define NV_IDX_FORCEINLINE inline
20#if defined(__CUDACC__) || defined(__CUDABE__)
21#define NV_IDX_NOINLINE __noinline__
22#elif defined(__GNUC__)
23#define NV_IDX_NOINLINE static
24#elif defined(_WIN32) && defined(_MSC_VER)
25#define NV_IDX_NOINLINE static __declspec(noinline)
27#define NV_IDX_NOINLINE static
30#if defined(__CUDACC__) || defined(__CUDABE__)
33#define NV_IDX_DEVICE_INLINE __device__ __forceinline__
34#define NV_IDX_DEVICE_NOINLINE __device__ __noinline__
35#define NV_IDX_DEVICE_FORCEINLINE __device__ __forceinline__
37#define NV_IDX_DEVICE_HOST_INLINE __host__ NV_IDX_DEVICE_INLINE
38#define NV_IDX_DEVICE_HOST_NOINLINE __host__ NV_IDX_DEVICE_NOINLINE
39#define NV_IDX_DEVICE_HOST_FORCEINLINE __host__ NV_IDX_DEVICE_FORCEINLINE
41#define NV_IDX_HOST_INLINE __host__ inline
42#define NV_IDX_HOST_NOINLINE __host__ NV_IDX_NOINLINE
43#define NV_IDX_HOST_FORCEINLINE __host__ NV_IDX_FORCEINLINE
45#define NV_IDX_CONSTANT static __device__ __constant__
50#define NV_IDX_DEVICE_INLINE inline
51#define NV_IDX_DEVICE_NOINLINE NV_IDX_NOINLINE
52#define NV_IDX_DEVICE_FORCEINLINE NV_IDX_FORCEINLINE
54#define NV_IDX_DEVICE_HOST_INLINE inline
55#define NV_IDX_DEVICE_HOST_NOINLINE NV_IDX_NOINLINE
56#define NV_IDX_DEVICE_HOST_FORCEINLINE NV_IDX_FORCEINLINE
58#define NV_IDX_HOST_INLINE inline
59#define NV_IDX_HOST_NOINLINE NV_IDX_NOINLINE
60#define NV_IDX_HOST_FORCEINLINE NV_IDX_FORCEINLINE
62#define NV_IDX_CONSTANT static const
67#define NV_IDX_DEVICE_INLINE_MEMBER NV_IDX_DEVICE_INLINE
71#define NV_IDX_DEVICE_ALIGN alignas(16)