[Wien] Wien Installation
Gavin Abo
gsabo at crimson.ua.edu
Tue Jun 16 04:38:29 CEST 2020
Those undefined references, such as _intel_fast_memcpy, are defined in
an Intel compiler library [1]. When using Intel compilers
(ifort/icc/mpiifort), typically mkl is used instead of OpenBLAS as well
as the Intel MPI Library [2]. Since you have used the gnu compilers
(gfortran/gcc) to compile OpenBLAS, WIEN2k, and your flavor of mpi
(whether that be Open-MPI [3], MVAPICH [4], or another one [5]), most
likely you need to recompile FFTW3 with your mpi compiler (e.g. [6])
based on gfortran/gcc too.
[1] https://software.intel.com/en-us/forums/intel-c-compiler/topic/815696
[2]
https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html
[3] https://www.open-mpi.org/
[4] http://mvapich.cse.ohio-state.edu/
[5] https://en.wikipedia.org/wiki/MPICH#MPICH_derivatives
[6] https://www.open-mpi.org/faq/?category=mpi-apps#general-build
On 6/15/2020 7:36 PM, 晨晨 wrote:
>
> Thank you for your details.
>
> Now, there is another problem. In order to generate the lapw0_mpi
> command, when I run “make para” in the SRC_lapw0, a part of the errors
> is shown as the following and the whole information is attached:
>
> mpif90 -o ./lapw0_mpi cputim.o modules.o W2kinit.o fft_modules.o
> reallocate.o acggac.o ……
>
> ylm.o -ffree-form -O2 -ftree-vectorize -march=native
> -ffree-line-length-none -ffpe-summary=none -DFFTW3
> -I/home-yw/Soft/fftw-3.3.8/include -fopenmp -L../SRC_lib -lfftw3_mpi
> -L/home-yw/Soft/fftw-3.3.8/lib -lfftw3
> /home-yw/soft/packagedir/Openblas-0.39/gcc820/lib/libopenblas.so
>
> /home-yw/Soft/fftw-3.3.8/lib/libfftw3_mpi.so: undefined reference to
> `_intel_fast_memcpy'
>
> /home-yw/Soft/fftw-3.3.8/lib/libfftw3_mpi.so: undefined reference to
> `_intel_fast_memset'
>
> /home-yw/Soft/fftw-3.3.8/lib/libfftw3_mpi.so: undefined reference to
> `_intel_fast_memmove'
>
> /home-yw/Soft/fftw-3.3.8/lib/libfftw3_mpi.so: undefined reference to
> `__intel_sse2_strlen'
>
> collect2: error: ld returned 1 exit status
>
> make[1]: *** [lapw0_mpi] Error 1
>
> make[1]: Leaving directory `/home-yg/users/YG_cheny/Soft/19.2/SRC_lapw0'
>
> make: *** [para] Error 2
>
>
>
> ------------------ 原始邮件 ------------------
> *发件人:* "Gavin Abo"<gsabo at crimson.ua.edu>;
> *发送时间:* 2020年6月8日(星期一) 晚上8:18
> *收件人:* "wien"<wien at zeus.theochem.tuwien.ac.at>;
> *主题:* Re: [Wien] Wien Installation
>
>> In terms of OpenBLAS-0.3.9 libraries, in my OpenBLAS-0.3.9/lib, there
>> are several files as the below: libopenblas_nehalemp-r0.3.9.a,
>> libopenblas_nehalemp-r0.3.9.so, libopenblas.so, libopenblas.so.0,
>> libopenblas.a. Are they as same as yours?
> I have the following, but you have the same one named "libopenblas.so"
> that I use.
>
> username at computername:~/WIEN2k$ ls ~/OpenBLAS-0.3.9/*.a
> ~/OpenBLAS-0.3.9/*.so
> /home/username/OpenBLAS-0.3.9/libopenblas.a
> /home/username/OpenBLAS-0.3.9/libopenblas_barcelonap-r0.3.9.a
> /home/username/OpenBLAS-0.3.9/libopenblas_barcelonap-r0.3.9.so
> /home/username/OpenBLAS-0.3.9/libopenblas.so
>> In addition, are there commands such as lapw0_mpi, lapw1_mpi and
>> lapw1c_mpi generated by installing with gfortran+OpenBLAS, just like
>> by installing with ifort?
> No, the Intel Parallel Studio XE 2020 Cluster Edition has the Intel
> MPI Library [1] that provides intelmpi making it easy to build the
> WIEN2k *_mpi files. For gfortran, it can be done but it is extra work
> as one has to install scalapack [2] and MPI (such as OpenMPI [3])
> separately and then include them in the parallel compiler settings of
> WIEN2k in order to build the files.
>
> [1]
> https://software.intel.com/content/www/us/en/develop/tools/parallel-studio-xe.html
> [2] http://www.netlib.org/scalapack/
> [3] https://www.open-mpi.org/software/ompi/v4.0/
>>
>> Then during ./siteconfig_lapw, I choose O to set libraries
>> “R_LIBS(LAPACK+BLAS)”, then how to set the “Real libraries”? Would
>> you like to tell me how set the “Real libraries” parameter so that
>> could obtain the result just like your path for R_LIBS as
>> “-L/home/username/OpenBLAS-0.3.9 -lopenblas -llapack_lapw –lpthread”?
>>
>> In my setting, I did a couple of tries and obtain three kinds of
>> results as below:
>>
>> 1.When I set the R_LIBS such as
>> /home/username/OpenBLAS-0.3.9/lib/libopenblas.so (or
>> libopenblas.so.0, or libopenblas_nehalemp-r0.3.9.so), then the
>> massage is: /usr/bin/ld: warning: libgfortran.so.3, needed by
>> /home-yw/Soft/OpenBLAS-0.3.9/lib/libopenblas.so, may conflict with
>> libgfortran.so.5.
>>
>> 2.When I set the R_LIBS such as /home/username/OpenBLAS-0.3.9/lib or
>> /home/username/OpenBLAS-0.3.9, then the massage is: file not
>> recognized: Is a directory.
>>
>> 3.When I set he R_LIBS such as /home/username/OpenBLAS-0.3.9/lib/
>> libopenblas_nehalemp-r0.3.9.a (or libopenblas.a), then the error
>> massage is much, including:
>> /home-yw/Soft/OpenBLAS-0.3.9/lib/libopenblas_nehalemp-r0.3.9.a(blas_server.o):
>> In function `goto_set_num_threads': blas_server.c:(.text+0x7f3):
>> undefined reference to `pthread_create'.
>>
>> All above relating files were attached.
> Attached is copy of my compile.msg from SRC_aim that you can compare
> to yours.
> Below is what I used for a basic WIEN2k 19.2 install that should work
> for serial and k-point parallel calculations (but won't work for mpi
> calculations). Of note, it looks like you will need to replace
> "/home/username/OpenBLAS-0.3.9" with
> "/home-yw/Soft/OpenBLAS-0.3.9/lib" on your system. Also, you might
> notice below that the "-llapack_lapw" of WIEN2k is not needed since
> -lopenblas contains it own lapack library.
>
>
> username at computername:~/WIEN2k$ ls WIEN2k_INSTALLDATE
> WIEN2k_INSTALLDATE
> username at computername:~/WIEN2k$ rm WIEN2k_INSTALLDATE
> username at computername:~/WIEN2k$ ./siteconfig
> ...
> continue or stop (c/s) c
> ...
> Selection: LG
> ...
> Press RETURN to continue
> ...
> Your compiler: gfortran
> ...
> Your compiler: gcc
> ...
> Would you like to use LIBXC (that you have installed - usually not
> needed)? (y,N):
> N
> ...
> Do you want to use FFTW (recommended, but for sequential code not
> required)? (Y,n): n
> ...
> Selection: R
> Real libraries=-L/home/username/OpenBLAS-0.3.9 -lopenblas -lpthread
> ...
> Current settings:
> M OpenMP switch: -fopenmp
> O Compiler options: -ffree-form -O2 -ftree-vectorize
> -march=native -ffree-line-length-none -ffpe-summary=none
> L Linker Flags: $(FOPT) -L../SRC_lib
> P Preprocessor flags '-DParallel'
> R R_LIBS (LAPACK+BLAS): -L/home/username/OpenBLAS-0.3.9
> -lopenblas -lpthread
> F FFTW options:
> FFTW-LIBS:
> X LIBX options:
> LIBXC-LIBS:
>
> S Save and Quit
>
> To change an item select option.
> Selection: S
> ...
> Shared Memory Architecture? (y/N):y
> Do you know/need a command to bind your jobs to specific nodes?
> (like taskset -c). Enter N / your_specific_command: N
> ...
> (y/N) N
> ...
> Selection: Q
> ...
> Selection: A
> ...
> Compile time errors (if any) were:
>
>
> Check file compile.msg in the corresponding SRC_* directory for the
> compilation log and more info on any compilation problem.
> ...
> Please enter the full path of the perl program: /usr/bin/perl
> ...
> Please enter the full path to your temporary directory: /tmp
> ...
> username at computername:~/WIEN2k$ userconfig
> ...
> username at computername:~/WIEN2k$ gedit ~/.bashrc
> username at computername:~/WIEN2k$ grep LD_LIBRARY ~/.bashrc
> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/username/OpenBLAS-0.3.9
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20200615/d20cbf3a/attachment.html>
More information about the Wien
mailing list