<div dir="auto"><div>Try removing -pad</div><div><br></div><div data-smartmail="gmail_signature">---<br>Emeritus Professor Laurence Marks (Laurie)<br><a href="http://www.numis.northwestern.edu">www.numis.northwestern.edu</a><br><a href="https://scholar.google.com/citations?user=zmHhI9gAAAAJ&hl=en">https://scholar.google.com/citations?user=zmHhI9gAAAAJ&hl=en</a><br>"Research is to see what everybody else has seen, and to think what nobody else has thought" Albert Szent-Györgyi</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Dec 27, 2024, 15:15 Gavin Abo <<a href="mailto:gabo13279@gmail.com">gabo13279@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>

  
    
  
  <div>
    <p>As seen below, the timing of dstart looks like it got better
      using -O.  I came across a comment that Intel Fortran does not
      default to -standard-semantics unless you ask for it at:<br>
    </p>
    <p><a href="https://fortran-lang.discourse.group/t/strange-issue-with-ifx-compiler-and-assume-recursion/7013/3" target="_blank" rel="noreferrer">https://fortran-lang.discourse.group/t/strange-issue-with-ifx-compiler-and-assume-recursion/7013/3</a><br>
    </p>
    <p>Giving that a try, dstart compiled with -O.<br>
    </p>
    <p><b><u>Timing with -O0</u></b><br>
    </p>
    <p>username@computername:~/wiendata/TiC$ x dstart<br>
       C  T F<br>
      DSTART ENDS<br>
      2.733u 0.006s 0:02.74 99.6%    0+0k 0+368io 0pf+0w<br>
      username@computername:~/wiendata/TiC$ cd $WIENROOT/SRC_dstart<br>
      username@computername:~/WIEN2k/SRC_dstart$ grep 'OPT =' Makefile<br>
      FOPT =  -O0 -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML
      -traceback -assume buffered_io -I$(MKLROOT)/include $(OMP_SWITCH) 
       <br>
      FPOPT =  -O0 -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML
      -traceback -assume buffered_io -I$(MKLROOT)/include $(OMP_SWITCHP)
      $(OMP_SWITCHP)</p>
    <p><u><b>Segmentation compile error with -O</b></u><br>
    </p>
    <p>username@computername:~/WIEN2k/SRC_dstart$ gedit Makefile<br>
      username@computername:~/WIEN2k/SRC_dstart$ grep 'OPT =' Makefile<br>
      FOPT =  -O -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML
      -traceback -assume buffered_io -I$(MKLROOT)/include $(OMP_SWITCH) 
       <br>
      FPOPT =  -O -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML
      -traceback -assume buffered_io -I$(MKLROOT)/include $(OMP_SWITCHP)
      $(OMP_SWITCHP)<br>
      username@computername:~/WIEN2k/SRC_dstart$ make<br>
      ...<br>
      ifx -O -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML -traceback
      -assume buffered_io -I/opt/intel/oneapi/mkl/2025.0/include
      -qopenmp    -c charge.f<br>
                #0 0x00005d3831075b41<br>
                #1 0x00005d38310da457<br>
                #2 0x00005d38310da585<br>
                #3 0x000005d840c45320<br>
                #4 0x00005d38301faba0<br>
                #5 0x00005d383240ef28<br>
                #6 0x00005d38309e7b27<br>
                #7 0x00005d38309e766c<br>
                #8 0x00005d3830bb959a<br>
                #9 0x00005d3830925253<br>
               #10 0x00005d38307dc752<br>
               #11 0x00005d3830569aac<br>
               #12 0x00005d3830568c9d<br>
               #13 0x00005d3830568bf1<br>
               #14 0x00005d3830949fe2<br>
               #15 0x00005d383050ec1c<br>
               #16 0x00005d3830250e94<br>
               #17 0x00005d3830250cb9<br>
               #18 0x00005d38301c7241<br>
               #19 0x00005d38301c6f71<br>
               #20 0x00005d38302dd34a<br>
               #21 0x00005d38302dd121<br>
               #22 0x00005d38307fa8a9<br>
               #23 0x00005d3831012cfa<br>
               #24 0x00005d3831010a37<br>
               #25 0x00005d3830fbc64b<br>
               #26 0x00005d3831198704<br>
               #27 0x000005d840c2a1ca<br>
               #28 0x000005d840c2a28b __libc_start_main + 139<br>
               #29 0x00005d3830df319e<br>
      <br>
      charge.f: error #5633: **Internal compiler error: segmentation
      violation signal raised** Please report this error along with the
      circumstances in which it occurred in a Software Problem Report. 
      Note: File and line given may not be explicit cause of this error.<br>
      compilation aborted for charge.f (code 3)<br>
      ...<br>
    </p>
    <p><b><u>Compile with -O and -standard-semantics</u></b><br>
    </p>
    <p>username@computername:~/WIEN2k/SRC_dstart$ gedit Makefile<br>
      username@computername:~/WIEN2k/SRC_dstart$ grep 'OPT =' Makefile<br>
      FOPT =  -O -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML
      -traceback -assume buffered_io -I$(MKLROOT)/include $(OMP_SWITCH)
      -standard-semantics<br>
      FPOPT =  -O -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML
      -traceback -assume buffered_io -I$(MKLROOT)/include $(OMP_SWITCHP)
      $(OMP_SWITCHP) -standard-semantics<br>
      username@computername:~/WIEN2k/SRC_dstart$ make<br>
      ...<br>
      username@computername:~/WIEN2k/SRC_dstart$ cp dstart ../dstart<br>
      username@computername:~/WIEN2k/SRC_dstart$ cp dstart_mpi
      ../dstart_mpi<br>
      username@computername:~/WIEN2k/SRC_dstart$ cd ~/wiendata/TiC</p>
    <p><b><u>Timing with </u></b><b><u>-O and -standard-semantics</u></b></p>
    <p>username@computername:~/wiendata/TiC$ x dstart<br>
      DSTART ENDS<br>
      0.732u 0.008s 0:00.74 98.6%    0+0k 0+368io 0pf+0w<br>
    </p>
    <p>Kind Regards,</p>
    Gavin<br>
    WIEN2k user<br>
    <div><br>
    </div>
    <div>On 12/27/2024 1:59 AM, Peter Blaha
      wrote:<br>
    </div>
    <blockquote type="cite">I'd
      expect this slow code is due to the switching off of optimization
      (-O0), and not due to a general problem of ifx with complex
      numbers.
      <br>
      <br>
      If you do -O0 globally, the code will obviously be MUCH slower,
      exactly as you have found out.
      <br>
      <br>
      Compilation with ifx would need a "special" strategy, compiling
      only the routines where optimization fails with -O0, all the rest
      with -O, like:
      <br>
      <br>
      Makefile with   -O
      <br>
        make
      <br>
      compile the routine where it fails by hand:
      <br>
        ifx -O0 .... -c failing_routine.f
      <br>
        make
      <br>
      <br>
      continue the 2 lines above until it finishes. As far as I
      remember, -O0 was required only for non-time-critical routines.
      <br>
      <br>
      Obviously, this is only a solution for experts. I'll see if I can
      come up with more specific Makefiles for ifx, where the
      problematic routines are compiled automatically without
      optimization.
      <br>
      <br>
      In any case, it would be interesting to see, if the code produced
      by this scheme is (almost) as fast as the ifort code.
      <br>
      <br>
      Best regards
      <br>
      Peter
      <br>
      <br>
      <br>
      <br>
      Am 26.12.2024 um 12:10 schrieb Michael Fechtelkord via Wien:
      <br>
      <blockquote type="cite">Hello all,
        <br>
        <br>
        <br>
        thanks Gavin for your efforts concerning the ifx compiler and
        the complete compilation of the code.
        <br>
        <br>
        <br>
        The compilation of the code with ifx is much faster, but the
        compiled WIEN2k code is much faster when compiled with ifort
        2021.13.1.
        <br>
        <br>
        I have run a NMR calculation of KAlF4 with ifx and ifort
        compiled code and the ifort compiled code takes half of the time
        of the ifx compiled code (16 minutes vs. 28 minutes).
        <br>
        <br>
        This is due to the fact that the handling of complex data is
        still better done with ifort compiled code. I read a few
        postings concerning this fact and I think this is still valid
        for the current version of ifx.
        <br>
        <br>
        <br>
