14void*
malloc_ht(
size_t bytes,
int cluster_id);
54 const std::complex<double>* alpha,
55 const std::complex<double>* a,
57 const std::complex<double>* b,
59 const std::complex<double>* beta,
60 std::complex<double>* c,
69 const std::complex<float>* alpha,
70 const std::complex<float>* a,
72 const std::complex<float>* b,
74 const std::complex<float>* beta,
75 std::complex<float>* c,
114 const std::complex<double>* alpha,
115 const std::complex<double>* a,
117 const std::complex<double>* b,
119 const std::complex<double>* beta,
120 std::complex<double>* c,
129 const std::complex<float>* alpha,
130 const std::complex<float>* a,
132 const std::complex<float>* b,
134 const std::complex<float>* beta,
135 std::complex<float>* c,
144void dsp_dav_subspace_reduce(
T* hcc,
T* scc,
int nbase,
int nbase_x,
int notconv, MPI_Comm diag_comm)
147 using syncmem_complex_op
150 auto* swap =
new T[notconv * nbase_x];
151 auto* target =
new T[notconv * nbase_x];
152 syncmem_complex_op()(swap, hcc + nbase * nbase_x, notconv * nbase_x);
155 MPI_Reduce(swap, target, notconv * nbase_x, MPI_COMPLEX, MPI_SUM, 0, diag_comm);
159 MPI_Reduce(swap, target, notconv * nbase_x, MPI_DOUBLE_COMPLEX, MPI_SUM, 0, diag_comm);
162 syncmem_complex_op()(hcc + nbase * nbase_x, target, notconv * nbase_x);
163 syncmem_complex_op()(swap, scc + nbase * nbase_x, notconv * nbase_x);
167 MPI_Reduce(swap, target, notconv * nbase_x, MPI_COMPLEX, MPI_SUM, 0, diag_comm);
171 MPI_Reduce(swap, target, notconv * nbase_x, MPI_DOUBLE_COMPLEX, MPI_SUM, 0, diag_comm);
174 syncmem_complex_op()(scc + nbase * nbase_x, target, notconv * nbase_x);
#define T
Definition exp.cpp:237
std::string get_current_precision(const float *var)
Definition device.cpp:36
Definition dsp_connector.cpp:14
void cgemm_mt_(const char *transa, const char *transb, const int *m, const int *n, const int *k, const std::complex< float > *alpha, const std::complex< float > *a, const int *lda, const std::complex< float > *b, const int *ldb, const std::complex< float > *beta, std::complex< float > *c, const int *ldc, int cluster_id)
Definition dsp_connector.cpp:161
void sgemm_mth_(const char *transa, const char *transb, const int *m, const int *n, const int *k, const float *alpha, const float *a, const int *lda, const float *b, const int *ldb, const float *beta, float *c, const int *ldc, int cluster_id)
Definition dsp_connector.cpp:195
void dgemm_mth_(const char *transa, const char *transb, const int *m, const int *n, const int *k, const double *alpha, const double *a, const int *lda, const double *b, const int *ldb, const double *beta, double *c, const int *ldc, int cluster_id)
Definition dsp_connector.cpp:227
void zgemm_mt_(const char *transa, const char *transb, const int *m, const int *n, const int *k, const std::complex< double > *alpha, const std::complex< double > *a, const int *lda, const std::complex< double > *b, const int *ldb, const std::complex< double > *beta, std::complex< double > *c, const int *ldc, int cluster_id)
Definition dsp_connector.cpp:129
void cgemm_mth_(const char *transa, const char *transb, const int *m, const int *n, const int *k, const std::complex< float > *alpha, const std::complex< float > *a, const int *lda, const std::complex< float > *b, const int *ldb, const std::complex< float > *beta, std::complex< float > *c, const int *ldc, int cluster_id)
Definition dsp_connector.cpp:296
void dspDestoryHandle(int id)
Definition dsp_connector.cpp:21
void dspInitHandle(int id)
Definition dsp_connector.cpp:15
void sgemm_mt_(const char *transa, const char *transb, const int *m, const int *n, const int *k, const float *alpha, const float *a, const int *lda, const float *b, const int *ldb, const float *beta, float *c, const int *ldc, int cluster_id)
Definition dsp_connector.cpp:65
void free_ht(void *ptr)
Definition dsp_connector.cpp:56
void dgemm_mt_(const char *transa, const char *transb, const int *m, const int *n, const int *k, const double *alpha, const double *a, const int *lda, const double *b, const int *ldb, const double *beta, double *c, const int *ldc, int cluster_id)
Definition dsp_connector.cpp:97
void * malloc_ht(size_t bytes, int cluster_id)
Definition dsp_connector.cpp:46
void zgemm_mth_(const char *transa, const char *transb, const int *m, const int *n, const int *k, const std::complex< double > *alpha, const std::complex< double > *a, const int *lda, const std::complex< double > *b, const int *ldb, const std::complex< double > *beta, std::complex< double > *c, const int *ldc, int cluster_id)
Definition dsp_connector.cpp:259
Definition memory_op.h:45