[Wien] Wien Installation

晨晨 chiniku at qq.com
Mon Jun 22 11:43:13 CEST 2020


Thank you for your reply.
 
I am installing wien version 19.2 on Linux with gfortran and OpenBlas.
 
In the “Specify ScaLAPACK settings”, I would like to know how to set the part of “Please specify the target architecture of your ScaLAPACK libraries (e.g. intel64)!:”.
 
In addition, when the settings are as the following, there are some errors.
 
Settings:
 
SCALAPACKROOT:/home/username/scalapack-2.1.0/
 
SCALAPACK_LIBNAME: libscalapack.a
 
BLACSROOT: /home/username/BLACS/LIB
 
BLACS_LIBNAME: blacs_MPI-LINUX-0.a
 
MKL_TARGET_ARCH: /home/username/scalapack-2.1.0/libscalapack.a
 
Some errors:
 
-ftree-vectorize -march=native -ffree-line-length-none -ffpe-summary=none -DFFTW3 -I/home-yg/users/YG_cheny/Soft/fftw-3.3.6-pl2/gcc820/include -fopenmp -L../SRC_lib -L/home-yg/users/YG_cheny/Soft/fftw-3.3.6-pl2/gcc820/lib -lfftw3  /home-yw/soft/packagedir/Openblas-0.39/gcc820/lib/libopenblas.so -L/home-yg/users/YG_cheny/Soft/scalapack-2.1.0//home-yg/users/YG_cheny/Soft/scalapack-2.1.0/libscalapack.a -llibscalapack.a -L/home-yg/users/YG_cheny/Soft/BLACS/LIB//home-yg/users/YG_cheny/Soft/scalapack-2.1.0/libscalapack.a -lblacs_MPI-LINUX-0.a  
 /usr/bin/ld: cannot find -llibscalapack.a
 collect2: error: ld returned 1 exit status
 make[1]: *** [hfc_mpi] Error 1
 make[1]: Leaving directory `/home-yg/users/YG_cheny/Soft/19.2/SRC_hf'
 make: *** [cp] Error 2





------------------ 原始邮件 ------------------
发件人: "Gavin Abo"<gsabo at crimson.ua.edu>;
发送时间: 2020年6月16日(星期二) 上午10:38
收件人: "wien"<wien at zeus.theochem.tuwien.ac.at>;

主题: Re: [Wien] Wien Installation



                   
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/20200622/96adae0a/attachment.html>


More information about the Wien mailing list