marekandreas / elpa

A scalable eigensolver for dense, symmetric (hermitian) matrices (fork of https://gitlab.mpcdf.mpg.de/elpa/elpa.git)
Other
27 stars 13 forks source link

Compile error: generated manually_preprossessed file has Syntax error #48

Closed jsboer closed 7 months ago

jsboer commented 7 months ago

Hi, I compile elpa with intel mpi, intel fortran(2021) and gcc\g++(11.2), and meet following error

make[1]: Entering directory '/work1/jrf/tool/elpa/build-mpi'
  PPFC     src/libelpa_public_la-elpa_constants.lo
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(67): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(69): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(71): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(73): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(75): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(77): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(79): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(81): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(83): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(85): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(87): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(89): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(91): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(95): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(99): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(102): error #5276: Unbalanced parentheses
) 
^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(102): error #5082: Syntax error, found ')' when expecting one of: <LABEL> <END-OF-STATEMENT> ; <IDENTIFIER> TYPE MODULE ELEMENTAL IMPURE NON_RECURSIVE ...
) 
^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(105): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(107): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(109): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(111): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(113): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(115): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(117): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(119): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(121): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(123): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(125): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(127): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
manually_preprocessed_.._src_elpa_constants.F90-src_.libs_libelpa_public_la-elpa_constants.o.F90(129): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: %FILL <IDENTIFIER>
 integer(kind=C_INT), parameter :: 
-----------------------------------^
/tmp/ifort9zzC8J.i90(133): catastrophic error: Too many errors, exiting

what could cause this ?

compile command

 FC=mpiifort  CC=mpicc CXX=mpicxx ../configure \
 FCFLAGS="-O3 -march=core-avx2 " \
 CFLAGS=" -O3 -mavx2 -mfma -funsafe-loop-optimizations -funsafe-math-optimizations -ftree-vect-loop-version -ftree-vectorize"  CXXFLAGS="-O3 -mfma -funsafe-loop-optimizations -funsafe-math-optimizations -ftree-vect-loop-version -ftree-vectorize -mavx2 " \
 --enable-option-checking=fatal \
 SCALAPACK_LDFLAGS=" -L$MKL_HOME/lib/intel64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_lp64 -lpthread " \
 SCALAPACK_FCFLAGS="-I$MKL_HOME/include  -I$MKL_HOME/include/intel64/lp64 -L$MKL_HOME/lib/intel64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_lp64 -lpthread " \
 --enable-avx2 --disable-avx512-kernels
marekandreas commented 7 months ago

Could you try by adding to configure CPP="gcc -E" ?

jsboer commented 7 months ago

Could you try by adding to configure CPP="gcc -E" ?

Hi, I still meet this same error, the compiler option is

 FC=mpiifort  CC=mpicc CXX=mpicxx  CPP="gcc -E" ../configure \
 FCFLAGS="-O3 -march=core-avx2 " \
 CFLAGS=" -O3 -mavx2 -mfma -funsafe-loop-optimizations -funsafe-math-optimizations -ftree-vect-loop-version -ftree-vectorize"  CXXFLAGS="-O3 -mfma -funsafe-loop-optimizations -funsafe-math-optimizations -ftree-vect-loop-version -ftree-vectorize -mavx2 " \
 --enable-option-checking=fatal \
 SCALAPACK_LDFLAGS=" -L$MKL_HOME/lib/intel64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_lp64 -lpthread " \
 SCALAPACK_FCFLAGS="-I$MKL_HOME/include  -I$MKL_HOME/include/intel64/lp64 -L$MKL_HOME/lib/intel64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_lp64 -lpthread " \
 --enable-avx2 --disable-avx512-kernels
jsboer commented 7 months ago

Hi, I use mpiicc and mpiicpc and pass the make. But when I use 'make check', I meet many fail and check. Does this matter?

