User Manual

Rev 2.1-1.0.6
Mellanox Technologies
5
4.12.2 Flow Domains and Priorities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.13 Single Root IO Virtualization (SR-IOV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.13.1 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.13.2 Setting Up SR-IOV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.13.3 Enabling SR-IOV and Para Virtualization on the Same Setup . . . . . . . . . . . . . . . 95
4.13.4 Assigning a Virtual Function to a Virtual Machine . . . . . . . . . . . . . . . . . . . . . . . 96
4.13.5 Uninstalling SR-IOV Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.13.6 Burning Firmware with SR-IOV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.13.7 Configuring Pkeys and GUIDs under SR-IOV . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.14 CORE-Direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.14.1 CORE-Direct Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.15 Ethtool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.16 Dynamically Connected Transport Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.17 PeerDirect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.18 Inline-Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.18.1 Querying Inline-Receive Capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.18.2 Activating Inline-Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.19 Ethernet Performance Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.20 Memory Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.20.1 Query Capabilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.20.2 Allocating Memory Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.20.3 Binding Memory Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.20.4 Invalidating Memory Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.20.5 Deallocating Memory Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Chapter 5 HPC Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.1 Shared Memory Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.1.1 Mellanox ScalableSHMEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.1.2 Running SHMEM with FCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.1.3 Running ScalableSHMEM with MXM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.1.4 Running SHMEM with Contiguous Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.1.5 Running ScalableSHMEM Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.2 Message Passing Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.2.2 Prerequisites for Running MPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
5.2.3 MPI Selector - Which MPI Runs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.2.4 Compiling MPI Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.3 MellanoX Messaging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.3.1 Compiling OpenMPI with MXM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.3.2 Enabling MXM in OpenMPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.3.3 Tuning MXM Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.3.4 Configuring Multi-Rail Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.3.5 Configuring MXM over the Ethernet Fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.4 Fabric Collective Accelerator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.5 ScalableUPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
5.5.1 Installing ScalableUPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123