Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Experimental Python port of Kilosort 2 #200

Merged
merged 94 commits into from
Apr 30, 2020
Merged

Conversation

rossant
Copy link
Contributor

@rossant rossant commented Apr 30, 2020

This pull request provides a merge of the rossant/pykilosort repository, containing an experimental Python port of Kilosort 2, into @marius10p's master Kilosort2 repository. The merge was done with git following these instructions.

The Python version is found in the pykilosort/ subdirectory. This version is not ready for production yet. The README of pykilosort hasn't been merged at the moment.

  • Line-by-line port from MATLAB into Python of the core implementation
  • CUDA kernels have been kept completely untouched
  • CuPy has been heavily used to match MATLAB's heavy use of GPU array and matrix operations
  • CuPy was missing some features used by the MATLAB implementation (eg the median), most importantly an efficient GPU implementation of lfilter(). Effort has been done, in collaboration with @oliche, to make a scalable, memory-efficient, and fast FFT-based convolution of arbitrarily long multichannel time series.
  • Development has been done using 2 excerpts datasets of 100s and 1000s from a Neuropixels 384-channel recording
  • On these test datasets, performance was grossly but not perfectly similar in terms of sorting quality and time performance
  • Validation with a sort of ground-truth dataset has not yet been performed.

@marius10p marius10p merged commit 48bf2b8 into MouseLand:master Apr 30, 2020
cnuahs pushed a commit to cnuahs/Kilosort that referenced this pull request Mar 9, 2024
Experimental Python port of Kilosort 2

Former-commit-id: 48bf2b8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants