Re: [petsc-users] IMPI with Hypre

2023-08-08 Thread Satish Balay via petsc-users
Sure - but if 'module load icc' has gcc-4*' in path - that's a bug in the icc 
module spec [as that version is incompatible with its c++ support] . It should 
also load a compatible gcc version [via PATH - or via module dependencies]

if its implemented this way - then you won't have a broken icc - that requires 
a swap of gcc.

Satish

On Tue, 8 Aug 2023, Victor Eijkhout wrote:

> You say bug I say feature. Lmod has a way to mark modules as mutually 
> exclusive. That’s a decision of the way the site is set up. For most users 
> that’s a good idea.
> 
> For instance, if you load two compilers, and both have an MPI, how do you 
> decide which one is loaded by “load mpich”?
> 
> Etc. I’m sure thought has gone into this.
> 
> Victor.
> 
> 
> <<
> 


Re: [petsc-users] IMPI with Hypre

2023-08-08 Thread Victor Eijkhout
You say bug I say feature. Lmod has a way to mark modules as mutually 
exclusive. That’s a decision of the way the site is set up. For most users 
that’s a good idea.

For instance, if you load two compilers, and both have an MPI, how do you 
decide which one is loaded by “load mpich”?

Etc. I’m sure thought has gone into this.

Victor.


<<


Re: [petsc-users] IMPI with Hypre

2023-08-08 Thread Satish Balay via petsc-users
If using modules - using 'module load gcc icc' [or equivalent] should normally 
work - but if the modules are setup such that loading icc unloads gcc - then I 
think that's a bug in this module setup..

