[petsc-users] R: How to use Intel OneApi mpi wrappers on Linux

Paolo Lampitella paololampitella at hotmail.com
Mon Oct 3 08:20:50 CDT 2022


Hi Mark,

thank you very much, problem solved!

I was indeed making confusion between OPTFLAGS and FLAGS.

Now, I know that this is probably not the place for this but, as I still owe you a configure.log, what happened next is that I added hypre to the previous configuration (now working) and I had problems again in configure (log file attached). If I remove “--download-hypre” from the configure command, as I said, everything works as expected. This also worked with the intel classical compilers (that is, if I remove again the CFLAGS, CXXFLAGS and FFLAGS options that fixed my configure without hypre).

My catch here is that HYPRE seems to interpret the C/CXX compilers as GNU (instead of intel), and later fails in linking C with Fortran.

I don’t actually need Hypre for now, but if you have any clue on where to look next, that would be helpful

Thanks again

Paolo

Da: Mark Adams<mailto:mfadams at lbl.gov>
Inviato: lunedì 3 ottobre 2022 13:20
A: Paolo Lampitella<mailto:paololampitella at hotmail.com>
Cc: petsc-users at mcs.anl.gov<mailto:petsc-users at mcs.anl.gov>
Oggetto: Re: [petsc-users] How to use Intel OneApi mpi wrappers on Linux

Hi Paolo,

You can use things like this in your configure file to set compilers and  options.

And you want to send us your configure.log file if it fails.

Mark

    '--with-cc=gcc-11',
    '--with-cxx=g++-11',
    '--with-fc=gfortran-11',
    'CFLAGS=-g',
    'CXXFLAGS=-g',
    'COPTFLAGS=-O0',
    'CXXOPTFLAGS=-O0',


On Mon, Oct 3, 2022 at 5:43 AM Paolo Lampitella <paololampitella at hotmail.com<mailto:paololampitella at hotmail.com>> wrote:
Dear PETSc users and developers,

as per the title, I recently installed the base and HPC Intel OneApi toolkits on a machine running Ubuntu 20.04.

As you probably know, OneApi comes with the classical compilers (icc, icpc, ifort) and relative mpi wrappers (mpiicc, mpiicpc, mpiifort) as well as with the new LLVM based compilers (icx, icpx, ifx).

My experience so far with PETSc on Linux has been without troubles using both gcc compilers and either Mpich or OpenMPI and Intel classical compilers and MPI.

However, I have now troubles using the MPI wrappers of the new LLVM compilers as, in fact, there aren’t dedicated mpi wrappers for them. Instead, they can be used with certain flags for the classical wrappers:

mpiicc -cc=icx
mpiicpc -cxx=icpx
mpiifort -fc=ifx

The problem I have is that I have no idea how to pass them correctly to the configure and whatever comes after that.

Admittedly, I am just starting to use the new compilers, so I have no clue how I would use them in other projects as well.

I started with an alias in my .bash_aliases (which works for simple compilation tests from command line) but doesn’t with configure.

I also tried adding the flags to the COPTFLAGS, CXXOPTFLAGS and FOPTFLAGS but didn’t work as well.

Do you have any experience with the new Intel compilers and, in case, could you share hot to properly use them with MPI?

Thanks

Paolo

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20221003/a6d38217/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: configure.log
Type: application/octet-stream
Size: 1104959 bytes
Desc: configure.log
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20221003/a6d38217/attachment-0001.obj>


More information about the petsc-users mailing list