- 20 Jul, 2017 2 commits
-
-
Andreas Marek authored
-
Pavel Kus authored
Previously we checked ortonormality of eigenvectors by comparing the matrix S^T * S to identity matrix. The new feature is also checking just the diagonal of the matrix S^T * S. By that we get the information, how far are the eigenvectors from having length 1. If it turns out to be important, we could try to normalize them at the end of elpa, which is simple (in contrast with enforcing better orthogonality).
-
- 19 Jul, 2017 5 commits
- 18 Jul, 2017 9 commits
-
-
Andreas Marek authored
-
Andreas Marek authored
-
Andreas Marek authored
-
Pavel Kus authored
for mpi_allreduce in test_check_correctness
-
Pavel Kus authored
of _GEMM and P_GEMM calls
-
Andreas Marek authored
-
Andreas Marek authored
The functions in elpa_utilities are considered "ELPA internal", i.e. the should not be accessible by the users and thus not be part of the API.
-
Andreas Marek authored
-
Andreas Marek authored
-
- 17 Jul, 2017 3 commits
-
-
Pavel Kus authored
Should be done in a more systematic way. In this case, in certain configuration 1stage_analytic test pased, while 2stage_analytic tests failed due to error larger then tolerance
-
Pavel Kus authored
Introducing new test in which matrix and its eigendecomposition is known and thus can be easily created and checked directly, without the need to use scalapack or any other communication (apart from reducing error). The test is based on the fact, that if L_A and S_A are eigenvalues and eigenvectors of matrix A, respectively, and L_B and S_B eigenvalues and eigenvectors of B, then kron(L_A, L_B) and kron (S_A, S_B) are eigenvalues and eigenvectors of kron(A, B). Since it is easy to know exact eigendecomposition of a small matrix (e.g. 2x2), and kron operator has very simple structure, we can construct arbitrarily large matrix and its eigendecomposition. We only have to select small matrices such that the resulting matrix has unique and ordered eigenvalues, so that the checking of the result is than easy. Each element of matrix, eigenvector matrix and eigenvalue vector can be quickly computed independently, just using its global coordinates. The test is currently limited to matrices of size 2^n, but by storing eigendecompositions of more small matrices (e.g. 3x3 and 5x5) we could construct any matrix of size 2^n*3^m*5^o, which would probably be sufficient, since most often used sizes (150, 1000, 5000, 2000, 60000) are of this form.
-
Andreas Marek authored
The routines "eigenvalues" and "solve_tridiagonal" are now also tested directly with the new API (and not only via the legacy API -> new API mapping) Todo: adapt test generator script to contain some logic
-
- 07 Jul, 2017 4 commits
-
-
Andreas Marek authored
-
Andreas Marek authored
-
Lorenz Huedepohl authored
-
Lorenz Huedepohl authored
-
- 04 Jul, 2017 1 commit
-
-
Andreas Marek authored
In case of GPU build it is NOT sufficient to loop over all kernels: For the GPU kernels one must ALSO set that GPUs should be used
-
- 03 Jul, 2017 1 commit
-
-
Lorenz Huedepohl authored
-
- 26 Jun, 2017 1 commit
-
-
Andreas Marek authored
-
- 13 Jun, 2017 2 commits
-
-
Pavel Kus authored
In the current form, the assert macro is not usable, since it might generate too long lines depending on the lenght of __FILE__ string. This is a temporary fix to allow setting up tests on Minsky
-
Pavel Kus authored
the test failed, since THIS_REAL_ELPA_KERNEL_API has not been specified as it is in other simmilar tests. This fixed the issue, but probably the behavior of elpa_solve_evp_real_double should be changed not to check value of THIS_REAL_ELPA_KERNEL_API for 1stage test
-
- 09 Jun, 2017 2 commits
-
-
Lorenz Huedepohl authored
-
Lorenz Huedepohl authored
Another blocker for the SuSE build server: Even though the variable is later not actually used by the function, a recent GCC complains about the use of an uninitialized value for that variable. This prevents build on the OBS, as they use compiliation flags that detect such behaviour. Error message there: ../test/C/driver/legacy_interface/legacy_real_driver_c_version.c:193:12: warning: 'THIS_REAL_ELPA_KERNEL_API' is used uninitialized in this function [-Wuninitialized] success = elpa_solve_evp_real_double(na, nev, a, na_rows, ev, z, na_rows, nblk, na_cols, mpi_comm_rows, mpi_comm_cols, my_mpi_comm_world, THIS_REAL_ELPA_KERNEL_API, useQr, useGPU, [...] I: Program is using uninitialized variables. Note the difference between "is used" and "may be used" W: elpa uninitialized-variable ../test/C/driver/legacy_interface/legacy_real_driver_c_version.c:193
-
- 02 Jun, 2017 1 commit
-
-
Lorenz Huedepohl authored
-
- 01 Jun, 2017 3 commits
-
-
Lorenz Huedepohl authored
-
Lorenz Huedepohl authored
Most of the test programs for the new interface were all essentially copy&pasted from test.F90, now all of those directly use test.F90 with appropriate preprocessor flags
-
Lorenz Huedepohl authored
- Remove all use of ELPA internal modules, the test programs now only use the public ELPA API. This is now enforced, by hiding the private modules - Prefix all test internal modules with "test_" to make it really clear that these modules are not to be used by users.
-
- 30 May, 2017 2 commits
-
-
Andreas Marek authored
-
Andreas Marek authored
The public "solve" method has been renamed "eigenvectors" since it computes the eigenvalues and (at least parts of) the eigenvectors Another routine "eigenvalues" will just compute the eigenvalues
-
- 24 May, 2017 4 commits
-
-
Andreas Marek authored
-
Andreas Marek authored
-
Andreas Marek authored
-
Andreas Marek authored
-