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

Paolo Lampitella paololampitella at hotmail.com
Mon Oct 3 12:29:26 CDT 2022


Not that I know of, today is the first time I’ve read of it.

It actually happened few hours ago while googling for this issue, and the results with most things in common with my case were 3 now closed
Issues on the spack repository (never heard of it). Seems something related to Autoconf up to 2.69 (2.7 has a patch).

I actually verified that I have the last offending Autoconf version (2.69), but I didn’t really understand anything else of what I read, so I couldn’t make any further progress

I guess that this kind of confirms that this is my current problem with the new OneApi compilers and hypre on my ubuntu 20.04 machine

Thanks

Paolo

Da: Mark Adams<mailto:mfadams at lbl.gov>
Inviato: lunedì 3 ottobre 2022 19:10
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

You are getting a "-loopopt=0" added to your link line.
No idea what that is or where it comes from.
I don't see it in our repo.
Does this come from your environment somehow? https://dl.acm.org/doi/abs/10.1145/3493229.3493301<https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdl.acm.org%2Fdoi%2Fabs%2F10.1145%2F3493229.3493301&data=05%7C01%7C%7C3fbce77f69184e56e0e608daa5621f20%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C638004138093246917%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=XUzPPdRFPKhX4Qi4j3LJ77Ij%2BvPfTdhTZ6CK43oIbIM%3D&reserved=0>

On Mon, Oct 3, 2022 at 9:20 AM Paolo Lampitella <paololampitella at hotmail.com<mailto:paololampitella at hotmail.com>> wrote:
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/60d63b0e/attachment-0001.html>


More information about the petsc-users mailing list