18#ifdef DFTFE_WITH_DEVICE
20# ifndef dftfeDeviceBlasWrapper_H
21# define dftfeDeviceBlasWrapper_H
30 namespace deviceBlasWrapper
32# ifdef DFTFE_WITH_DEVICE_AMD
38 create(deviceBlasHandle_t *pHandle);
41 destroy(deviceBlasHandle_t handle);
44 setStream(deviceBlasHandle_t handle, deviceStream_t stream);
46# ifdef DFTFE_WITH_DEVICE_LANG_CUDA
48 setMathMode(deviceBlasHandle_t handle, deviceBlasMath_t mathMode);
52 copy(deviceBlasHandle_t handle,
60 nrm2(deviceBlasHandle_t handle,
67 dot(deviceBlasHandle_t handle,
76 axpy(deviceBlasHandle_t handle,
85 gemm(deviceBlasHandle_t handle,
86 deviceBlasOperation_t transa,
87 deviceBlasOperation_t transb,
101 gemm(deviceBlasHandle_t handle,
102 deviceBlasOperation_t transa,
103 deviceBlasOperation_t transb,
117 gemm(deviceBlasHandle_t handle,
118 deviceBlasOperation_t transa,
119 deviceBlasOperation_t transb,
123 const std::complex<double> *alpha,
124 const std::complex<double> *A,
126 const std::complex<double> *B,
128 const std::complex<double> *beta,
129 std::complex<double> * C,
133 gemm(deviceBlasHandle_t handle,
134 deviceBlasOperation_t transa,
135 deviceBlasOperation_t transb,
139 const std::complex<float> *alpha,
140 const std::complex<float> *A,
142 const std::complex<float> *B,
144 const std::complex<float> *beta,
145 std::complex<float> * C,
149 gemmBatched(deviceBlasHandle_t handle,
150 deviceBlasOperation_t transa,
151 deviceBlasOperation_t transb,
155 const double * alpha,
156 const double * Aarray[],
158 const double * Barray[],
166 gemmBatched(deviceBlasHandle_t handle,
167 deviceBlasOperation_t transa,
168 deviceBlasOperation_t transb,
172 const std::complex<double> *alpha,
173 const std::complex<double> *Aarray[],
175 const std::complex<double> *Barray[],
177 const std::complex<double> *beta,
178 std::complex<double> * Carray[],
183 gemmStridedBatched(deviceBlasHandle_t handle,
184 deviceBlasOperation_t transa,
185 deviceBlasOperation_t transb,
189 const double * alpha,
192 long long int strideA,
195 long long int strideB,
199 long long int strideC,
204 gemmStridedBatched(deviceBlasHandle_t handle,
205 deviceBlasOperation_t transa,
206 deviceBlasOperation_t transb,
213 long long int strideA,
216 long long int strideB,
220 long long int strideC,
224 gemmStridedBatched(deviceBlasHandle_t handle,
225 deviceBlasOperation_t transa,
226 deviceBlasOperation_t transb,
230 const std::complex<double> *alpha,
231 const std::complex<double> *A,
233 long long int strideA,
234 const std::complex<double> *B,
236 long long int strideB,
237 const std::complex<double> *beta,
238 std::complex<double> * C,
240 long long int strideC,
244 gemmStridedBatched(deviceBlasHandle_t handle,
245 deviceBlasOperation_t transa,
246 deviceBlasOperation_t transb,
250 const std::complex<float> *alpha,
251 const std::complex<float> *A,
253 long long int strideA,
254 const std::complex<float> *B,
256 long long int strideB,
257 const std::complex<float> *beta,
258 std::complex<float> * C,
260 long long int strideC,
264 gemv(deviceBlasHandle_t handle,
265 deviceBlasOperation_t trans,
268 const double * alpha,
278 gemv(deviceBlasHandle_t handle,
279 deviceBlasOperation_t trans,
292 gemv(deviceBlasHandle_t handle,
293 deviceBlasOperation_t trans,
296 const std::complex<double> *alpha,
297 const std::complex<double> *A,
299 const std::complex<double> *x,
301 const std::complex<double> *beta,
302 std::complex<double> * y,
306 gemv(deviceBlasHandle_t handle,
307 deviceBlasOperation_t trans,
310 const std::complex<float> *alpha,
311 const std::complex<float> *A,
313 const std::complex<float> *x,
315 const std::complex<float> *beta,
316 std::complex<float> * y,
cublasStatus_t deviceBlasStatus_t
Definition DeviceTypeConfig.cu.h:38
Definition pseudoPotentialToDftfeConverter.cc:34