[Wien] Installing Wien2k_21.1 on Ubuntu 22.04 LTS

Gavin Abo gabo13279 at gmail.com
Mon Jul 25 13:38:18 CEST 2022


The oneAPI is likely easier to install as it has less steps. As you 
probably saw, after setting up the Intel repo in Ubuntu, there is only 
one step "sudo apt install intel-hpckit" that will install ifort, MKL, 
and intelmpi [1].  Comparing that to gfortran where you will have 
multiple packages and steps for getting the equivalent functionality 
(gfortran, OpenBLAS, and openmpi/ScaLAPACK) [2].  The WIEN2k developers 
mostly use the Intel compilers.  Thus, the WIEN2k code tends to be bug 
free with ifort whereas gfortran has typically in the past had a few 
bugs on new releases as it is less tested by developers though those 
have been getting resolved through user bug reports.

On the other hand, the Intel compilers (e.g., Parallel Studio XE) were 
not always free to use as they are currently today with oneAPI.  The use 
of gfortan with WIEN2k gained popularity during the time the Intel 
compilers had to be paid for.  One might only hope that Intel never goes 
back to a pay model for their compilers.  Some of the old versions of 
ifort compiler were quite buggy causing WIEN2k to have memory leaks [3] 
or crash, where as WIEN2k seemed more stable (without those errors) with 
gfortran.  I haven't seen reports of similar WIEN2k issues with oneAPI 
but there might not be a large base of WIEN2k users using oneAPI yet. 
The above is just based on my observations from the mailing list posts.

Finally, I suggest you choose the compiler environment that you prefer 
and hopefully the above information can aid you in your decision.

[1] 
https://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg21942.html
[2] 
https://github.com/gsabo/WIEN2k-Docs/blob/main/WIEN2k21.1_Ubuntu22.04_Install_with_gfortran.pdf
[3] 
https://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg18191.html

Best Regards,

Gavin
WIEN2k user

