NVIDIA Messaging Accelerator (VMA) Documentation Rev 9.8.51
1.0

VMA Installation Options

VMA can be installed from a dedicated VMA RPM or a Debian package. In this case, please make sure that the MLXN Driver is already installed and that MLNX Driver and VMA versions match so that VMA functions correctly.

This option is suitable for users who receive an OEM VMA version, or a Fast Update Release VMA version which is newer than the installed VMA version.

Installing the VMA Packages

This section addresses both RPM and DEB (Ubuntu OS) installations.

VMA includes the following packages which should be saved on your local drive:

  • The libvma package contains the binary library shared object file (.so), configuration and documentation files

  • The libvma-utils package contains utilities such as vma_stats to monitor vma traffic and statistics

  • The libvma-devel package contains VMA’s extended API header files, for extra functionality not provided by the socket API

Before you begin, please verify the following prerequisites:

  • Check whether VMA is installed:
    For RPM packages, run:

    Copy
    Copied!
                

    #rpm -qil libvma

    For DEB packages, run:

    Copy
    Copied!
                

    #dpkg –s libvma

    If the VMA packages are not installed, an appropriate message is displayed.

    If the VMA packages are installed, the RPM or the DEB logs the VMA package information and the installed file list.

  • Uninstall the current VMA:
    For RPM packages, run:

    Copy
    Copied!
                

    #rpm -e libvma

    For DEB packages:

    Copy
    Copied!
                

    #apt-get remove libvma

Installing the VMA Binary Package

  1. Go to the location where the libvma package was saved.

  2. Run the command below to start installation:
    • For RPM packages:

    Copy
    Copied!
                

    #rpm -i libvma-X.Y.Z-R.<arch>.rpm

    • For DEB packages:

    Copy
    Copied!
                

    #dpkg -i libvma_X.Y.Z-R_<arch>.deb

    During the installation process the:
    • VMA library is copied to standard library location (e.g. /usr/lib64/libvma.so). In addition VMA debug library is copied under the same location (e.g. /usr/lib64/libvma-debug.so)
    • README.txt and version information (VMA_VERSION) are installed at /usr/share/doc/libvma-X.Y.Z/
    • VMA installs its configuration file, libvma.conf, to the following location: /etc/libvma.conf
    • The vmad service utility is copied into /sbin
    • The script vma is installed under /etc/init.d/. This script can be used to load and unload the VMA service utility.

Install the VMA utils Package

  1. Go to the location where the utils package was saved.

  2. Run the command below to start installation:
    • For RPM packages:

    Copy
    Copied!
                

    #rpm -i libvma-utils-X.Y.Z-R.<arch>.rpm

    • For DEB packages:

    Copy
    Copied!
                

    #dpkg -i libvma-utils_X.Y.Z-R_<arch>.deb

    During the installation process the VMA monitoring utility is installed at /usr/bin/vma_stats.

Installing the VMA devel Package

  1. Go to the location where the devel package was saved.

  2. Run the command below to start installation:
    • For RPM packages:

    Copy
    Copied!
                

    #rpm -i libvma-devel-X.Y.Z-R.<arch>.rpm

    • For DEB packages:

    Copy
    Copied!
                

    #dpkg -i libvma-dev_X.Y.Z-R_<arch>.deb

    During the installation process the VMA extra header file is installed at /usr/include/mellanox/vma_extra.h.

Verifying VMA Installation

For further information, please refer to .Running VMA v9.4.0.

VMA as an open source enables users to try the code, inspect and modify. This option assumes that VMA (binary package) is already installed on top of NVIDIA® driver, and functions correctly (as explained in Installing the VMA Binary Package). Users can download the VMA sources from libvma GitHub and build a new VMA version. This option is suitable for users who wish to implement custom VMA modifications.

Please visit the libvma wiki page for various “how-to” issues.

For building VMA from sources, please visit the following page: https://github.com/Mellanox/libvma/wiki/Build-Instruction

For adding high debug log level to VMA compile it with:

Copy
Copied!
            

./configure --enable-opt-log=none <other configure parameters>

For libvma configuration file please visit: https://github.com/Mellanox/libvma/wiki/VMA_Configuration_File.

Verifying VMA Compilation

The compiled VMA library is located under:

Copy
Copied!
            

<path-to-vma-sources-root-tree>/src/vma/.libs/libvma.so

When running a user application, you must set the compiled library into the env variable LD_PRELOAD.

Example:

Copy
Copied!
            

#LD_PRELOAD=<path-to-vma-sources-root-tree>/src/vma/.libs/libvma.so sockperf ping-pong -t 5 -i 224.22.22.22

As indicated in section Running VMA, the appearance of the VMA header verifies that the compiled VMA library is loaded with your application.

Remark: it is recommended to keep the original libvma.so under the distribution’s original location (e.g. /usr/lib64/libvma.so) and not to override it with the newly complied libvma.so.

Warning

Please note, VMA can be installed in RHEL 7.2 and above Inbox Drivers.

RHEL 7.x distribution contains RoCE drivers version which can be retrieved by running “yum install”. The NVIDIA® drivers contain a code that was tested and integrated into the Linux upstream. However, this code may be either more or less advanced than MLNX_OFED version 4.0-x.x.x or MLNX-EN v3.4-x.x.x. In this case, you can:

This option is suitable for users who do not wish to change their exiting NVIDIA® driver that comes with RHEL 7.x installation.

RHEL 7.2 with Inbox drivers, please visit: https://github.com/Mellanox/libvma/wiki/VMA-over-RHEL-7.x-with-inbox-driver.

For running VMA over RHEL 7.3 or later with Inbox drivers, execute:

Copy
Copied!
            

yum install libvma

For libvma configuration file please visit: https://github.com/Mellanox/libvma/wiki/VMA_Configuration_File.

For information on how to uninstall VMA in RHEL 7.x Inbox, please refer to VMA in RHEL 7.x Inbox Uninstallation.

Warning

By default “yum install libvma” will install one of past VMA versions. In order to run with latest VMA version, you can compile libvma directly from GitHub.. For further information, refer to Verifying VMA Compilation.

© Copyright 2023, NVIDIA. Last updated on Feb 8, 2024.