How to run network application over InfiniBand? InfiniBand makes IP packet encapsulation to allow regular network applications to run over InfiniBand. In order to do it, application should use other implementation of network system calls (like socket() ) then Linux provides. Linux has ability to intercept original Linux functions. One of the ways to do it is to use LD_PRELOAD environment variable. When LD_PRELOAD points to some dynamically linked library, Linux dynamic linker loads this library before your code is executed, such way you can use function from library pointed by LD_PRELOAD instead of original Linux function. You can read more about it, and see some examples at http://www.uberhip.com/people/godber/interception/. In our case we already have such dynamically linked library provided by Voltaire, it resides in /usr/voltaire/lib/sock-redirect.so. So in order to run network application over InfiniBand we should execute following command: bash# LD_PRELOAD=/usr/voltaire/lib/sock-redirect.so [our_application_args]. This will set LD_PRELOAD environment variable to point to /usr/voltaire/lib/sock-redirect.so and execute our network application with given arguments. Note: in this case LD_PRELOAD will be defined for current execution only. If you want to define LD_PRELOAD for the whole session you should the perform following: Bash shell: bash# LD_PRELOAD=/usr/voltaire/lib/sock-redirect.so bash# export LD_PRELOAD tcshell: tcsh# setenv LD_PRELOAD /usr/voltaire/lib/sock-redirect.so If you want permanently set LD_PRELOAD variable you should edit your .bash_profile or .cshrc files in your home directory.