Skip to content

Commit 720fd50

Browse files
authored
Update known Cray MPICH issues (#256)
- Add less drastic workaround for hangs (with usually better performance, but doesn't work for all applications) - Add note about slow intra-node communication and workaround to use NICs for intra-node communication I'm going through our old lists of known issues. I have to check whether the other workarounds/issues are still relevant, so starting with what we know is still relevant.
1 parent c851110 commit 720fd50

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

docs/software/communication/cray-mpich.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,12 @@ Cray MPICH may sometimes hang on larger runs.
7777
export FI_MR_CACHE_MONITOR=disabled
7878
```
7979

80+
The option
81+
```bash
82+
export FI_MR_CACHE_MONITOR=userfaultfd
83+
```
84+
may also avoid hangs, and typically performs better than completely disabling the cache monitor.
85+
8086
Performance may be negatively affected by this option.
8187

8288
#### `"cxil_map: write error"` when doing inter-node GPU-aware MPI communication
@@ -88,6 +94,22 @@ Note that this has a performance impact for small message sizes, so it should on
8894
export FI_CXI_SAFE_DEVMEM_COPY_THRESHOLD=0
8995
```
9096

97+
[](){#ref-communication-cray-mpich-slow-intranode}
98+
#### Slow intra-node host communication with Cray MPICH
99+
100+
Cray MPICH can perform badly when doing intra-node CPU-CPU memory communication.
101+
102+
!!! info "Workaround"
103+
In some situations Cray MPICH can perform better when communication is done over the NICs, even within a node.
104+
To force Cray MPICH to use NICs for all communication, set:
105+
106+
```bash
107+
export MPIR_CVAR_NO_LOCAL=1
108+
```
109+
110+
Whenever possible, prefer using GPU-GPU communication instead of CPU-CPU communication.
111+
It can even be beneficial to transfer data to the GPU only for the communication even if the buffer originally is in CPU memory.
112+
91113
### Resolved issues
92114

93115
#### `"cxil_map: write error"` when doing inter-node GPU-aware MPI communication

0 commit comments

Comments
 (0)