[as icc has an (internal) dependency on gcc - so ignoring this dependency to 
remove a gcc module doesn't look correct to me]

Satish

On Tue, 8 Aug 2023, Victor Eijkhout wrote:

>   *   Its easier to just add the newer version of gcc/g++ compilers to PATH
> 
> Except that I do my path loading through environment modules (lmod version) 
> and they do not allow multiple compilers to be loaded at the same time.
> 
> But yes, that would work.
> 
> V.
> 
> From: Satish Balay 
> Date: Tuesday, August 8, 2023 at 11:20
> To: Victor Eijkhout 
> Cc: Barry Smith , Khaled Nabil Shar Abdelaziz 
> , petsc-users@mcs.anl.gov 
> Subject: Re: [petsc-users] IMPI with Hypre
> Its easier to just add the newer version of gcc/g++ compilers to PATH - and 
> icc will pick it up [without requiring -gcc-toolchain option]
> 
> export PATH=/location/of/newer/g++/bin:$PATH
> ./configure ...
> make ...
> 
> Satish
> 
> On Tue, 8 Aug 2023, Victor Eijkhout wrote:
> 
> > Maybe an option for specifying the explicit location of gcc version? The 
> > intel compiler has a “-gcc-toolchain” option for that.
> >
> > https://www.intel.com/content/www/us/en/docs/dpcpp-cpp-compiler/developer-guide-reference/2023-0/gcc-toolchain.html<https://www.intel.com/content/www/us/en/docs/dpcpp-cpp-compiler/developer-guide-reference/2023-0/gcc-toolchain.html>
> >
> > Victor.
> >
> >
> >
> >
> >> This message is from an external sender. Learn more about why this <<
> >> matters at https://links.utexas.edu/rtyclf.<<
> 


Re: [petsc-users] IMPI with Hypre

2023-08-08 Thread Victor Eijkhout
  *   Its easier to just add the newer version of gcc/g++ compilers to PATH

Except that I do my path loading through environment modules (lmod version) and 
they do not allow multiple compilers to be loaded at the same time.

But yes, that would work.

V.

From: Satish Balay 
Date: Tuesday, August 8, 2023 at 11:20
To: Victor Eijkhout 
Cc: Barry Smith , Khaled Nabil Shar Abdelaziz 
, petsc-users@mcs.anl.gov 
Subject: Re: [petsc-users] IMPI with Hypre
Its easier to just add the newer version of gcc/g++ compilers to PATH - and icc 
will pick it up [without requiring -gcc-toolchain option]

export PATH=/location/of/newer/g++/bin:$PATH
./configure ...
make ...

Satish

On Tue, 8 Aug 2023, Victor Eijkhout wrote:

> Maybe an option for specifying the explicit location of gcc version? The 
> intel compiler has a “-gcc-toolchain” option for that.
>
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.intel.com%2Fcontent%2Fwww%2Fus%2Fen%2Fdocs%2Fdpcpp-cpp-compiler%2Fdeveloper-guide-reference%2F2023-0%2Fgcc-toolchain.html=05%7C01%7C%7C1ee068e767e042b91c3708db982b57b1%7C31d7e2a5bdd8414e9e97bea998ebdfe1%7C0%7C0%7C638271084142649215%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=0jfUA3EMFkpeKOZdhawJjRyivCQ8yF2C50DP2pukJlk%3D=0<https://www.intel.com/content/www/us/en/docs/dpcpp-cpp-compiler/developer-guide-reference/2023-0/gcc-toolchain.html>
>
> Victor.
>
>
>
>
>> This message is from an external sender. Learn more about why this <<
>> matters at https://links.utexas.edu/rtyclf.<<


Re: [petsc-users] IMPI with Hypre

2023-08-08 Thread Satish Balay via petsc-users
Its easier to just add the newer version of gcc/g++ compilers to PATH - and icc 
will pick it up [without requiring -gcc-toolchain option]

export PATH=/location/of/newer/g++/bin:$PATH
./configure ...
make ...

Satish

On Tue, 8 Aug 2023, Victor Eijkhout wrote:

> Maybe an option for specifying the explicit location of gcc version? The 
> intel compiler has a “-gcc-toolchain” option for that.
> 
> https://www.intel.com/content/www/us/en/docs/dpcpp-cpp-compiler/developer-guide-reference/2023-0/gcc-toolchain.html
> 
> Victor.
> 
> 
> 
> 


Re: [petsc-users] IMPI with Hypre

2023-08-08 Thread Victor Eijkhout
Maybe an option for specifying the explicit location of gcc version? The intel 
compiler has a “-gcc-toolchain” option for that.

https://www.intel.com/content/www/us/en/docs/dpcpp-cpp-compiler/developer-guide-reference/2023-0/gcc-toolchain.html

Victor.





Re: [petsc-users] IMPI with Hypre

2023-08-08 Thread Barry Smith

   We get these reports regularly.

   Intel is selecting [GCC 4.8.2 20140120 (Red Hat 4.8.2-15)] as the base 
compiler, this ancient version does not provide the language support needed by 
hypre. You need a more recent GNU compiler available for the Intel compilers to 
base themselves on.

  Barry


   



> On Aug 8, 2023, at 11:24 AM, Khaled Nabil Shar Abdelaziz 
>  wrote:
> 
> Hello,
> I am running into trouble configuring petsc with hypre and intel mpi
> 
> Configure command:
> ```
> ./configure PETSC_ARCH=linux-intel-dbg --with-cc=mpiicc --with-cxx=mpiicpc 
> --with-fc=mpiifort --with-blaslapack-dir=$MKL_HOME --download-metis 
> --download-parmetis --download-hypre --with-make-np=10
> ```
> 
> Terminal output:
> ​```
> *
>UNABLE to CONFIGURE with GIVEN OPTIONS (see configure.log for 
> details):
> -
>   Using C++ dialect C++11 as lower bound due to package(s):
>   - hypre
>   But C++ compiler (mpiicpc) appears non-compliant with C++11 or didn't 
> accept:
>   - -std=c++20
>   - -std=c++17
>   - -std=c++14
>   - -std=c++11
> *
> ​``` 
> 
> I also attached the configure.log
> 
> Thank you in advance.
> Best,
> Khaled
>