sanshar / StackBlock

GNU General Public License v3.0
11 stars 12 forks source link

MPI support relies on removed C++ bindings #10

Open lexming opened 1 year ago

lexming commented 1 year ago

There are 3 points in input.C where MPI is handled through its C++ bindings. These can be found at lines 1932, 2304 and 2694 and they all perform a very similar broadcast. The snippet of the first one follows:

https://github.com/sanshar/StackBlock/blob/f95317b08043b7c531289576d59ad74a6d920741/input.C#L1932-L1944

The issue is that the C++ bindings were deprecated in MPI 2.2 (almost 10 years ago) and removed in MPI 3.0, which makes StackBlock very difficult to compile in a modern MPI stack. Since StackBlock already uses Boost:MPI to leverage most of its MPI communications, the solution would be to move these 3 broadcast to Boost:MPI as well and delete the include on mpi.h altogether.