[gmx-developers] build configurations and binary file suffixes
junghans at votca.org
Fri Mar 6 14:42:59 CET 2020
On Fri, Mar 6, 2020 at 5:13 AM Eric Irrgang <ericirrgang at gmail.com> wrote:
> Hi Devs,
> There has been some discussion in the past about potentially making a fatter libgromacs or other binaries to provide support for multiple architectures in a single binary. I think this was mostly in reference to different SIMD architecture intrinsics, but maybe also things like floating point precision or MPI flavor.
Roland has worked on the simd part before:
> Is there an issue tracking the discussion or a link to any related road map?
> There may be two separate discussions here (or more), but my real question regards the future of resolving the correct sets of binaries and choices for FP precision and MPI flavor.
> Some thoughts:
> * We can and should do more to distinguish binary incompatibilities through some combination of namespacing and templating. For instance, there are several cases of public structures whose size depends on the definition of "real" but whose symbols are indistinguishable. It would make sense to update these to use a template parameter (e.g. "Scalar").
> * The "gmx" command line wrapper could take optional flags to dispatch fp-precision and MPI flavor. For backwards compatibility, the suffixed versions can be retained as hard links or basic wrappers to the main binary.
> * Important compatibility aspects like precision and MPI flavor can be enforced with COMPATIBLE_INTERFACE_* properties on the CMake library targets and pre-checked with COMPONENTS arguments to find_package().
> I would like to link to or introduce further discussion at https://redmine.gromacs.org/issues/3152 but I wanted to poll for initial background or feedback here first.
> M. Eric Irrgang
> Gromacs Developers mailing list
> * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List before posting!
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers or send a mail to gmx-developers-request at gromacs.org.
More information about the gromacs.org_gmx-developers