A set of examples that uses Libfabric
C Shell Makefile Batchfile M4 Ruby Python
Clone or download
shefty Merge pull request #841 from vkrishna/fabtests-dev
Makefile.am: add tcp.exclude as part of make install
Latest commit 48337e8 Aug 7, 2018
Failed to load latest commit information.
benchmarks benchmarks: Use FI_THREAD_DOMAIN Jul 23, 2018
common Change tag compare method for rdm_tagged_bw Jul 19, 2018
functional shared_ctx: Exchange addresses 1 at a time Jul 10, 2018
include shared: Support IPv6 for OOB connections Jun 27, 2018
man ported: Remove ported tests Apr 5, 2018
scripts scripts/runfabtests.cmd: Use loopback address in place of localhost Jul 16, 2018
test_configs Makefile.am: adding tcp to CI testing Aug 1, 2018
ubertest Merge pull request #834 from shefty/master Jul 16, 2018
unit eq_test: Set mode bits explicitly Jul 26, 2018
.appveyor.yml appveyor/yml: explicitly set sockets for appveyor testing Jun 8, 2018
.gitattributes windows: Remove reference to ported tests Apr 16, 2018
.gitignore gitignore: update ignore Jun 7, 2018
.mailmap .mailmap: Copied initial version from libfabric Oct 28, 2016
.travis.yml travis-ci: Add a workaround for a Travis CI Mac OS issue Dec 4, 2017
AUTHORS v1.6.0rc1 Feb 27, 2018
COPYING v1.6.0rc1 Feb 27, 2018
Makefile.am Makefile.am: add tcp.exclude as part of make install Aug 6, 2018
Makefile.win Rename simple to functional May 21, 2018
README Update fabtests README. Feb 25, 2016
README.md README.md: indicate that version-matched pairs are best Nov 2, 2016
autogen.sh autogen: Fix reference to deleted file Nov 20, 2015
configure.ac v1.6.1a - update version to post 1.6 release Mar 14, 2018
fabtests.sln common/windows: Add support of the VS 2017 (v141 toolset) Oct 10, 2017
fabtests.spec.in spec file: Update tarball location Oct 1, 2016
fabtests.vcxproj Rename simple to functional May 21, 2018
fabtests.vcxproj.filters Rename simple to functional May 21, 2018


Build Status fabtests Coverity scan suild status fabtests release version


Fabtests provides a set of examples that uses libfabric -- a high-performance fabric software library.


Note that the fabtests suite is released paired with a specific version of libfabric. For example, libfabric v1.4 and fabtests v1.4 were released together.

Using these paired versions is the best way to test a given version of libfabric. Using version-mismatched libfabric/fabtests pairs may produce unexpected results.

Building fabtests

Distribution tarballs are available from the Github releases tab.

If you are building Fabtests from a developer Git clone, you must first run the autogen.sh script. This will invoke the GNU Autotools to bootstrap Fabtests' configuration and build mechanisms. If you are building Fabtests from an official distribution tarball, there is no need to run autogen.sh; Fabtests distribution tarballs are already bootstrapped for you.

Fabtests relies on being able to find an installed version of Libfabric. In some cases, Libfabric may be in default compiler / linker search paths, and you don't need to tell Fabtests where to find it. In other cases, you may need to tell Fabtests where to find the installed Libfabric's header and library files using the --with-libfabric=<directory> option, described below.

Configure options

The configure script has many built in options (see ./configure --help). Some useful options are:


By default make install will place the files in the /usr tree. The --prefix option specifies that the Fabtests files should be installed into the tree specified by named <directory>. The executables will be located at <directory>/bin.


Specify the directory where the Libfabric library and header files are located. This is necessary if Libfabric was installed in a location where the compiler and linker will not search by default. The Libfabric library will be searched for in <directory>/lib, and headers will be searched for in <directory>/include.


Directory where valgrind is installed. If valgrind is found, then valgrind annotations are enabled. This may incur a performance penalty.


Consider the following example:

$ ./configure --with-libfabric=/opt/libfabric --prefix=/opt/fabtests && make -j 32 && sudo make install

This will tell the Fabtests to look for Libfabric libraries in the /opt/libfabric tree, and to install the Fabtests in the /opt/fabtests tree.


$ ./configure --prefix=/opt/fabtests && make -j 32 && sudo make install

Tells the Fabtests that it should be able to find the Libfabric header files and libraries in default compiler / linker search paths (configure will abort if it is not able to find them), and to install Fabtests in /opt/fabtests.