cburstedde / libsc

The "sc" auxiliary library
www.p4est.org/
GNU Lesser General Public License v2.1
35 stars 34 forks source link

Deprecate MPI without MPI I/O #171

Closed tim-griesbach closed 6 months ago

tim-griesbach commented 6 months ago

Deprecate MPI without MPI I/O

Proposed changes:

This draft PR would also profit from the changes in @cburstedde's branch https://github.com/cburstedde/libsc/tree/feature-disable-mpiio introducing warnings if the deprecated configuration setup is used.

Moreover, this draft PR relates to the issue https://github.com/cburstedde/libsc/issues/170 by not using MPI_ERR_LASTCODE in non-deprecated configuration setups.

cburstedde commented 6 months ago

Thanks. Will it be reasonable to integrate #172 first?

tim-griesbach commented 6 months ago

Thanks. Will it be reasonable to integrate #172 first?

Yes, I think it makes sense to integrate the PR https://github.com/cburstedde/libsc/pull/172 first.

cburstedde commented 6 months ago

Thanks! I'm just wondering whether the scda feature should do full error checking both with and without MPI. Is it necessary to document that we may abort? This limits community use.

tim-griesbach commented 6 months ago

Thanks! I'm just wondering whether the scda feature should do full error checking both with and without MPI. Is it necessary to document that we may abort? This limits community use.

This is a very good point! I rechecked the code and without the deprecated case of MPI without MPI I/O we only have one file functions related abort. It is just a simple consistency check in sc_io_close.

    errno = 0;
    retval = fclose ((*mpifile)->file);
    mpiret = sc_io_error_class (errno, &eclass);
    SC_CHECK_MPI (mpiret);
    SC_CHECK_ABORT (!retval == (eclass == sc_MPI_SUCCESS),
                    "fclose return value inconsistent");

Therefore, we may want to remove the comments on the file system dependent aborts since there will be no aborts beyond simple consistency checks.

cburstedde commented 6 months ago

Thanks! This might be all for this PR.

When continuing working with SCDA, we may comment on other error conditions that may occur, mostly errors in the file contents encountered on reading.

cburstedde commented 6 months ago

Are you generally happy with the state of our doxygen output?

tim-griesbach commented 6 months ago

Are you generally happy with the state of our doxygen output?

The doxygen output looks good to me. I adjusted the I/O page since it was still referring to the deprecated case with MPI but without MPI I/O.

cburstedde commented 6 months ago

Cool let's see how this flies with the community once p4est updates its submodule.