ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
lapack.h
Go to the documentation of this file.
1#ifndef ATEN_KERNELS_LAPACK_H_
2#define ATEN_KERNELS_LAPACK_H_
3
4#include <ATen/core/tensor.h>
6
8
9namespace container {
10namespace kernels {
11
12
13template <typename T, typename Device>
14struct set_matrix {
16 const char& uplo,
17 T* A,
18 const int& dim);
19};
20
21
22template <typename T, typename Device>
25 const char& uplo,
26 const char& diag,
27 const int& dim,
28 T* Mat,
29 const int& lda);
30};
31
32
33template <typename T, typename Device>
36 const char& uplo,
37 const int& dim,
38 T* Mat,
39 const int& lda);
40};
41
42
43template <typename T, typename Device>
45 using Real = typename GetTypeReal<T>::type;
47 const char& jobz,
48 const char& uplo,
49 T* Mat,
50 const int& dim,
51 Real* eigen_val);
52};
53
54
55template <typename T, typename Device>
57 using Real = typename GetTypeReal<T>::type;
59 const int& itype,
60 const char& jobz,
61 const char& uplo,
62 T* Mat_A,
63 T* Mat_B,
64 const int& dim,
65 Real* eigen_val);
66};
67
68
69template <typename T, typename Device>
72 const int& m,
73 const int& n,
74 T* Mat,
75 const int& lda,
76 int* ipiv);
77};
78
79
80template <typename T, typename Device>
83 const int& n,
84 T* Mat,
85 const int& lda,
86 const int* ipiv,
87 T* work,
88 const int& lwork);
89};
90
91template <typename T, typename Device>
94 const char& trans,
95 const int& n,
96 const int& nrhs,
97 T* A,
98 const int& lda,
99 const int* ipiv,
100 T* B,
101 const int& ldb);
102};
103
104#if defined(__CUDA) || defined(__ROCM)
105// TODO: Use C++ singleton to manage the GPU handles
106void createGpuSolverHandle(); // create cusolver handle
107void destroyGpuSolverHandle(); // destroy cusolver handle
108#endif
109
110} // namespace container
111} // namespace kernels
112
113#endif // ATEN_KERNELS_LAPACK_H_
#define T
Definition exp.cpp:237
Definition tensor.cpp:8
T type
Definition tensor_types.h:89
Definition lapack.h:44
typename GetTypeReal< T >::type Real
Definition lapack.h:45
void operator()(const char &jobz, const char &uplo, T *Mat, const int &dim, Real *eigen_val)
Definition lapack.h:56
void operator()(const int &itype, const char &jobz, const char &uplo, T *Mat_A, T *Mat_B, const int &dim, Real *eigen_val)
typename GetTypeReal< T >::type Real
Definition lapack.h:57
Definition lapack.h:70
void operator()(const int &m, const int &n, T *Mat, const int &lda, int *ipiv)
Definition lapack.h:81
void operator()(const int &n, T *Mat, const int &lda, const int *ipiv, T *work, const int &lwork)
Definition lapack.h:92
void operator()(const char &trans, const int &n, const int &nrhs, T *A, const int &lda, const int *ipiv, T *B, const int &ldb)
Definition lapack.h:34
void operator()(const char &uplo, const int &dim, T *Mat, const int &lda)
Definition lapack.h:23
void operator()(const char &uplo, const char &diag, const int &dim, T *Mat, const int &lda)
Definition lapack.h:14
void operator()(const char &uplo, T *A, const int &dim)
This file contains the definition of the DataType enum class.