Skip to content

Commit 5350688

Browse files
committed
Add runtime validation for ELPA complex BLOCK2 kernels
1 parent b1141ba commit 5350688

4 files changed

Lines changed: 443 additions & 1 deletion

File tree

source/source_hsolver/module_genelpa/CMakeLists.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
add_library(genelpa OBJECT elpa_new.cpp elpa_new_real.cpp elpa_new_complex.cpp utils.cpp)
1+
add_library(genelpa OBJECT
2+
elpa_new.cpp
3+
elpa_new_real.cpp
4+
elpa_new_complex.cpp
5+
elpa_runtime_check.cpp
6+
utils.cpp
7+
)
28

39
if(ENABLE_COVERAGE)
410
add_coverage(genelpa)

source/source_hsolver/module_genelpa/elpa_new.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#include "elpa_new.h"
22

3+
#include "elpa_runtime_check.h"
4+
35
#include "elpa_solver.h"
46
extern "C"
57
{
@@ -212,7 +214,10 @@ void ELPA_Solver::setKernel(bool isReal, int kernel)
212214
if (isReal)
213215
elpa_set(NEW_ELPA_HANDLE_POOL[handle_id], "real_kernel", kernel, &error);
214216
else
217+
{
215218
elpa_set(NEW_ELPA_HANDLE_POOL[handle_id], "complex_kernel", kernel, &error);
219+
validate_elpa_complex_kernel(kernel, error, comm);
220+
}
216221
}
217222

218223
void ELPA_Solver::setQR(int useQR)

0 commit comments

Comments
 (0)