DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
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 dftfeDeviceTypeConfig_cuh
18#define dftfeDeviceTypeConfig_cuh
19
20#include <cuComplex.h>
21#include <cublas_v2.h>
22namespace dftfe
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
63 } // namespace utils
64} // namespace dftfe
65
66#endif // dftfeDeviceTypeConfig_cuh
Definition Cell.h:36
static const cudaDataType DEVICE_R_32F
Definition DeviceTypeConfig.cu.h:55
static const cudaDataType DEVICE_R_16F
Definition DeviceTypeConfig.cu.h:56
cudaDataType deviceDataType_t
Definition DeviceTypeConfig.cu.h:40
static const cublasComputeType_t DEVICEBLAS_COMPUTE_32F
Definition DeviceTypeConfig.cu.h:45
cudaError_t deviceError_t
Definition DeviceTypeConfig.cu.h:26
static const cublasComputeType_t DEVICEBLAS_COMPUTE_32F_FAST_16BF
Definition DeviceTypeConfig.cu.h:49
cudaStream_t deviceStream_t
Definition DeviceTypeConfig.cu.h:27
cublasStatus_t deviceBlasStatus_t
Definition DeviceTypeConfig.cu.h:38
static const deviceError_t deviceSuccess
Definition DeviceTypeConfig.cu.h:33
cublasComputeType_t deviceBlasComputeType_t
Definition DeviceTypeConfig.cu.h:39
static const cublasGemmAlgo_t DEVICEBLAS_GEMM_DEFAULT
Definition DeviceTypeConfig.cu.h:53
static const cudaDataType DEVICE_R_64F
Definition DeviceTypeConfig.cu.h:54
cuDoubleComplex deviceDoubleComplex
Definition DeviceTypeConfig.cu.h:29
static const cublasOperation_t DEVICEBLAS_OP_N
Definition DeviceTypeConfig.cu.h:42
static const cudaDataType DEVICE_C_32F
Definition DeviceTypeConfig.cu.h:59
static const cudaDataType DEVICE_C_64F
Definition DeviceTypeConfig.cu.h:58
static const cudaDataType DEVICE_C_16BF
Definition DeviceTypeConfig.cu.h:61
cublasHandle_t deviceBlasHandle_t
Definition DeviceTypeConfig.cu.h:36
static const cudaDataType DEVICE_R_16BF
Definition DeviceTypeConfig.cu.h:57
static const cublasOperation_t DEVICEBLAS_OP_T
Definition DeviceTypeConfig.cu.h:43
cuFloatComplex deviceFloatComplex
Definition DeviceTypeConfig.cu.h:30
cudaEvent_t deviceEvent_t
Definition DeviceTypeConfig.cu.h:28
static const cublasOperation_t DEVICEBLAS_OP_C
Definition DeviceTypeConfig.cu.h:44
static const cublasComputeType_t DEVICEBLAS_COMPUTE_32F_FAST_TF32
Definition DeviceTypeConfig.cu.h:47
static const cublasComputeType_t DEVICEBLAS_COMPUTE_32F_FAST_16F
Definition DeviceTypeConfig.cu.h:51
cublasOperation_t deviceBlasOperation_t
Definition DeviceTypeConfig.cu.h:37
static const cudaDataType DEVICE_C_16F
Definition DeviceTypeConfig.cu.h:60
Definition pseudoPotentialToDftfeConverter.cc:34