Giter Club home page Giter Club logo

life-opt's Introduction

Life-opt: Optimizing the Linear Fascicle Evaluation Algorithm for Multi-Core and Many-Core Systems

About

This software is an optimized implementation of the compute-intensive matrix operations of the LiFE algorithm for CPUs and GPUs.

LiFE Code

The original LiFE [1,2] code can be found using the Github link.

License

LiFE-opt software is available under the BSD 3-Clause license.

Copyright (2019), Karan Aggarwal, [email protected]

Funding

This work was supported in part by a grant (EMR/2016/008015) from the Science and Engineering Research Board (SERB), India through its Extramural Research funding program.

Dependencies

Installation

  1. Download LiFE software

    git clone https://github.com/brain-life/encode

  2. Change directory

    cd encode

  3. Download vistasoft software

    git clone https://github.com/vistalab/vistasoft

  4. Download MBA software

    git clone https://github.com/francopestilli/mba

  5. Download and install CUDA

    https://developer.nvidia.com/cuda-downloads Also, include the CUDA path in bashrc file (use link for help).

  6. Download demo datasets from the repository doi:10.5967/K8X63JTX

    https://scholarworks.iu.edu/cgi-bin/mdssRequest.pl?file=2022/2099/Demo_Data_for_Multidimensional_Encoding_of_Brain_Connectomes.tar.gz

  7. Unzip the downloaded .tar.gz file

    tar -xvzf Demo_Data_for_Multidimensional_Encoding_of_Brain_Connectomes.tar.gz

  8. Download LiFE-GPU-opt software

    git clone https://github.com/karanaggarwal1994/life-gpu-opt

Running the LiFE-GPU-opt code

  1. Run MATLAB

  2. Add the encode folder path to MATLAB search path

    >>> addpath(genpath('/my/path/to/the/encode/folder/'))

  3. Run the script

    >>> life_opt_demo(sys,BLAS_PATH)

    sys is an integer with options 0 to run original CPU code, 1 to run optimized CPU code and 2 to run optimized GPU code.

    BLAS_PATH is path of the OpenBLAS library in the system.

    Sample run: life_opt_demo(1,'/home/ubuntu/openblas')

How to cite LiFE-opt

Karan Aggarwal, Uday Bondhugula "Optimizing the Linear Fascicle Evaluation Algorithm for Multi-Core Systems" Accepted to International Conference on Supercomputing (ICS) 2019 (to appear).

Karan Aggarwal, Uday Bondhugula "Optimizing the Linear Fascicle Evaluation Algorithm for Multi-Core and Many-Core Systems".

Other References

[1] Pestilli, Franco, Jason D. Yeatman, Ariel Rokem, Kendrick N. Kay, and Brian A. Wandell. Evaluation and statistical inference for human connectomes. Nature methods 11, no. 10 (2014): 1058-1063.

[2] Caiafa, C. and Pestilli, F. Multidimensional encoding of brain connectome. Nature Scientific Reports 7, Article number: 11491 (2017)

[3] Kumar, S., Sreenivasan V., Talukdar P., Pestilli F., and Sridharan D. (2019, January) "ReAl-LiFE: Accelerating the discovery of individualized brain connectomes on GPUs." Accepted to AAAI 2019 (proceedings in press).

life-opt's People

Contributors

karanaggarwal1994 avatar

Watchers

Uday Bondhugula avatar  avatar paper2code - bot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.