<a href="https://community.intel.com/t5/Intel-Fortran-Compiler/IFX-vs-IFORT" target="_blank" rel="noreferrer">https://community.intel.com/t5/Intel-Fortran-Compiler/IFX-vs-IFORT</a>-
        performance-difference/m-p/1472018#M165800
        <br>
        <br>
        <br>
        Happy Christmas to all!
        <br>
        <br>
        Michael
        <br>
        <br>
        <br>
        Am 21.12.2024 um 18:02 schrieb Gavin Abo:
        <br>
        <blockquote type="cite">
          <br>
          Thanks for the hint about using -O0 when using ifx 2025.0.4.
          <br>
          <br>
          I compiled WIEN2k 24.1 with it, and it built without errors. 
          I was even able to compile elpa with it.
          <br>
          <br>
          I documented the steps I used should others be interested in
          them and put them in a file that should be at:
          <br>
          <br>
          <a href="https://github.com/gsabo/WIEN2k-Docs/blob/main/" target="_blank" rel="noreferrer">https://github.com/gsabo/WIEN2k-Docs/blob/main/</a>
          WIEN2k24.1_Ubuntu22.04_Install_with_OneAPI(ifx).pdf
          <br>
          <br>
          The TiC example also ran fine.  Screenshots of it are in
          another file here:
          <br>
          <br>
          <a href="https://github.com/gsabo/WIEN2k-Docs/blob/main/" target="_blank" rel="noreferrer">https://github.com/gsabo/WIEN2k-Docs/blob/main/</a>
          WIEN2k24.1%20TiC%20Example(ifx).pdf
          <br>
          <br>
          Gavin
          <br>
          WIEN2k user
          <br>
          On 10/30/2024 7:03 AM, Michael Fechtelkord via Wien wrote:
          <br>
          <blockquote type="cite">
            <br>
            I just compiled the WIEN2k code with ifx (2025.0.0) again,
            regarding Peter's recommendations .. and only a few errors
            remain now (all compiled without optimisation using -O0
            flag) :
            <br>
            <br>
            <br>
            SRC_3ddens/compile.msg:make: *** [Makefile:65: 3ddens]
            Fehler 1
            <br>
            SRC_reformat/compile.msg:reformat.c:3:1: Fehler: Rückgabetyp
            ist auf »int« voreingestellt [-Wimplicit-int]
            <br>
            SRC_reformat/compile.msg:make: *** [Makefile:40: reformat.o]
            Fehler 1
            <br>
            <br>
            SRC_3ddens
            <br>
            ifx -o ./3ddens modules.o fft_modules.o 3ddens.o setfft2.o
            stern.o rotdef.o rotato.o rotat.o charge.o
            calculate_neighbours.o ylm.o radial.o sum.o interp.
            <br>
            o gener.o vnorm.o latgen.o rotate.o reduc.o write_xsf.o
            write_stm.o primitive_cell.o read_struct.o
            atom_sphere_dens.o -L/usr/local/lib64 -lfftw3 -lfftw3
            <br>
            _omp -O0 -xAVX2 -FR -mp1 -w -prec_div -pc80 -pad -ip
            -DINTEL_VML - traceback -assume buffered_io
            -I/opt/intel/oneapi/mkl/2025.0/include -DFFTW3 -DFFTW_OMP
            <br>
             -I/usr/local/include  -qopenmp
            -L/opt/intel/oneapi/mkl/2025.0/lib/ - lpthread -lm -ldl
            -liomp5
            <br>
