Welcome to the NeuroHPC project created by the Network-Based Computing Laboratory of The Ohio State University. This project is aimed at bringing High-Performance Computing (HPC) to the field of Neuroscience. Availability of high-resolution neuroimaging and massively parallel computation support in modern HPC clusters have fueled an interest in Computational Neuroscience. This has triggered the development of algorithms to process neuroimaging data. However, most of these algorithms have been limited to a single core. In order to scale up and scale out these algorithms and bring HPC capabilities to the Neuroscience arena, we propose, MPI-LiFE; a scalable and distributed tool for statistical evaluation of brain connectomes.


MPI-LiFE is a parallel implementation of the LiFE method in the Encode Toolbox using the MVAPICH2 MPI library. The parallel implementation uses an MPI-based distributed algorithm for sparse multiway matrix multiplication which is heavily used in the optimization algorithm in LiFE. MPI-LiFE takes advantage of efficient communication in MVAPICH2 to drastically improve performance. Major features of MPI-LiFE 0.9.5 are given below. New features and enhancements compared to the 0.9 release are marked as (NEW).

  • Based on LiFE method in the Encode Toolbox
  • (NEW) Ability to specify input parameters as json configuration file
  • (NEW) Support for connectome encoding in preprocessing step
  • MPI-based distributed sparse multiway matrix multiplication
  • Exploits efficient communication in MVAPICH2
  • Highly optimized for virtualized environments using Docker
  • Flexibility to run on any multi-core laptop, desktop, server, or cluster
  • Tested with
    • MVAPICH2-Virt 2.2
    • MATLAB R2018b
    • Docker (version 18.06)
    • Various laptops, desktops, and servers
    • Various HPC Clusters with InfiniBand (FDR and EDR) and Omni-Path adapters


MPI-LiFE 0.9.5 with support for an efficient parallel implementation of the LiFE neuroscience code using MPI and OpenMP through the MVAPICH2 library, ability to specify input parameters as a json configuration file, support for connectome encoding in preprocessing step, virtualized environment using Docker container, and capability to run on multi-core laptops, desktops, servers, and clusters is available. [more]