NCAR / ParallelIO

A high-level Parallel I/O Library for structured grid applications
Apache License 2.0
134 stars 52 forks source link

MPI version reading incorrectly #1959

Closed cponder closed 9 months ago

cponder commented 1 year ago

I'm building PIO 2.5.10 using OpenMPI 4.1.5 built with the NVHPC 23.1 compiler. During the configuration phase, I see these messages:

-- Found MPI_C: /usr/local/bin/mpicc (found version "3.1") 
-- Found MPI_Fortran: /usr/local/bin/mpifort (found version "3.1") 
-- Found MPI: TRUE (found version "3.1")  

If I run the command

mpicc --version

it gives this output

pgcc (aka nvc) 23.1-0 64-bit target on x86-64 Linux -tp zen3 
PGI Compilers and Tools
Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES.  All rights reserved.

It looks to me like this had been parsed incorrectly, to get 23.1 -> 3.1.

cponder commented 1 year ago

As a side-question, if the PIO build assumes it's using OpenMPI 3. rather than 4., would it be compiling differently? On the NERSC/Perlmutter cluster (Cray+SLES) I'm seeing about 50% failures in the make check.

jedwards4b commented 1 year ago

I suggest that you try using the cmake build. I have confirmed that this works on the ncar gust system with nvhpc/23.1 - on the perlmutter system I don't see nvhpc/23.1 in the list of available compilers. There is nothing in PIO that handles openMPI 3. different than 4..

jedwards4b commented 1 year ago

I also ran the parallelio tests on gust and all 108 tests pass.
I cannot find openmpi on perlmutter - I'm not sure how I can help further.

Do you use spack on perlmutter? If so parallelio is a spack package - are you using that?