CSlib documentation

Use cases for the CSlib

Here we describe different ways of using the CSlib in either serial or parallel. Note that a pair of client and server apps can use the library in different ways, one can be a serial app, the other a parallel app.

Also note that "running an app in parallel" and "using the CSlib in parallel" does not preclude running the app on a single processor. Here we are talking about whether the app and the CSlib are built with MPI support or not. MPI itself operates perfectly fine on a single processor.

IMPORTANT NOTE: The CSlib must be built differently for use in serial versus parallel. Build it with no MPI support for serial, and with MPI support for parallel. This section explains how to build in both ways, which will produce libraries with different names, so an invididual app can link against either.

TODO: Could enable building with MPI support but allowing serial use (no MPI communicator).