User Manual

Rev 2.0-3.0.0
Mellanox Technologies
5
4.13.2 Setting Up SR-IOV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.13.3 Enabling SR-IOV and Para Virtualization on the Same Setup . . . . . . . . . . . . . . . 84
4.13.4 Assigning a Virtual Function to a Virtual Machine . . . . . . . . . . . . . . . . . . . . . . . 85
4.13.5 Uninstalling SR-IOV Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.13.6 Burning Firmware with SR-IOV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.13.7 Configuring Pkeys and GUIDs under SR-IOV. . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.14 CORE-Direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.14.1 CORE-Direct Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.15 Ethtool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.16 Dynamically Connected Transport Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Chapter 5 HPC Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.1 Shared Memory Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.1.1 Mellanox ScalableSHMEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.1.2 Running SHMEM with FCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.1.3 Running ScalableSHMEM with MXM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.1.4 Running SHMEM with Contiguous Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.1.5 Running ScalableSHMEM Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.2 Message Passing Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.2.2 Prerequisites for Running MPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.2.3 MPI Selector - Which MPI Runs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.2.4 Compiling MPI Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.3 MellanoX Messaging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.3.1 Compiling OpenMPI with MXM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.3.2 Enabling MXM in OpenMPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.3.3 Tuning MXM Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.3.4 Configuring Multi-Rail Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.3.5 Configuring MXM over the Ethernet Fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.4 Fabric Collective Accelerator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.5 ScalableUPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.5.1 Installing ScalableUPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.5.2 Runtime Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.5.3 Various Executable Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Chapter 6 Working With VPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.1 Port Type Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.2 Auto Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.2.1 Enabling Auto Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Chapter 7 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.1 General System Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.1.1 PCI Express (PCIe) Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.1.2 Memory Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.1.3 Recommended BIOS Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.2 Performance Tuning for Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.2.1 Tuning the Network Adapter for Improved IPv4 Traffic Performance . . . . . . . 113
7.2.2 Tuning the Network Adapter for Improved IPv6 Traffic Performance . . . . . . . 113