5 #ifndef FML_GPU_ARCH_CUDA_TYPES_H
6 #define FML_GPU_ARCH_CUDA_TYPES_H
11 #include <cuda_runtime.h>
12 #include <cusolverDn.h>
16 typedef cudaError_t gpu_error_t;
17 #define GPU_SUCCESS cudaSuccess
19 #define GPU_MEMCPY_HOST_TO_DEVICE cudaMemcpyHostToDevice
20 #define GPU_MEMCPY_DEVICE_TO_HOST cudaMemcpyDeviceToHost
21 #define GPU_MEMCPY_DEVICE_TO_DEVICE cudaMemcpyDeviceToDevice
24 #define GPUBLAS_STATUS_SUCCESS CUBLAS_STATUS_SUCCESS
25 typedef cublasStatus_t gpublas_status_t;
26 typedef cublasHandle_t gpublas_handle_t;
28 typedef cublasOperation_t gpublas_operation_t;
29 #define GPUBLAS_OP_T CUBLAS_OP_T
30 #define GPUBLAS_OP_N CUBLAS_OP_N
32 typedef cublasFillMode_t gpublas_fillmode_t;
33 #define GPUBLAS_FILL_L CUBLAS_FILL_MODE_LOWER
34 #define GPUBLAS_FILL_U CUBLAS_FILL_MODE_UPPER
36 typedef cublasSideMode_t gpublas_sidemode_t;
37 #define GPUBLAS_SIDE_LEFT CUBLAS_SIDE_LEFT
38 #define GPUBLAS_SIDE_RIGHT CUBLAS_SIDE_RIGHT
40 typedef cublasDiagType_t gpublas_diagtype_t;
41 #define GPUBLAS_DIAG_NON_UNIT CUBLAS_DIAG_NON_UNIT
42 #define GPUBLAS_DIAG_UNIT CUBLAS_DIAG_UNIT
44 typedef cublasMath_t gpublas_mathmode_t;
45 #define GPUBLAS_MATH_DEFAULT CUBLAS_DEFAULT_MATH
46 #define GPUBLAS_MATH_ACCELERATE CUBLAS_TF32_TENSOR_OP_MATH
47 #define GPUBLAS_MATH_PEDANTIC CUBLAS_PEDANTIC_MATH
50 #define GPULAPACK_STATUS_SUCCESS CUSOLVER_STATUS_SUCCESS
51 typedef cusolverStatus_t gpulapack_status_t;
52 typedef cusolverDnHandle_t gpulapack_handle_t;