Top Page > Browsing
Basic compilation options for current Debian "Stable" (ver. 13.2)
Date: 2025/12/03 00:34
Name: A.Marmodoro   <marmodoro_remove_@fzu.cz>

Thanks for all your work.

I recently tried to compile OpenMx ver. 3.9 with the latest patch from: https://www.openmx-square.org/download.html, on a Linux installation of the recently released Debian 'Stable' distribution (ver. 13.2, codename 'trixie', November 2025) based on Zen3 CPUs by AMD.

Although performances may be suboptimal, I wanted first to use just the default GNU compilers and OpenMPI and BLAS libraries from the distribution. I write here, because I think that current version of the GNU compiler suite enforces by default some stricter checks on the C and Fortran source.

I see that I can overcome many errors, turning them into warnings, with the following gcc and gfortran options at the beginning of 'source/makefile':

CC = mpicc -O2 -march=native -fopenmp -fpermissive -Dkcomp -fcommon
FC = mpif90 -O2 -march=native -fopenmp -fallow-argument-mismatch

LIB= -lopenblas -lgfortran -lscalapack-openmpi -lfftw3 -lmpi -lmpi_mpifh

This allows the compilation and linking to succeed, and it would appear that execution via '-runtest' gives small-enough discrepancies from reference results:

  1  input_example/Benzene.dat        Elapsed time(s)=    4.29  diff Utot= 0.000000000038  diff Force= 0.000000000004
  2  input_example/C60.dat            Elapsed time(s)=  23.93  diff Utot= 0.000000000013  diff Force= 0.000000000003
  3  input_example/CO.dat            Elapsed time(s)=  14.44  diff Utot= 0.000000000096  diff Force= 0.000000000281
  4  input_example/Cr2.dat            Elapsed time(s)=  10.11  diff Utot= 0.000000000912  diff Force= 0.000000000171
  5  input_example/Crys-MnO.dat      Elapsed time(s)=  30.61  diff Utot= 0.000000000001  diff Force= 0.000000000055
  6  input_example/GaAs.dat          Elapsed time(s)=  45.91  diff Utot= 0.000000000002  diff Force= 0.000000000001
  7  input_example/Glycine.dat        Elapsed time(s)=    6.09  diff Utot= 0.000000000001  diff Force= 0.000000000000
  8  input_example/Graphite4.dat      Elapsed time(s)=    4.77  diff Utot= 0.000000000005  diff Force= 0.000000000040
  9  input_example/H2O-EF.dat        Elapsed time(s)=    4.63  diff Utot= 0.000000000000  diff Force= 0.000000000001
  10  input_example/H2O.dat            Elapsed time(s)=    4.35  diff Utot= 0.000000000000  diff Force= 0.000000000510
  11  input_example/HMn.dat            Elapsed time(s)=  20.67  diff Utot= 0.000000000131  diff Force= 0.000000000001
  12  input_example/Methane.dat        Elapsed time(s)=    3.38  diff Utot= 0.000000000012  diff Force= 0.000000000001
  13  input_example/Mol_MnO.dat        Elapsed time(s)=  12.65  diff Utot= 0.000000000371  diff Force= 0.000000000011
  14  input_example/Ndia2.dat          Elapsed time(s)=    5.95  diff Utot= 0.000000000001  diff Force= 0.000000000001

Total elapsed time (s)      191.78

I was however unsure about the disabled checking of argument mismatch for many MPI calls.

May I please ask, are there better suggestions of 'makefile' options, for a compilation only relying on current version of the Debian distribution?

Thanks in advance, best regards,
--
Alberto
ƒƒ“ƒe
Page: [1]

Thread Title (must) Move the thread to the top
Your Name (must)
E-Mail (must)
URL
Password (used in modification of the submitted text)
Comment (must)

   Save Cookie