On 7/24/2022 11:06 PM, Victor Zenou wrote:
> Thanks a lot Laurie and Gavin
> Both ways, Intel ifort compiler and Intel mkl library or Fortran 
> compiler and OpenBlas library, were shown by you to work fine.
> Today I'm going to give it a try.
> Which way, in terms of ease of installation is preferred?
> Victor
>
>
> ‫בתאריך יום ב׳, 25 ביולי 2022 ב-2:28 מאת ‪Gavin Abo‬‏ 
> <‪gabo13279 at gmail.com‬‏>:‬
>
>     So after installing Ubuntu 22.04 LTS [1], installing the needed
>     operating system packages (perl, tcsh, ...) per section "1
>     Introduction" page 3 of the WIEN2k 21.1 usersguide [2], and
>     installing oneAPI [3], I have been able to get WIEN2k 21.1 to
>     compile successfully for serial calculations
>
>     Granted, I had to make some small adjustments for Intel oneAPI but
>     following my old Intel compiler steps [4,5] held up quite well. 
>     Since if you compare the steps in [4,5] to the steps below, you
>     should see that after tweaking the steps there are not that many
>     differences.
>
>     [1] https://youtu.be/oNEwEQ0uU1Y
>     [2] http://www.wien2k.at/reg_user/textbooks/usersguide.pdf
>     [3]
>     https://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg21942.html
>     [4]
>     https://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg18663.html
>     [5]
>     https://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg18664.html
>
>
>     *Install of WIEN2k 21.1 with oneAPI (ifort version 2021.6.0) in
>     Ubuntu 22.04 LTS*
>
>     username at computername:~/Desktop$ lsb_release -a
>     No LSB modules are available.
>     Distributor ID:    Ubuntu
>     Description:    Ubuntu 22.04 LTS
>     Release:    22.04
>     Codename:    jammy
>     username at computername:~/Desktop$ ifort -v
>     ifort version 2021.6.0
>     username at computername:~/Desktop$ cd ~
>     username at computername:~$ wget
>     http://www.tddft.org/programs/libxc/down.php?file=5.2.3/libxc-5.2.3.tar.gz
>     ...
>     username at computername:~$ ls -l
>     down.php\?file\=5.2.3%2Flibxc-5.2.3.tar.gz
>     -rw-rw-r-- 1 username username 45810705 May 16 08:53
>     'down.php?file=5.2.3%2Flibxc-5.2.3.tar.gz'
>     username at computername:~$ tar xvf
>     down.php\?file\=5.2.3%2Flibxc-5.2.3.tar.gz
>     ...
>
>     username at computername:~$ cd libxc-5.2.3
>     username at computername:~/libxc-5.2.3$ autoreconf -i --force
>     ...
>     username at computername:~/libxc-5.2.3$ ./configure FC=ifort CC=icc
>     --prefix=$HOME/libxc-5.2.3
>     ...
>     username at computername:~/libxc-5.2.3$ make
>     ...
>     username at computername:~/libxc-5.2.3$ make check
>     ...
>     PASS: xc-run_testsuite
>     ============================================================================
>     Testsuite summary for libxc 5.2.3
>     ============================================================================
>     # TOTAL: 1
>     # PASS:  1
>     # SKIP:  0
>     # XFAIL: 0
>     # FAIL:  0
>     # XPASS: 0
>     # ERROR: 0
>     ============================================================================
>     ...
>     username at computername:~/libxc-5.2.3$ make install
>     ...
>     username at computername:~/libxc-5.2.3$ ls ~/libxc-5.2.3/lib
>     libxc.a  libxcf03.a libxcf03.la <http://libxcf03.la> libxcf90.a
>     libxcf90.la <http://libxcf90.la> libxc.la <http://libxc.la>  pkgconfig
>
>     username at computername:~/libxc-5.2.3$ cd ~
>     username at computername:~$ wget https://www.fftw.org/fftw-3.3.10.tar.gz
>     ...
>     username at computername:~$ tar xvf fftw-3.3.10.tar.gz
>     ...
>
>     username at computername:~$ cd fftw-3.3.10
>     username at computername:~/fftw-3.3.10$ ./configure FCC=ifort CC=icc
>     MPICC=mpiicc CFLAGS="-gcc-sys" --enable-mpi --prefix=$HOME/fftw-3.3.10
>     ...
>     username at computername:~/fftw-3.3.10$ make
>     ...
>     username at computername:~/fftw-3.3.10$ make install
>     ...
>     username at computername:~/fftw-3.3.10$ ls -l ~/fftw-3.3.10/include
>     ~/fftw-3.3.10/lib
>     /home/username/fftw-3.3.10/include:
>     total 220
>     -rw-r--r-- 1 username username  2447 Jul 24 16:15 fftw3.f
>     -rw-r--r-- 1 username username 55032 Jul 24 16:15 fftw3.f03
>     -rw-r--r-- 1 username username 31986 Jul 24 16:15 fftw3.h
>     -rw-r--r-- 1 username username 27203 Jul 24 16:15 fftw3l.f03
>     -rw-r--r-- 1 username username 18678 Jul 24 16:15 fftw3l-mpi.f03
>     -rw-r--r-- 1 username username 36969 Jul 24 16:15 fftw3-mpi.f03
>     -rw-r--r-- 1 username username  9624 Jul 24 16:15 fftw3-mpi.h
>     -rw-r--r-- 1 username username 25902 Jul 24 16:15 fftw3q.f03
>
>     /home/username/fftw-3.3.10/lib:
>     total 2108
>     drwxrwxr-x 3 username username    4096 Jul 24 16:15 cmake
>     -rw-r--r-- 1 username username 1936856 Jul 24 16:15 libfftw3.a
>     -rwxr-xr-x 1 username username     904 Jul 24 16:15 libfftw3.la
>     <http://libfftw3.la>
>     -rw-r--r-- 1 username username  201560 Jul 24 16:15 libfftw3_mpi.a
>     -rwxr-xr-x 1 username username     959 Jul 24 16:15
>     libfftw3_mpi.la <http://libfftw3_mpi.la>
>     drwxrwxr-x 2 username username    4096 Jul 24 16:15 pkgconfig
>     username at computername:~/fftw-3.3.10$ cd ~/WIEN2k
>     username at computername:~/WIEN2k$ ls -l
>     total 143680
>     -rw-r--r-- 1 username username 147128320 Jun 19  2021 WIEN2k_21.1.tar
>     username at computername:~/WIEN2k$ tar xvf WIEN2k_21.1.tar
>     ...
>     username at computername:~/WIEN2k$ gunzip *.gz
>     username at computername:~/WIEN2k$ ./expand_lapw
>     WARNING: This will expand all WIEN.tar files !!!
>     It will overwrite all changes you have made previously in the WIEN
>     subdirectories
>     continue (y/n)
>     y
>     ...
>     username at computername:~/WIEN2k$ wget
>     https://raw.githubusercontent.com/gsabo/WIEN2k-Patches/master/21.1/init_phonon_lapw.patch
>     ...
>     username at computername:~/WIEN2k$ patch -b init_phonon_lapw
>     init_phonon_lapw.patch
>     patching file init_phonon_lapw
>     Note: Apply any other patches that you want to test that are at
>     https://github.com/gsabo/WIEN2k-Patches/tree/master/21.1
>     username at computername:~/WIEN2k$ ./siteconfig
>     ...
>       Selection: LI
>     ...
>          Your compiler: ifort
>     ...
>          Your compiler: icc
>     ...
>      Would you like to use LIBXC (usually not needed, ONLY for experts
>     who want to play with different DFT options. It must have been
>     installed before)? (y,N):
>     y
>     ...
>      Do you want to automatically search for LIBXC installations? (Y,n):
>     Y
>      Please specify a comma separated list of directories to search!
>     (If no list is entered, /usr/lib64, /usr/local and /opt will be
>     searched as default):
>     /home/username/libxc-5.2.3
>      Finding the required library in /home/username/libxc-5.2.3 ...
>
>      More than one libxc was found in the specified directory(ies).
>      Pick one of the following (enter the number of the line of your
>     choice or 0 to manually specify a path)!:
>     /home/username/libxc-5.2.3/lib/libxc.a
>     /home/username/libxc-5.2.3/src/.libs/libxc.a
>     1
>     ...
>      Do you want to automatically search for FFTW installations? (Y,n):
>     Y
>      Please specify a comma separated list of directories to search!
>     (If no list is entered,
>      /usr/lib64, /usr/local and /opt will be searched as default):
>     /home/username/fftw-3.3.10
>      Finding the required fftw3 library-files in
>     /home/username/fftw-3.3.10 ....
>
>     /home/username/fftw-3.3.10/lib/libfftw3.a
>     /home/username/fftw-3.3.10/.libs/libfftw3.a
>
>      Your present FFTW choice is: FFTW3
>
>      Present FFTW root directory is:
>      Do you want to use a FFTW version from the list above? (Y,n):
>     Y
>      Please enter the line number of the chosen version or enter 0 to
>     manually specify your choice!:
>     1
>
>      The present target architecture of your FFTW library is: lib64
>      Please specify the target achitecture of your FFTW library (e.g.
>     lib64) or accept present choice (enter): lib
>
>       The present name of your FFTW library: fftw3
>      Please specify the name of your FFTW library or accept present
>     choice (enter): fftw3
>     ...
>       Is this correct? (Y,n): Y
>     ...
>      Current settings:
>       M   OpenMP switch:           -qopenmp
>       O   Compiler options:        -O -FR -mp1 -w -prec_div -pc80 -pad
>     -ip -DINTEL_VML -traceback -assume buffered_io -I$(MKLROOT)/include
>       L   Linker Flags:            $(FOPT)
>     -L$(MKLROOT)/lib/$(MKL_TARGET_ARCH) -lpthread -lm -ldl -liomp5
>       P   Preprocessor flags       '-DParallel'
>       R   R_LIBS (LAPACK+BLAS):    -lmkl_intel_lp64 -lmkl_intel_thread
>     -lmkl_core
>       F   FFTW options:            -DFFTW3
>     -I/home/username/fftw-3.3.10/include
>           FFTW-LIBS: -L/home/username/fftw-3.3.10/lib -lfftw3
>       X   LIBX options:            -DLIBXC
>     -I/home/username/libxc-5.2.3/include
>           LIBXC-LIBS: -L/home/username/libxc-5.2.3/lib -lxcf03 -lxc
>
>       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
>     ...
>       Do you have MPI, ScaLAPACK, ELPA, or MPI-parallel FFTW installed
>     and intend
>        to run finegrained parallel?
>
>        This is useful only for BIG cases (50 atoms and more / unit cell)
>        and your HARDWARE has at least 16 cores (or is a cluster with
>     Infiniband)
>        You need to KNOW details about your installed MPI, ELPA, and FFTW )
>
>        (y/N) N
>     ...
>          Selection: Q
>     ...
>          Selection: A
>     ...
>     Compile time errors (if any) were:
>
>     ...
>        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_lapw
>     ...
>     username at computername:~/WIEN2k$ w2web
>     ...
>
>     Kind Regards,
>
>     Gavin
>     WIEN2k user
>
>
>     On 7/24/2022 5:05 AM, Victor Zenou wrote:
>>
>>     Dear Wien2k users,
>>
>>     I want to install Wien2k_21.1 on Ubuntu 22.04 LTS equipped with
>>     Intel I7 processors.
>>
>>     As Intel ifort compiler is no longer standalone and also Intel®
>>     Parallel Studio XE is no longer available as a stand-alone
>>     product, one can use Intel oneAPI 2022 or Intel oneAPI 2021 instead.
>>
>>     Also Intel mkl library could be found under "Intel® oneAPI MKL".
>>
>>     Few months ago I had to struggle with these different Intel's
>>     names/versions, etc. I kept getting error messages.
>>
>>     Now that I got a new computer I'd like to ask if someone recently
>>     installed Wien2k_21.1 on Ubuntu 22.04 LTS and can give me some
>>     directions?
>>
>>     Yes, I looked at Wien2k's FAQ, Wien2k mailing-list archive and
>>     Intel websites.
>>
>>     Also I'm not sure what I must have to do in order to have a fully
>>     efficient functioning computer, as we all know that even if you
>>     got the best machine money can buy, and for most of us this is
>>     not true, one needs to "prepare" it properly.
>>
>>     Best regards, Victor Zenou
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20220725/f77481de/attachment.htm>


More information about the Wien mailing list