[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