<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>The problem I've encountered with using -standard-semantics is
      that only lapw0 and lapw1 don't compile with unreferenced errors
      (e.g., libxc).  Currently, a work around seems to be to recompile
      lapw0 and lapw1 with -O0 without -standard-semantics.</p>
    <p>I tried removing -pad but the segmentation error still happens:<br>
    </p>
    <p>username@computername:~/WIEN2k/SRC_dstart$ grep 'OPT =' Makefile<br>
      FOPT =  -O -FR -mp1 -w -prec_div -pc80 -ip -DINTEL_VML -traceback
      -assume buffered_io -I$(MKLROOT)/include $(OMP_SWITCH)   <br>
      FPOPT =  -O -FR -mp1 -w -prec_div -pc80 -ip -DINTEL_VML -traceback
      -assume buffered_io -I$(MKLROOT)/include $(OMP_SWITCHP)
      $(OMP_SWITCHP)<br>
      username@computername:~/WIEN2k/SRC_dstart$ make<br>
      ...<br>
      make dstart FORT=ifx FFLAGS=' -O -FR -mp1 -w -prec_div -pc80 -ip
      -DINTEL_VML -traceback -assume buffered_io
      -I/opt/intel/oneapi/mkl/2025.0/include -qopenmp   '<br>
      make[1]: Entering directory '/home/username/WIEN2k/SRC_dstart'<br>
      ...<br>
      ifx -O -FR -mp1 -w -prec_div -pc80 -ip -DINTEL_VML -traceback
      -assume buffered_io -I/opt/intel/oneapi/mkl/2025.0/include
      -qopenmp    -c charge.f<br>
                #0 0x0000615e21717b41<br>
                #1 0x0000615e2177c457<br>
                #2 0x0000615e2177c585<br>
                #3 0x0000071d83e45320<br>
                #4 0x0000615e2089cba0<br>
                #5 0x0000615e22ab0f28<br>
                #6 0x0000615e21089b27<br>
                #7 0x0000615e2108966c<br>
                #8 0x0000615e2125b59a<br>
                #9 0x0000615e20fc7253<br>
               #10 0x0000615e20e7e752<br>
               #11 0x0000615e20c0baac<br>
               #12 0x0000615e20c0ac9d<br>
               #13 0x0000615e20c0abf1<br>
               #14 0x0000615e20febfe2<br>
               #15 0x0000615e20bb0c1c<br>
               #16 0x0000615e208f2e94<br>
               #17 0x0000615e208f2cb9<br>
               #18 0x0000615e20869241<br>
               #19 0x0000615e20868f71<br>
               #20 0x0000615e2097f34a<br>
               #21 0x0000615e2097f121<br>
               #22 0x0000615e20e9c8a9<br>
               #23 0x0000615e216b4cfa<br>
               #24 0x0000615e216b2a37<br>
               #25 0x0000615e2165e64b<br>
               #26 0x0000615e2183a704<br>
               #27 0x0000071d83e2a1ca<br>
               #28 0x0000071d83e2a28b __libc_start_main + 139<br>
               #29 0x0000615e2149519e<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)</p>
    <p>...<br>
    </p>
    Gavin<br>
    WIEN2k user<br>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">On 12/27/2024 8:37 AM, Laurence Marks
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CANkSMZB5hqZsS+6wrvKb00rPpWfz3LHzHU1FDpRJU8n5j2kHrw@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <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"
            moz-do-not-send="true">www.numis.northwestern.edu</a><br>
          <a
href="https://scholar.google.com/citations?user=zmHhI9gAAAAJ&hl=en"
            moz-do-not-send="true">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"
            moz-do-not-send="true" class="moz-txt-link-freetext">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">
          <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" moz-do-not-send="true"
                class="moz-txt-link-freetext">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"
                  moz-do-not-send="true" class="moz-txt-link-freetext">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" moz-do-not-send="true"
                    class="moz-txt-link-freetext">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" moz-do-not-send="true"
                    class="moz-txt-link-freetext">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"
                      moz-do-not-send="true">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"
                      moz-do-not-send="true"
                      class="moz-txt-link-freetext">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"
                      moz-do-not-send="true"
                      class="moz-txt-link-freetext">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"
                    moz-do-not-send="true" class="moz-txt-link-freetext">Wien@zeus.theochem.tuwien.ac.at</a>
                  <br>
                  <a
href="http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien"
                    target="_blank" rel="noreferrer"
                    moz-do-not-send="true" class="moz-txt-link-freetext">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"
                    moz-do-not-send="true" class="moz-txt-link-freetext">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"
                  moz-do-not-send="true">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"
                  moz-do-not-send="true" class="moz-txt-link-freetext">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"
                  moz-do-not-send="true" class="moz-txt-link-freetext">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"
                  moz-do-not-send="true" class="moz-txt-link-freetext">Wien@zeus.theochem.tuwien.ac.at</a>
                <br>
                <a
href="http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien"
                  target="_blank" rel="noreferrer"
                  moz-do-not-send="true" class="moz-txt-link-freetext">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"
                  moz-do-not-send="true" class="moz-txt-link-freetext">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" moz-do-not-send="true"
            class="moz-txt-link-freetext">Wien@zeus.theochem.tuwien.ac.at</a><br>
          <a
href="http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien"
            rel="noreferrer noreferrer" target="_blank"
            moz-do-not-send="true" class="moz-txt-link-freetext">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"
            moz-do-not-send="true" class="moz-txt-link-freetext">http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html</a><br>
        </blockquote>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre wrap="" class="moz-quote-pre">_______________________________________________
Wien mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Wien@zeus.theochem.tuwien.ac.at">Wien@zeus.theochem.tuwien.ac.at</a>
<a class="moz-txt-link-freetext" href="http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien">http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien</a>
SEARCH the MAILING-LIST at:  <a class="moz-txt-link-freetext" href="http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html">http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html</a>
</pre>
    </blockquote>
  </body>
</html>