Library Initialization

To interact with SAF, the client must call saf_init. To end interaction with SAF, the client must call saf_final.

In parallel, SAF will not call MPI_Init or MPI_Finalize on behalf of the client. It is the client’s responsibility to initialize and finalize MPI. MPI should be initialized before calling saf_init and finalized after calling saf_final.

The only SAF functions that can be called outside of an enclosing saf_init/saf_final pair are functions to create and set library properties (see *Library Properties*).

SAF provides a link-time library and include file consistency check that will generate an undefined reference link-time error for a symbol whose name is of the form “SAF__version_X_Y_Z”, if the library and include files are not consistent.