FAIL: validate_c_version_complex_double_eigenvalues_1stage_analytic_explicit_default.sh
FAIL: validate_c_version_complex_double_eigenvalues_1stage_analytic_default.sh
FAIL: validate_c_version_complex_double_eigenvalues_2stage_default_kernel_analytic_default.sh
FAIL: validate_c_version_real_double_eigenvalues_1stage_analytic_explicit_default.sh
FAIL: validate_c_version_real_double_eigenvalues_1stage_analytic_default.sh
FAIL: validate_c_version_real_double_eigenvalues_2stage_default_kernel_analytic_default.sh
FAIL: validate_c_version_complex_single_eigenvalues_1stage_analytic_explicit_default.sh
FAIL: validate_c_version_complex_single_eigenvalues_1stage_analytic_default.sh
FAIL: validate_c_version_complex_single_eigenvalues_2stage_default_kernel_analytic_default.sh
FAIL: validate_c_version_real_single_eigenvalues_1stage_analytic_explicit_default.sh
FAIL: validate_c_version_real_single_eigenvalues_1stage_analytic_default.sh
FAIL: validate_c_version_real_single_eigenvalues_2stage_default_kernel_analytic_default.sh
FAIL: validate_c_version_complex_double_cholesky_1stage_random_explicit_default.sh
FAIL: validate_c_version_complex_double_cholesky_1stage_random_default.sh
FAIL: validate_c_version_real_double_cholesky_1stage_random_explicit_default.sh
FAIL: validate_c_version_real_double_cholesky_1stage_random_default.sh
FAIL: validate_c_version_complex_single_cholesky_1stage_random_explicit_default.sh
FAIL: validate_c_version_complex_single_cholesky_1stage_random_default.sh
FAIL: validate_c_version_real_single_cholesky_1stage_random_explicit_default.sh
FAIL: validate_c_version_real_single_cholesky_1stage_random_default.sh
FAIL: validate_c_version_complex_double_eigenvectors_1stage_random_explicit_default.sh
FAIL: validate_c_version_complex_double_eigenvectors_1stage_random_default.sh
FAIL: validate_c_version_complex_double_eigenvectors_2stage_default_kernel_random_explicit_default.sh
FAIL: validate_c_version_complex_double_eigenvectors_2stage_default_kernel_random_default.sh
FAIL: validate_c_version_real_double_eigenvectors_1stage_random_explicit_default.sh
FAIL: validate_c_version_real_double_eigenvectors_1stage_random_default.sh
FAIL: validate_c_version_real_double_eigenvectors_2stage_default_kernel_random_explicit_default.sh
FAIL: validate_c_version_real_double_eigenvectors_2stage_default_kernel_random_default.sh
FAIL: validate_c_version_complex_single_eigenvectors_1stage_random_explicit_default.sh
FAIL: validate_c_version_complex_single_eigenvectors_1stage_random_default.sh
FAIL: validate_c_version_complex_single_eigenvectors_2stage_default_kernel_random_explicit_default.sh
FAIL: validate_c_version_complex_single_eigenvectors_2stage_default_kernel_random_default.sh
FAIL: validate_c_version_real_single_eigenvectors_1stage_random_explicit_default.sh
FAIL: validate_c_version_real_single_eigenvectors_1stage_random_default.sh
FAIL: validate_c_version_real_single_eigenvectors_2stage_default_kernel_random_explicit_default.sh
FAIL: validate_c_version_real_single_eigenvectors_2stage_default_kernel_random_default.sh
FAIL: validate_c_version_complex_double_generalized_1stage_random_default.sh
FAIL: validate_c_version_real_double_generalized_1stage_random_default.sh
FAIL: validate_c_version_complex_single_generalized_1stage_random_default.sh
FAIL: validate_c_version_real_single_generalized_1stage_random_default.sh
FAIL: validate_c_version_complex_double_generalized_decomp_1stage_random_default.sh
FAIL: validate_c_version_real_double_generalized_decomp_1stage_random_default.sh
FAIL: validate_c_version_complex_single_generalized_decomp_1stage_random_default.sh
FAIL: validate_c_version_real_single_generalized_decomp_1stage_random_default.sh
FAIL: validate_c_version_complex_double_hermitian_multiply_1stage_random_explicit_default.sh
FAIL: validate_c_version_complex_double_hermitian_multiply_1stage_random_default.sh
FAIL: validate_c_version_real_double_hermitian_multiply_1stage_random_explicit_default.sh
FAIL: validate_c_version_real_double_hermitian_multiply_1stage_random_default.sh
FAIL: validate_c_version_complex_single_hermitian_multiply_1stage_random_explicit_default.sh
FAIL: validate_c_version_complex_single_hermitian_multiply_1stage_random_default.sh
FAIL: validate_c_version_real_single_hermitian_multiply_1stage_random_explicit_default.sh
FAIL: validate_c_version_real_single_hermitian_multiply_1stage_random_default.sh
FAIL: validate_c_version_real_double_solve_tridiagonal_1stage_toeplitz_default.sh
FAIL: validate_c_version_real_single_solve_tridiagonal_1stage_toeplitz_default.sh
FAIL: validate_cpp_version_complex_double_eigenvalues_1stage_analytic_default.sh
FAIL: validate_cpp_version_complex_double_eigenvalues_2stage_default_kernel_analytic_default.sh
FAIL: validate_cpp_version_real_double_eigenvalues_1stage_analytic_default.sh
FAIL: validate_cpp_version_real_double_eigenvalues_2stage_default_kernel_analytic_default.sh
FAIL: validate_cpp_version_complex_single_eigenvalues_1stage_analytic_default.sh
FAIL: validate_cpp_version_complex_single_eigenvalues_2stage_default_kernel_analytic_default.sh
FAIL: validate_cpp_version_real_single_eigenvalues_1stage_analytic_default.sh
FAIL: validate_cpp_version_real_single_eigenvalues_2stage_default_kernel_analytic_default.sh
FAIL: validate_cpp_version_complex_double_cholesky_1stage_random_explicit_default.sh
FAIL: validate_cpp_version_complex_double_cholesky_1stage_random_default.sh
FAIL: validate_cpp_version_real_double_cholesky_1stage_random_explicit_default.sh
FAIL: validate_cpp_version_real_double_cholesky_1stage_random_default.sh
FAIL: validate_cpp_version_complex_single_cholesky_1stage_random_explicit_default.sh
FAIL: validate_cpp_version_complex_single_cholesky_1stage_random_default.sh
FAIL: validate_cpp_version_real_single_cholesky_1stage_random_explicit_default.sh
FAIL: validate_cpp_version_real_single_cholesky_1stage_random_default.sh
FAIL: validate_cpp_version_complex_double_eigenvectors_1stage_random_explicit_default.sh
FAIL: validate_cpp_version_complex_double_eigenvectors_1stage_random_default.sh
FAIL: validate_cpp_version_complex_double_eigenvectors_2stage_default_kernel_random_explicit_default.sh
FAIL: validate_cpp_version_complex_double_eigenvectors_2stage_default_kernel_random_default.sh
FAIL: validate_cpp_version_real_double_eigenvectors_1stage_random_explicit_default.sh
FAIL: validate_cpp_version_real_double_eigenvectors_1stage_random_default.sh
FAIL: validate_cpp_version_real_double_eigenvectors_2stage_default_kernel_random_explicit_default.sh
FAIL: validate_cpp_version_real_double_eigenvectors_2stage_default_kernel_random_default.sh
FAIL: validate_cpp_version_complex_single_eigenvectors_1stage_random_explicit_default.sh
FAIL: validate_cpp_version_complex_single_eigenvectors_1stage_random_default.sh
FAIL: validate_cpp_version_complex_single_eigenvectors_2stage_default_kernel_random_explicit_default.sh
FAIL: validate_cpp_version_complex_single_eigenvectors_2stage_default_kernel_random_default.sh
FAIL: validate_cpp_version_real_single_eigenvectors_1stage_random_explicit_default.sh
FAIL: validate_cpp_version_real_single_eigenvectors_1stage_random_default.sh
FAIL: validate_cpp_version_real_single_eigenvectors_2stage_default_kernel_random_explicit_default.sh
FAIL: validate_cpp_version_real_single_eigenvectors_2stage_default_kernel_random_default.sh
FAIL: validate_cpp_version_complex_double_generalized_1stage_random_default.sh
FAIL: validate_cpp_version_real_double_generalized_1stage_random_default.sh
FAIL: validate_cpp_version_complex_single_generalized_1stage_random_default.sh
FAIL: validate_cpp_version_real_single_generalized_1stage_random_default.sh
FAIL: validate_cpp_version_complex_double_generalized_decomp_1stage_random_default.sh
FAIL: validate_cpp_version_real_double_generalized_decomp_1stage_random_default.sh
FAIL: validate_cpp_version_complex_single_generalized_decomp_1stage_random_default.sh
FAIL: validate_cpp_version_real_single_generalized_decomp_1stage_random_default.sh
FAIL: validate_cpp_version_complex_double_hermitian_multiply_1stage_random_explicit_default.sh
FAIL: validate_cpp_version_complex_double_hermitian_multiply_1stage_random_default.sh
FAIL: validate_cpp_version_real_double_hermitian_multiply_1stage_random_explicit_default.sh
FAIL: validate_cpp_version_real_double_hermitian_multiply_1stage_random_default.sh
FAIL: validate_cpp_version_complex_single_hermitian_multiply_1stage_random_explicit_default.sh
FAIL: validate_cpp_version_complex_single_hermitian_multiply_1stage_random_default.sh
FAIL: validate_cpp_version_real_single_hermitian_multiply_1stage_random_explicit_default.sh
FAIL: validate_cpp_version_real_single_hermitian_multiply_1stage_random_default.sh
FAIL: validate_cpp_version_real_double_solve_tridiagonal_1stage_toeplitz_default.sh
FAIL: validate_cpp_version_real_single_solve_tridiagonal_1stage_toeplitz_default.sh
SKIP: validate_complex_double_eigenvectors_1stage_analytic_all_layouts_extended.sh
PASS: validate_complex_double_eigenvectors_1stage_analytic_default.sh
SKIP: validate_complex_double_eigenvectors_2stage_all_kernels_analytic_all_layouts_extended.sh
SKIP: validate_complex_double_eigenvectors_2stage_default_kernel_analytic_all_layouts_extended.sh
SKIP: validate_complex_double_eigenvectors_2stage_all_kernels_analytic_extended.sh
PASS: validate_complex_double_eigenvectors_2stage_default_kernel_analytic_default.sh
SKIP: validate_real_double_eigenvectors_1stage_analytic_all_layouts_extended.sh
PASS: validate_real_double_eigenvectors_1stage_analytic_default.sh
SKIP: validate_real_double_eigenvectors_2stage_all_kernels_analytic_all_layouts_extended.sh
SKIP: validate_real_double_eigenvectors_2stage_default_kernel_analytic_all_layouts_extended.sh
SKIP: validate_real_double_eigenvectors_2stage_all_kernels_analytic_extended.sh
PASS: validate_real_double_eigenvectors_2stage_default_kernel_analytic_default.sh
SKIP: validate_complex_single_eigenvectors_1stage_analytic_all_layouts_extended.sh
PASS: validate_complex_single_eigenvectors_1stage_analytic_default.sh
SKIP: validate_complex_single_eigenvectors_2stage_all_kernels_analytic_all_layouts_extended.sh
SKIP: validate_complex_single_eigenvectors_2stage_default_kernel_analytic_all_layouts_extended.sh
SKIP: validate_complex_single_eigenvectors_2stage_all_kernels_analytic_extended.sh
PASS: validate_complex_single_eigenvectors_2stage_default_kernel_analytic_default.sh
SKIP: validate_real_single_eigenvectors_1stage_analytic_all_layouts_extended.sh
PASS: validate_real_single_eigenvectors_1stage_analytic_default.sh
SKIP: validate_real_single_eigenvectors_2stage_all_kernels_analytic_all_layouts_extended.sh
SKIP: validate_real_single_eigenvectors_2stage_default_kernel_analytic_all_layouts_extended.sh
SKIP: validate_real_single_eigenvectors_2stage_all_kernels_analytic_extended.sh
PASS: validate_real_single_eigenvectors_2stage_default_kernel_analytic_default.sh
SKIP: validate_real_double_eigenvalues_1stage_frank_all_layouts_extended.sh
PASS: validate_real_double_eigenvalues_1stage_frank_default.sh
SKIP: validate_real_double_eigenvalues_2stage_default_kernel_frank_all_layouts_extended.sh
PASS: validate_real_double_eigenvalues_2stage_default_kernel_frank_default.sh
SKIP: validate_real_double_eigenvectors_1stage_frank_all_layouts_extended.sh
PASS: validate_real_double_eigenvectors_1stage_frank_default.sh
SKIP: validate_real_double_eigenvectors_2stage_all_kernels_frank_all_layouts_extended.sh
SKIP: validate_real_double_eigenvectors_2stage_default_kernel_frank_all_layouts_extended.sh
SKIP: validate_real_double_eigenvectors_2stage_all_kernels_frank_extended.sh
PASS: validate_real_double_eigenvectors_2stage_default_kernel_frank_default.sh
SKIP: validate_real_double_hermitian_multiply_1stage_frank_all_layouts_extended.sh
PASS: validate_real_double_hermitian_multiply_1stage_frank_default.sh
SKIP: validate_complex_double_cholesky_1stage_random_all_layouts_extended.sh
PASS: validate_complex_double_cholesky_1stage_random_explicit_default.sh
PASS: validate_complex_double_cholesky_1stage_random_default.sh
SKIP: validate_real_double_cholesky_1stage_random_all_layouts_extended.sh
PASS: validate_real_double_cholesky_1stage_random_explicit_default.sh
PASS: validate_real_double_cholesky_1stage_random_default.sh
PASS: validate_real_double_cholesky_1stage_random_split_comm_myself_explicit_default.sh
PASS: validate_real_double_cholesky_1stage_random_split_comm_myself_default.sh
SKIP: validate_complex_single_cholesky_1stage_random_all_layouts_extended.sh
PASS: validate_complex_single_cholesky_1stage_random_explicit_default.sh
PASS: validate_complex_single_cholesky_1stage_random_default.sh
SKIP: validate_real_single_cholesky_1stage_random_all_layouts_extended.sh
PASS: validate_real_single_cholesky_1stage_random_explicit_default.sh
PASS: validate_real_single_cholesky_1stage_random_default.sh
SKIP: validate_complex_double_eigenvectors_1stage_random_all_layouts_extended.sh
PASS: validate_complex_double_eigenvectors_1stage_random_explicit_default.sh
PASS: validate_complex_double_eigenvectors_1stage_random_default.sh
SKIP: validate_complex_double_eigenvectors_2stage_all_kernels_random_all_layouts_extended.sh
SKIP: validate_complex_double_eigenvectors_2stage_default_kernel_random_all_layouts_extended.sh
SKIP: validate_complex_double_eigenvectors_2stage_all_kernels_random_explicit_extended.sh
PASS: validate_complex_double_eigenvectors_2stage_default_kernel_random_explicit_default.sh
SKIP: validate_complex_double_eigenvectors_2stage_all_kernels_random_extended.sh
PASS: validate_complex_double_eigenvectors_2stage_default_kernel_random_default.sh
SKIP: validate_real_double_eigenvectors_1stage_random_all_layouts_extended.sh
PASS: validate_real_double_eigenvectors_1stage_random_explicit_default.sh
PASS: validate_real_double_eigenvectors_1stage_random_default.sh
PASS: validate_real_double_eigenvectors_1stage_random_split_comm_myself_explicit_default.sh
PASS: validate_real_double_eigenvectors_1stage_random_split_comm_myself_default.sh
SKIP: validate_real_double_eigenvectors_2stage_all_kernels_random_all_layouts_extended.sh
SKIP: validate_real_double_eigenvectors_2stage_default_kernel_random_all_layouts_extended.sh
SKIP: validate_real_double_eigenvectors_2stage_all_kernels_random_explicit_extended.sh
PASS: validate_real_double_eigenvectors_2stage_default_kernel_random_explicit_default.sh
SKIP: validate_real_double_eigenvectors_2stage_all_kernels_random_extended.sh
PASS: validate_real_double_eigenvectors_2stage_default_kernel_random_default.sh
PASS: validate_real_double_eigenvectors_2stage_default_kernel_random_split_comm_myself_explicit_default.sh
PASS: validate_real_double_eigenvectors_2stage_default_kernel_random_split_comm_myself_default.sh
SKIP: validate_complex_single_eigenvectors_1stage_random_all_layouts_extended.sh
PASS: validate_complex_single_eigenvectors_1stage_random_explicit_default.sh
PASS: validate_complex_single_eigenvectors_1stage_random_default.sh
SKIP: validate_complex_single_eigenvectors_2stage_all_kernels_random_all_layouts_extended.sh
SKIP: validate_complex_single_eigenvectors_2stage_default_kernel_random_all_layouts_extended.sh
SKIP: validate_complex_single_eigenvectors_2stage_all_kernels_random_explicit_extended.sh
PASS: validate_complex_single_eigenvectors_2stage_default_kernel_random_explicit_default.sh
SKIP: validate_complex_single_eigenvectors_2stage_all_kernels_random_extended.sh
PASS: validate_complex_single_eigenvectors_2stage_default_kernel_random_default.sh
SKIP: validate_real_single_eigenvectors_1stage_random_all_layouts_extended.sh
PASS: validate_real_single_eigenvectors_1stage_random_explicit_default.sh
PASS: validate_real_single_eigenvectors_1stage_random_default.sh
SKIP: validate_real_single_eigenvectors_2stage_all_kernels_random_all_layouts_extended.sh
SKIP: validate_real_single_eigenvectors_2stage_default_kernel_random_all_layouts_extended.sh
SKIP: validate_real_single_eigenvectors_2stage_all_kernels_random_explicit_extended.sh
PASS: validate_real_single_eigenvectors_2stage_default_kernel_random_explicit_default.sh
SKIP: validate_real_single_eigenvectors_2stage_all_kernels_random_extended.sh
PASS: validate_real_single_eigenvectors_2stage_default_kernel_random_default.sh
SKIP: validate_complex_double_generalized_1stage_random_all_layouts_default.sh
PASS: validate_complex_double_generalized_1stage_random_default.sh
SKIP: validate_real_double_generalized_1stage_random_all_layouts_default.sh
PASS: validate_real_double_generalized_1stage_random_default.sh
SKIP: validate_complex_single_generalized_1stage_random_all_layouts_default.sh
PASS: validate_complex_single_generalized_1stage_random_default.sh
SKIP: validate_real_single_generalized_1stage_random_all_layouts_default.sh
PASS: validate_real_single_generalized_1stage_random_default.sh
SKIP: validate_complex_double_generalized_decomp_1stage_random_all_layouts_extended.sh
PASS: validate_complex_double_generalized_decomp_1stage_random_default.sh
SKIP: validate_real_double_generalized_decomp_1stage_random_all_layouts_extended.sh
PASS: validate_real_double_generalized_decomp_1stage_random_default.sh
SKIP: validate_complex_single_generalized_decomp_1stage_random_all_layouts_extended.sh
jsboer commented 7 months ago

