Skip to content

Aharoni-Lab/indeca

Repository files navigation

InDeCa

repository of Interpretable Deconvolution for Calcium imaging.

Development Guide

pdm workflow (recommended)

  1. Obtain pdm globally on your system. Either follow the official guide, or if you prefer to use conda, conda install -c conda-forge pdm into your base environment.
  2. Clone the repo and enter:
    git clone https://github.com/Aharoni-Lab/indeca.git
    cd indeca
  3. If you want to use conda/mamba to handle dependencies, create a conda environment:
    conda create -n indeca -c conda-forge python=3.12
    conda activate indeca
    
    Otherwise skip to next step
  4. pdm install

setup cuosqp

  1. Install cuda-toolkit 11.8 into the environment:
    mamba env create -n indeca-dev -f environment/cuda.yml
    conda activate indeca-dev
  2. Obtain cuosqp source code:
    cd ..
    git clone https://github.com/osqp/cuosqp.git
  3. Find the computing capability of your GPU and modify line 120-125 of osqp_sources/CMakeLists.txt under the cuosqp repo accordingly:
    set(CMAKE_CUDA_ARCHITECTURES 89) # modify the compute capability 89 to match your GPU
    # if (DFLOAT)
    #     set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --gpu-architecture=compute_89 --gpu-code=sm_89")
    # else()
    #     # To use doubles we need compute capability 6.0 for atomic operations
    #     set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --gpu-architecture=compute_89 --gpu-code=sm_89")
    # endif()
  4. Obtain a copy of cuda examples 11.8 from here
  5. Add the extracted cuda examples folder to the include directories:
  6. Run CUDA_PATH=whatever python setup.py install. If you followed the steps correctly, CUDA_PATH shouldn't matter (but it has to be set).
  7. Verify that cuosqp is installed under your environment.

About

Interpretable Deconvolution for Calcium imaging

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages