Skip to content

Conversation

@MichaelBrim
Copy link
Collaborator

Description

This PR updates the configure and build process to produce separate libraries that contain our MPI auto-mount capability.

It also includes a few changes to support builds on Cray systems, and removes the old sysio examples.

Motivation and Context

Previously, the behavior of the libunifyfs with respect to MPI auto-mount was set at configure time, which is not really transparent to users. With these changes, when the user configures with --enable-mpi-mount, we will generate additional libraries with _mpi in the name to clearly indicate that the library has the MPI auto-mount capability.

How Has This Been Tested?

Tested on Docker Ubuntu, OLCF Summit and Spock.

For Cray systems, you must pass a couple environment variable settings to the configure command for the MPI compiler wrapper detection to work. For example:
configure <opts> MPICC=cc MPIFC=ftn

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Testing (addition of new tests or update to current tests)
  • Documentation (a change to man pages or other documentation)

Checklist:

  • My code follows the UnifyFS code style requirements.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • All commit messages are properly formatted.

@MichaelBrim
Copy link
Collaborator Author

This may resolve at least part of the problem for issue #548

Also:
- add rpath support to gotcha and spath m4
- define USE_SPATH for use in source code (HAVE_SPATH is for makefiles)
- remove old sysio examples
- automake target_LDFLAGS should only be used for linker options,
  target_LIBADD is suggested for '-L<libpath> -l<lib>' additions
Copy link
Member

@CamStan CamStan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MichaelBrim, this looks good to me. Nice cleanup!


Do we want/need a note or subsection for building on Cray systems in our docs to mention this? Maybe in the two "...build UnifyFS with autotools" sections, or the "Configure Options" section?

Or is this fairly common knowledge to Cray users?

For Cray systems, you must pass a couple environment variable settings to the configure command for the MPI compiler wrapper detection to work. For example:
configure MPICC=cc MPIFC=ftn

@MichaelBrim
Copy link
Collaborator Author

@CamStan, I think it is worth adding a note to the build docs. I'll do that.

TEST_CHECKPATCH_SKIP_FILES=docs/build.rst
@adammoody adammoody merged commit bb93a1d into llnl:dev Jun 28, 2021
@MichaelBrim MichaelBrim deleted the pmpi-lib branch July 20, 2021 19:44
@CamStan CamStan mentioned this pull request Nov 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants