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‬‏ <‪gabo13...@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@computername:~/Desktop$ lsb_release -a
    No LSB modules are available.
    Distributor ID:    Ubuntu
    Description:    Ubuntu 22.04 LTS
    Release:    22.04
    Codename:    jammy
    username@computername:~/Desktop$ ifort -v
    ifort version 2021.6.0
    username@computername:~/Desktop$ cd ~
    username@computername:~$ wget
    http://www.tddft.org/programs/libxc/down.php?file=5.2.3/libxc-5.2.3.tar.gz
    ...
    username@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@computername:~$ tar xvf
    down.php\?file\=5.2.3%2Flibxc-5.2.3.tar.gz
    ...

    username@computername:~$ cd libxc-5.2.3
    username@computername:~/libxc-5.2.3$ autoreconf -i --force
    ...
    username@computername:~/libxc-5.2.3$ ./configure FC=ifort CC=icc
    --prefix=$HOME/libxc-5.2.3
    ...
    username@computername:~/libxc-5.2.3$ make
    ...
    username@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@computername:~/libxc-5.2.3$ make install
    ...
    username@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@computername:~/libxc-5.2.3$ cd ~
    username@computername:~$ wget https://www.fftw.org/fftw-3.3.10.tar.gz
    ...
    username@computername:~$ tar xvf fftw-3.3.10.tar.gz
    ...

    username@computername:~$ cd fftw-3.3.10
    username@computername:~/fftw-3.3.10$ ./configure FCC=ifort CC=icc
    MPICC=mpiicc CFLAGS="-gcc-sys" --enable-mpi --prefix=$HOME/fftw-3.3.10
    ...
    username@computername:~/fftw-3.3.10$ make
    ...
    username@computername:~/fftw-3.3.10$ make install
    ...
    username@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@computername:~/fftw-3.3.10$ cd ~/WIEN2k
    username@computername:~/WIEN2k$ ls -l
    total 143680
    -rw-r--r-- 1 username username 147128320 Jun 19  2021 WIEN2k_21.1.tar
    username@computername:~/WIEN2k$ tar xvf WIEN2k_21.1.tar
    ...
    username@computername:~/WIEN2k$ gunzip *.gz
    username@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@computername:~/WIEN2k$ wget
    
https://raw.githubusercontent.com/gsabo/WIEN2k-Patches/master/21.1/init_phonon_lapw.patch
    ...
    username@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@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@computername:~/WIEN2k$ ./userconfig_lapw
    ...
    username@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
_______________________________________________
Wien mailing list
Wien@zeus.theochem.tuwien.ac.at
http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
SEARCH the MAILING-LIST at:  
http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html

Reply via email to