/usr/lib64/gcc/x86_64-suse-linux/14/../../../../x86_64-suse-linux/
            bin/ld: 3ddens.o: in function `dfftw_init_threads_.t1225p':
            <br>
            ifx24sU4Q.i:(.text+0xf797): undefined reference to
            `dfftw_init_threads_'
            <br>
/usr/lib64/gcc/x86_64-suse-linux/14/../../../../x86_64-suse-linux/
            bin/ld: 3ddens.o: in function
            `dfftw_plan_with_nthreads_.t1230p':
            <br>
            ifx24sU4Q.i:(.text+0xf7b7): undefined reference to
            `dfftw_plan_with_nthreads_'
            <br>
            make: *** [Makefile:65: 3ddens] Fehler 1
            <br>
            <br>
            SRC_reformat
            <br>
            rm -f reformat.o
            <br>
            cc -c  reformat.c
            <br>
            reformat.c:3:1: Fehler: Rückgabetyp ist auf »int«
            voreingestellt [- Wimplicit-int]
            <br>
                3 | main(argc,argv)
            <br>
                  | ^~~~
            <br>
            make: *** [Makefile:40: reformat.o] Fehler 1
            <br>
            <br>
            <br>
            Best regards,
            <br>
            <br>
            Michael
            <br>
            <br>
            -- <br>
            Dr. Michael Fechtelkord
            <br>
            <br>
            Institut für Geologie, Mineralogie und Geophysik
            <br>
            Ruhr-Universität Bochum
            <br>
            <a href="https://www.google.com/maps/search/Universit%C3%A4tsstr.+150?entry=gmail&source=g">Universitätsstr. 150</a>
            <br>
            D-44780 Bochum
            <br>
            <br>
            Phone: +49 (234) 32-24380
            <br>
            Fax:  +49 (234) 32-04380
            <br>
            <a href="mailto:Email:Michael.Fechtelkord@ruhr-uni-bochum.de" target="_blank" rel="noreferrer">Email:Michael.Fechtelkord@ruhr-uni-bochum.de</a>
            <br>
            Web
            Page:<a href="https://www.ruhr-uni-bochum.de/kristallographie/kc/mitarbeiter/" target="_blank" rel="noreferrer">https://www.ruhr-uni-bochum.de/kristallographie/kc/mitarbeiter/</a>
            fechtelkord/
            <br>
          </blockquote>
          <br>
          _______________________________________________
          <br>
          Wien mailing list
          <br>
          <a href="mailto:Wien@zeus.theochem.tuwien.ac.at" target="_blank" rel="noreferrer">Wien@zeus.theochem.tuwien.ac.at</a>
          <br>
          <a href="http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien" target="_blank" rel="noreferrer">http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien</a>
          <br>
          SEARCH the MAILING-LIST