here is the test-suite.log test-suite.log

terminationshock commented 7 months ago

Dear @jsboer , I was not able to reproduce the error on our side. Could you please again tell us, what ELPA version you are trying to build. Please also post the output of:

mpiifort --version
mpicc --version
mpicxx --version
mpiifort -show
mpicc -show
mpicxx -show

Is there any particular reason why you mix Intel and GNU compilers? This is not recommended and may be the root cause of your problem. Please try with FC=mpiifort CC=mpiicc CXX=mpiicpc again.

jsboer commented 7 months ago

Dear @jsboer , I was not able to reproduce the error on our side. Could you please again tell us, what ELPA version you are trying to build. Please also post the output of:

mpiifort --version
mpicc --version
mpicxx --version
mpiifort -show
mpicc -show
mpicxx -show

Is there any particular reason why you mix Intel and GNU compilers? This is not recommended and may be the root cause of your problem. Please try with FC=mpiifort CC=mpiicc CXX=mpiicpc again.

Hi, I do this mix is according to the INSTALL.MD that "We recommend that you build ELPA with the Intel compiler (if available) for the Fortran part, but with GNU compiler for the C part.(https://github.com/marekandreas/elpa/blob/master/documentation/INSTALL.md#:~:text=Hasell%20and%20newer)-,We%20recommend%20that%20you%20build%20ELPA%20with%20the%20Intel%20compiler%20(if%20available)%20for%20the%20Fortran%20part%2C%20but%20with%20GNU%20compiler%20for%20the%20C%20part.,-Building%20with%20Intel)"

