Skip to content

QE - Compilation fails using configure-qe-skx #18

@giacrossi

Description

@giacrossi

It seems that the make.inc generated from configure-qe-skx.sh still refers to threaded MKL. If I compile pw using that make.inc file, I got a lot of errors like:
/opt/intel/compilers_and_libraries_2020.2.254/linux/mkl/lib/intel64/libmkl_intel_thread.a(dpttrs_par.o): In functionmkl_lapack_dpttrs':
dpttrs_omp_gen.f:(.text+0x177): undefined reference to __kmpc_global_thread_num' dpttrs_omp_gen.f:(.text+0x189): undefined reference to __kmpc_ok_to_fork'
dpttrs_omp_gen.f:(.text+0x1a2): undefined reference to __kmpc_push_num_threads' dpttrs_omp_gen.f:(.text+0x1ea): undefined reference to __kmpc_fork_call'
dpttrs_omp_gen.f:(.text+0x205): undefined reference to __kmpc_serialized_parallel' dpttrs_omp_gen.f:(.text+0x26d): undefined reference to __kmpc_end_serialized_parallel'
dpttrs_omp_gen.f:(.text+0x34a): undefined reference to omp_get_thread_num' dpttrs_omp_gen.f:(.text+0x354): undefined reference to omp_get_num_threads'
`

Adding the option -qopenmp to the variable LDFLAGS solves the error, but I guess that in that case QE still uses the threaded version of MKL.

Moreover, the configure-qe-skx.sh script adds the option -threads to the FFLAGS variable, which does not seem necessary.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions