1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-06-14 05:07:05 +01:00
Files
Grid/_pages/docs/comm_interfaces.md
2018-03-21 10:32:04 +00:00

38 lines
2.2 KiB
Markdown

---
title : "Documentation"
author_profile: false
excerpt: "Supported communication interfaces"
header:
overlay_color: "#5DADE2"
permalink: /docs/comm_interfaces/
sidebar:
nav : docs
---
{% include base_path %}
The following options can be used with the `--enable-comms=` option to target different communication interfaces:
| `<comm>` | Description |
| ------------- | -------------------------------------------- |
| `none` | no communications |
| `mpi` | MPI communications using [MPI-3 shared memory](https://software.intel.com/sites/default/files/managed/eb/54/An_Introduction_to_MPI-3.pdf) |
| `mpi-auto` | MPI communications with compiler CXX but clone flags from MPICXX |
For the MPI interfaces the optional `-auto` suffix instructs the `configure` scripts to determine all the necessary compilation and linking flags. This is done by extracting the informations from the MPI wrapper specified in the environment variable `MPICXX` (if not specified `configure` will scan though a list of default names). The `-auto` suffix is not supported by the Cray environment wrapper scripts. Use the standard wrappers ( `CXX=CC` ) set up by Cray `PrgEnv` modules instead.
### Shared memory communications support
The following options can be use with the `--enable-shm=` option to target different shared memory behaviours (default `shmopen`):
| `<shm>` | Description |
| ------------- | ----------------------------------------------------------------- |
| `shmnone` | uses anonymous spaces, use only for 1 MPI rank per node |
| `shmopen` | uses `shm_open` to allocate a shared memory space for inter socket communications. It used a unique file name in `/dev/shm` associated to the user. |
| `hugetlbfs` | optional [libhugetlbfs](https://github.com/libhugetlbfs/libhugetlbfs) support to map the shared memory allocation into huge 2M pages |
### Other flags
`--enable-shmpath=<path>` to select the sharem memory map base path for [libhugetlbfs](https://github.com/libhugetlbfs/libhugetlbfs).
{% include paginator.html %}