I try the "FC=mpiifort CC=mpiicc CXX=mpiicpc " and successful build the elpa library. But some 'make check ' failed, does it matter? The log file is https://github.com/marekandreas/elpa/files/14429384/test-suite.log

jsboer commented 7 months ago

mpicxx -show

And the output is as follows, if needed to reproduce the error use mixed compiler

(fire) [jrf@login09 tool]$ mpiifort --version
ifort (IFORT) 2021.3.0 20210609
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

(fire) [jrf@login09 tool]$ mpicc --version
gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

(fire) [jrf@login09 tool]$ mpicxx --version
g++ (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

(fire) [jrf@login09 tool]$ mpiifort -show
ifort -I"/public/software/mpi/intelmpi/2021.3.0//include" -I"/public/software/mpi/intelmpi/2021.3.0/include" -L"/public/software/mpi/intelmpi/2021.3.0/lib/release" -L"/public/software/mpi/intelmpi/2021.3.0/lib" -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker "/public/software/mpi/intelmpi/2021.3.0/lib/release" -Xlinker -rpath -Xlinker "/public/software/mpi/intelmpi/2021.3.0/lib" -lmpifort -lmpi -ldl -lrt -lpthread
(fire) [jrf@login09 tool]$ mpicc -show
gcc -I"/public/software/mpi/intelmpi/2021.3.0/include" -L"/public/software/mpi/intelmpi/2021.3.0/lib/release" -L"/public/software/mpi/intelmpi/2021.3.0/lib" -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker "/public/software/mpi/intelmpi/2021.3.0/lib/release" -Xlinker -rpath -Xlinker "/public/software/mpi/intelmpi/2021.3.0/lib" -lmpifort -lmpi -lrt -lpthread -Wl,-z,now -Wl,-z,relro -Wl,-z,noexecstack -Xlinker --enable-new-dtags -ldl
(fire) [jrf@login09 tool]$ mpicxx -show
g++ -I"/public/software/mpi/intelmpi/2021.3.0/include" -L"/public/software/mpi/intelmpi/2021.3.0/lib/release" -L"/public/software/mpi/intelmpi/2021.3.0/lib" -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker "/public/software/mpi/intelmpi/2021.3.0/lib/release" -Xlinker -rpath -Xlinker "/public/software/mpi/intelmpi/2021.3.0/lib" -lmpicxx -lmpifort -lmpi -lrt -lpthread -Wl,-z,now -Wl,-z,relro -Wl,-z,noexecstack -Xlinker --enable-new-dtags -ldl
terminationshock commented 7 months ago

Hi, I do this mix is according to the INSTALL.MD that "We recommend that you build ELPA with the Intel compiler (if available) for the Fortran part, but with GNU compiler for the C part.

We will discuss this internally and come back to you.

I try the "FC=mpiifort CC=mpiicc CXX=mpiicpc " and successful build the elpa library. But some 'make check ' failed, does it matter? The log file is https://github.com/marekandreas/elpa/files/14429384/test-suite.log

There seems to be some library missing at runtime. Can you please send the output of ldd /work1/jrf/tool/elpa/build-mpi/.libs/libelpa.so.19?

jsboer commented 7 months ago

Hi, I do this mix is according to the INSTALL.MD that "We recommend that you build ELPA with the Intel compiler (if available) for the Fortran part, but with GNU compiler for the C part.

We will discuss this internally and come back to you.

I try the "FC=mpiifort CC=mpiicc CXX=mpiicpc " and successful build the elpa library. But some 'make check ' failed, does it matter? The log file is https://github.com/marekandreas/elpa/files/14429384/test-suite.log

There seems to be some library missing at runtime. Can you please send the output of ldd /work1/jrf/tool/elpa/build-mpi/.libs/libelpa.so.19?

Hi, the output is as follows

  linux-vdso.so.1 =>  (0x00007ffde07a9000)
        libmkl_scalapack_lp64.so.1 => /public/software/compiler/intel/2021.3.0/mkl/lib/intel64/libmkl_scalapack_lp64.so.1 (0x00002b84576e2000)
        libmkl_intel_lp64.so.1 => /public/software/compiler/intel/2021.3.0/mkl/lib/intel64/libmkl_intel_lp64.so.1 (0x00002b845800d000)
        libmkl_sequential.so.1 => /public/software/compiler/intel/2021.3.0/mkl/lib/intel64/libmkl_sequential.so.1 (0x00002b8458da5000)
        libmkl_core.so.1 => /public/software/compiler/intel/2021.3.0/mkl/lib/intel64/libmkl_core.so.1 (0x00002b845a9b2000)
        libmkl_blacs_intelmpi_lp64.so.1 => /public/software/compiler/intel/2021.3.0/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.so.1 (0x00002b845f021000)
        libmpifort.so.12 => /public/software/mpi/intelmpi/2021.3.0/lib/libmpifort.so.12 (0x00002b845f267000)
        libmpi.so.12 => /public/software/mpi/intelmpi/2021.3.0/lib/release/libmpi.so.12 (0x00002b845f625000)
        librt.so.1 => /lib64/librt.so.1 (0x00002b8460a1c000)
        libifport.so.5 => /opt/hpc/software/compiler/intel/intel-compiler-2017.5.239/compiler/lib/intel64_lin/libifport.so.5 (0x00002b8460c24000)
        libifcoremt.so.5 => /opt/hpc/software/compiler/intel/intel-compiler-2017.5.239/compiler/lib/intel64_lin/libifcoremt.so.5 (0x00002b8460e53000)
        libimf.so => /opt/hpc/software/compiler/intel/intel-compiler-2017.5.239/compiler/lib/intel64_lin/libimf.so (0x00002b84611e3000)
        libm.so.6 => /lib64/libm.so.6 (0x00002b84616d0000)
        libintlc.so.5 => /opt/hpc/software/compiler/intel/intel-compiler-2017.5.239/compiler/lib/intel64_lin/libintlc.so.5 (0x00002b84619d2000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b8461c3d000)
        libsvml.so => /opt/hpc/software/compiler/intel/intel-compiler-2017.5.239/compiler/lib/intel64_lin/libsvml.so (0x00002b8461e59000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002b8462d77000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00002b8462f8d000)
        libc.so.6 => /lib64/libc.so.6 (0x00002b8463191000)
        /lib64/ld-linux-x86-64.so.2 (0x00002b8456df5000)
terminationshock commented 7 months ago

I think, something is messed up in your configuration. The symbol __svml_idiv8_l9 is provided by the library libsvml.so, which is linked as shown by ldd. However, it is weird that it points to some Intel 2017 installation and not to the 2021.3 as it should. This could be the reason for the missing symbol at runtime. Please first of all verify that you link with the correct libraries. Review your LD_LIBRARY_PATH or loaded modules (if applicable). I recommend to try again with a clean installation of a latest Intel oneAPI package.

jsboer commented 7 months ago

I think, something is messed up in your configuration. The symbol __svml_idiv8_l9 is provided by the library libsvml.so, which is linked as shown by ldd. However, it is weird that it points to some Intel 2017 installation and not to the 2021.3 as it should. This could be the reason for the missing symbol at runtime. Please first of all verify that you link with the correct libraries. Review your LD_LIBRARY_PATH or loaded modules (if applicable). I recommend to try again with a clean installation of a latest Intel oneAPI package.

Thank you, I will have a try.

jsboer commented 7 months ago

I think, something is messed up in your configuration. The symbol __svml_idiv8_l9 is provided by the library libsvml.so, which is linked as shown by ldd. However, it is weird that it points to some Intel 2017 installation and not to the 2021.3 as it should. This could be the reason for the missing symbol at runtime. Please first of all verify that you link with the correct libraries. Review your LD_LIBRARY_PATH or loaded modules (if applicable). I recommend to try again with a clean installation of a latest Intel oneAPI package.

Hi, you are right! Now the test are PASS or SKIP, no FAIL. Does the PASS due to I do not compile the according kernel?

============================================================================
Testsuite summary for elpa 2023.11.001
============================================================================
# TOTAL: 311
# PASS:  202
# SKIP:  109
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
marekandreas commented 7 months ago

Hi, not sure I understand your question "Does the PASS due to I do not compile the according kernel?". The PASS implies that all checks were successful. So which kernel are you "not compiling"?

jsboer commented 7 months ago

oh, sorry, I mean Does the SKIP due to I do not compile the according kernel? Following is my compiled kernel

  real_generic
  real_generic_simple
  real_generic_simple_block4
  real_generic_simple_block6
  real_sse_block2
  real_sse_block4
  real_sse_block6
  real_sse_assembly
  real_avx_block2
  real_avx_block4
  real_avx_block6
  real_avx2_block2 (default)
  real_avx2_block4
  real_avx2_block6
  complex_generic
  complex_generic_simple
  complex_sse_block1
  complex_sse_block2
  complex_sse_assembly
  complex_avx_block1
  complex_avx_block2
  complex_avx2_block1 (default)
  complex_avx2_block2
terminationshock commented 7 months ago

Tests are skipped, because they do not apply to the current configuration. This is fine. You only need to worry about failed tests.

jsboer commented 7 months ago

Ok, thank you!