at:<a href="http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html" target="_blank" rel="noreferrer">http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html</a><br>
        </blockquote>
        <br>
        -- <br>
        Dr. Michael Fechtelkord
        <br>
        <br>
        Institut für Geologie, Mineralogie und Geophysik
        <br>
        Ruhr-Universität Bochum
        <br>
        <a href="https://www.google.com/maps/search/Universit%C3%A4tsstr.+150?entry=gmail&source=g">Universitätsstr. 150</a>
        <br>
        D-44780 Bochum
        <br>
        <br>
        Phone: +49 (234) 32-24380
        <br>
        Fax:  +49 (234) 32-04380
        <br>
        <a href="mailto:Email:Michael.Fechtelkord@ruhr-uni-bochum.de" target="_blank" rel="noreferrer">Email:Michael.Fechtelkord@ruhr-uni-bochum.de</a>
        <br>
        Web
Page:<a href="https://www.ruhr-uni-bochum.de/kristallographie/kc/mitarbeiter/fechtelkord/" target="_blank" rel="noreferrer">https://www.ruhr-uni-bochum.de/kristallographie/kc/mitarbeiter/fechtelkord/</a><br>
        <br>
        <br>
        _______________________________________________
        <br>
        Wien mailing list
        <br>
        <a href="mailto:Wien@zeus.theochem.tuwien.ac.at" target="_blank" rel="noreferrer">Wien@zeus.theochem.tuwien.ac.at</a>
        <br>
        <a href="http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien" target="_blank" rel="noreferrer">http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien</a>
        <br>
        SEARCH the MAILING-LIST at: 
        <a href="http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html" target="_blank" rel="noreferrer">http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html</a>
        <br>
      </blockquote>
      <br>
    </blockquote>
  </div>

_______________________________________________<br>
Wien mailing list<br>
<a href="mailto:Wien@zeus.theochem.tuwien.ac.at" target="_blank" rel="noreferrer">Wien@zeus.theochem.tuwien.ac.at</a><br>
<a href="http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien" rel="noreferrer noreferrer" target="_blank">http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien</a><br>
SEARCH the MAILING-LIST at:  <a href="http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html" rel="noreferrer noreferrer" target="_blank">http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html</a><br>
</blockquote></div>