DFT-EFE
 
Loading...
Searching...
No Matches
DeviceTypeConfig.cu.h
Go to the documentation of this file.
1// ---------------------------------------------------------------------
2//
3// Copyright (c) 2017-2025 The Regents of the University of Michigan and DFT-FE
4// authors.
5//
6// This file is part of the DFT-FE code.
7//
8// The DFT-FE code is free software; you can use it, redistribute
9// it, and/or modify it under the terms of the GNU Lesser General
10// Public License as published by the Free Software Foundation; either
11// version 2.1 of the License, or (at your option) any later version.
12// The full text of the license can be found in the file LICENSE at
13// the top level of the DFT-FE distribution.
14//
15// ---------------------------------------------------------------------
16//
17#ifndef dftefeDeviceTypeConfig_cuh
18#define dftefeDeviceTypeConfig_cuh
19
20#include <cuComplex.h>
21#include <cublas_v2.h>
22namespace dftefe
23{
24 namespace utils
25 {
26 typedef cudaError_t deviceError_t;
27 typedef cudaStream_t deviceStream_t;
28 typedef cudaEvent_t deviceEvent_t;
29 typedef cuDoubleComplex deviceDoubleComplex;
30 typedef cuFloatComplex deviceFloatComplex;
31
32 // static consts
33 static const deviceError_t deviceSuccess = cudaSuccess;
34
35 // vendor blas related typedef and static consts
36 typedef cublasHandle_t deviceBlasHandle_t;
37 typedef cublasOperation_t deviceBlasOperation_t;
38 typedef cublasStatus_t deviceBlasStatus_t;
39 typedef cublasComputeType_t deviceBlasComputeType_t;
40 typedef cudaDataType deviceDataType_t;
41
42 static const cublasOperation_t DEVICEBLAS_OP_N = CUBLAS_OP_N;
43 static const cublasOperation_t DEVICEBLAS_OP_T = CUBLAS_OP_T;
44 static const cublasOperation_t DEVICEBLAS_OP_C = CUBLAS_OP_C;
45 static const cublasComputeType_t DEVICEBLAS_COMPUTE_32F =
46 CUBLAS_COMPUTE_32F;
47 static const cublasComputeType_t DEVICEBLAS_COMPUTE_32F_FAST_TF32 =
48 CUBLAS_COMPUTE_32F_FAST_TF32;
49 static const cublasComputeType_t DEVICEBLAS_COMPUTE_32F_FAST_16BF =
50 CUBLAS_COMPUTE_32F_FAST_16BF;
51 static const cublasComputeType_t DEVICEBLAS_COMPUTE_32F_FAST_16F =
52 CUBLAS_COMPUTE_32F_FAST_16F;
53 static const cublasGemmAlgo_t DEVICEBLAS_GEMM_DEFAULT = CUBLAS_GEMM_DEFAULT;
54 static const cudaDataType DEVICE_R_64F = CUDA_R_64F;
55 static const cudaDataType DEVICE_R_32F = CUDA_R_32F;
56 static const cudaDataType DEVICE_R_16F = CUDA_R_16F;
57 static const cudaDataType DEVICE_R_16BF = CUDA_R_16BF;
58 static const cudaDataType DEVICE_C_64F = CUDA_C_64F;
59 static const cudaDataType DEVICE_C_32F = CUDA_C_32F;
60 static const cudaDataType DEVICE_C_16F = CUDA_C_16F;
61 static const cudaDataType DEVICE_C_16BF = CUDA_C_16BF;
62 static cudaStream_t defaultStream = 0;
63
64 } // namespace utils
65} // namespace dftefe
66
67#endif // dftefeDeviceTypeConfig_cuh
static cudaStream_t defaultStream
Definition: DeviceTypeConfig.cu.h:62
cuFloatComplex deviceFloatComplex
Definition: DeviceTypeConfig.cu.h:30
cudaError_t deviceError_t
Definition: DeviceTypeConfig.cu.h:26
cublasHandle_t deviceBlasHandle_t
Definition: DeviceTypeConfig.cu.h:36
static const cublasGemmAlgo_t DEVICEBLAS_GEMM_DEFAULT
Definition: DeviceTypeConfig.cu.h:53
static const cudaDataType DEVICE_C_16BF
Definition: DeviceTypeConfig.cu.h:61
static const cublasOperation_t DEVICEBLAS_OP_N
Definition: DeviceTypeConfig.cu.h:42
cudaStream_t deviceStream_t
Definition: DeviceTypeConfig.cu.h:27
static const cublasComputeType_t DEVICEBLAS_COMPUTE_32F_FAST_TF32
Definition: DeviceTypeConfig.cu.h:47
static const cudaDataType DEVICE_C_32F
Definition: DeviceTypeConfig.cu.h:59
cublasComputeType_t deviceBlasComputeType_t
Definition: DeviceTypeConfig.cu.h:39
cublasStatus_t deviceBlasStatus_t
Definition: DeviceTypeConfig.cu.h:38
static const cublasOperation_t DEVICEBLAS_OP_C
Definition: DeviceTypeConfig.cu.h:44
static const cublasOperation_t DEVICEBLAS_OP_T
Definition: DeviceTypeConfig.cu.h:43
static const cudaDataType DEVICE_R_64F
Definition: DeviceTypeConfig.cu.h:54
cuDoubleComplex deviceDoubleComplex
Definition: DeviceTypeConfig.cu.h:29
static const deviceError_t deviceSuccess
Definition: DeviceTypeConfig.cu.h:33
static const cudaDataType DEVICE_R_32F
Definition: DeviceTypeConfig.cu.h:55
static const cudaDataType DEVICE_C_16F
Definition: DeviceTypeConfig.cu.h:60
static const cudaDataType DEVICE_R_16F
Definition: DeviceTypeConfig.cu.h:56
static const cudaDataType DEVICE_R_16BF
Definition: DeviceTypeConfig.cu.h:57
cublasOperation_t deviceBlasOperation_t
Definition: DeviceTypeConfig.cu.h:37
static const cublasComputeType_t DEVICEBLAS_COMPUTE_32F
Definition: DeviceTypeConfig.cu.h:45
cudaDataType deviceDataType_t
Definition: DeviceTypeConfig.cu.h:40
cudaEvent_t deviceEvent_t
Definition: DeviceTypeConfig.cu.h:28
static const cublasComputeType_t DEVICEBLAS_COMPUTE_32F_FAST_16F
Definition: DeviceTypeConfig.cu.h:51
static const cudaDataType DEVICE_C_64F
Definition: DeviceTypeConfig.cu.h:58
static const cublasComputeType_t DEVICEBLAS_COMPUTE_32F_FAST_16BF
Definition: DeviceTypeConfig.cu.h:49
dealii includes
Definition: AtomFieldDataSpherical.cpp:31