<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>