1*da0073e9SAndroid Build Coastguard Worker #pragma once 2*da0073e9SAndroid Build Coastguard Worker 3*da0073e9SAndroid Build Coastguard Worker #ifndef C10_USING_CUSTOM_GENERATED_MACROS 4*da0073e9SAndroid Build Coastguard Worker 5*da0073e9SAndroid Build Coastguard Worker // We have not yet modified the AMD HIP build to generate this file so 6*da0073e9SAndroid Build Coastguard Worker // we add an extra option to specifically ignore it. 7*da0073e9SAndroid Build Coastguard Worker #ifndef C10_CUDA_NO_CMAKE_CONFIGURE_FILE 8*da0073e9SAndroid Build Coastguard Worker #include <c10/cuda/impl/cuda_cmake_macros.h> 9*da0073e9SAndroid Build Coastguard Worker #endif // C10_CUDA_NO_CMAKE_CONFIGURE_FILE 10*da0073e9SAndroid Build Coastguard Worker 11*da0073e9SAndroid Build Coastguard Worker #endif 12*da0073e9SAndroid Build Coastguard Worker 13*da0073e9SAndroid Build Coastguard Worker // See c10/macros/Export.h for a detailed explanation of what the function 14*da0073e9SAndroid Build Coastguard Worker // of these macros are. We need one set of macros for every separate library 15*da0073e9SAndroid Build Coastguard Worker // we build. 16*da0073e9SAndroid Build Coastguard Worker 17*da0073e9SAndroid Build Coastguard Worker #ifdef _WIN32 18*da0073e9SAndroid Build Coastguard Worker #if defined(C10_CUDA_BUILD_SHARED_LIBS) 19*da0073e9SAndroid Build Coastguard Worker #define C10_CUDA_EXPORT __declspec(dllexport) 20*da0073e9SAndroid Build Coastguard Worker #define C10_CUDA_IMPORT __declspec(dllimport) 21*da0073e9SAndroid Build Coastguard Worker #else 22*da0073e9SAndroid Build Coastguard Worker #define C10_CUDA_EXPORT 23*da0073e9SAndroid Build Coastguard Worker #define C10_CUDA_IMPORT 24*da0073e9SAndroid Build Coastguard Worker #endif 25*da0073e9SAndroid Build Coastguard Worker #else // _WIN32 26*da0073e9SAndroid Build Coastguard Worker #if defined(__GNUC__) 27*da0073e9SAndroid Build Coastguard Worker #define C10_CUDA_EXPORT __attribute__((__visibility__("default"))) 28*da0073e9SAndroid Build Coastguard Worker #else // defined(__GNUC__) 29*da0073e9SAndroid Build Coastguard Worker #define C10_CUDA_EXPORT 30*da0073e9SAndroid Build Coastguard Worker #endif // defined(__GNUC__) 31*da0073e9SAndroid Build Coastguard Worker #define C10_CUDA_IMPORT C10_CUDA_EXPORT 32*da0073e9SAndroid Build Coastguard Worker #endif // _WIN32 33*da0073e9SAndroid Build Coastguard Worker 34*da0073e9SAndroid Build Coastguard Worker // This one is being used by libc10_cuda.so 35*da0073e9SAndroid Build Coastguard Worker #ifdef C10_CUDA_BUILD_MAIN_LIB 36*da0073e9SAndroid Build Coastguard Worker #define C10_CUDA_API C10_CUDA_EXPORT 37*da0073e9SAndroid Build Coastguard Worker #else 38*da0073e9SAndroid Build Coastguard Worker #define C10_CUDA_API C10_CUDA_IMPORT 39*da0073e9SAndroid Build Coastguard Worker #endif 40*da0073e9SAndroid Build Coastguard Worker 41*da0073e9SAndroid Build Coastguard Worker /** 42*da0073e9SAndroid Build Coastguard Worker * The maximum number of GPUs that we recognizes. Increasing this beyond the 43*da0073e9SAndroid Build Coastguard Worker * initial limit of 16 broke Caffe2 testing, hence the ifdef guards. 44*da0073e9SAndroid Build Coastguard Worker * This value cannot be more than 128 because our DeviceIndex is a uint8_t. 45*da0073e9SAndroid Build Coastguard Worker o */ 46*da0073e9SAndroid Build Coastguard Worker #ifdef FBCODE_CAFFE2 47*da0073e9SAndroid Build Coastguard Worker // fbcode depends on this value being 16 48*da0073e9SAndroid Build Coastguard Worker #define C10_COMPILE_TIME_MAX_GPUS 16 49*da0073e9SAndroid Build Coastguard Worker #else 50*da0073e9SAndroid Build Coastguard Worker #define C10_COMPILE_TIME_MAX_GPUS 120 51*da0073e9SAndroid Build Coastguard Worker #endif 52