Loading...
Searching...
No Matches
Go to the documentation of this file.
32#ifndef __r123_nvcc_features_dot_h__
33#define __r123_nvcc_features_dot_h__
35#if !defined(CUDART_VERSION)
36#error "why are we in nvccfeatures.h if CUDART_VERSION is not defined"
39#if CUDART_VERSION < 4010
40#error "CUDA versions earlier than 4.1 produce incorrect results for some templated functions in namespaces. Random123 isunsupported. See comments in nvccfeatures.h"
61#ifndef R123_CUDA_DEVICE
62#define R123_CUDA_DEVICE __device__
65#ifndef R123_USE_MULHILO64_CUDA_INTRIN
66#define R123_USE_MULHILO64_CUDA_INTRIN 1
71#define R123_THROW(x) R123_ASSERT(0)
75#define R123_ASSERT(x) \
82#ifndef R123_BUILTIN_EXPECT
83#define R123_BUILTIN_EXPECT(expr, likely) expr
86#ifndef R123_USE_AES_NI
87#define R123_USE_AES_NI 0
90#ifndef R123_USE_SSE4_2
91#define R123_USE_SSE4_2 0
94#ifndef R123_USE_SSE4_1
95#define R123_USE_SSE4_1 0
102#ifndef R123_USE_GNU_UINT128
103#define R123_USE_GNU_UINT128 0
106#ifndef R123_ULONG_LONG
109#define R123_ULONG_LONG unsigned long long
125#if defined(__xlC__) || defined(__ibmxl__)
127#elif defined(__GNUC__)
129#elif defined(_MSC_FULL_VER)