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 are given below.
- Based on LiFE method in the Encode Toolbox
- 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, and cluster
- Tested with
- MVAPICH2-Virt 2.2
- MATLAB R2016a
- Docker (version 1.12.4)
- Various laptops, desktops, and servers
- Various HPC Clusters with InfiniBand (FDR and EDR) and Omni-Path adapters
MPI-LiFE 0.9 with support for an efficient parallel implementation of the LiFE neuroscience code using MPI and OpenMP through the MVAPICH2 library, virtualized environment using Docker container, and capability to run on multi-core laptops, desktops, servers, and clusters is available. [more]