-
Notifications
You must be signed in to change notification settings - Fork 186
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
Optimizing spikeinterface speed #2818
Comments
I would suggest benchmarking the docker speed on Kilosort2. It sounds like locally with Matlab you are about 1x recording time. So see what docker takes. That should give you a proxy of the docker slowdown. As far as the SI wrapper in general, that will also have a slight slowdown compared to native KS4 (this is expected since we are calling KS stuff from spikeinterface stuff). This lengthening of time is increased if you are doing things like Both Did I miss anything @alejoe91? |
I will say maybe (and we discussed this previously) we should have an option to write a binary and load that into KS instead of using their RecordingAsArray or whatever because that doesn't have multiprocessing so that might slowdown the process a bit. So in the case of someone sorting over the network it might make sense to just write the binary file where-ever they want and then sort from that for KS4 so that we can leverage our |
Thanks Zach, I will simply do some careful benchmarking to bring more useful information to the table! It is a shame for the progressbars, it would be cool to hack the stdout of the sorters (or whatever the MATLAB equivalent would be) to somehow use their own 'verbose output' and assess progress. Or, when it is already implemented in the sorter, make it write on a .log file and read the progress from this .log file. |
That sounds like a fun PR if you want to give it a go! I'm sure we would have users that would be interested in that :) |
Quick question: Kilosort 4 in a spikeinterface docker container took about 4hours to run on a 20min long Neuropixels dataset (Kilosort 2 on MATLAB on the same machine takes about 30 minutes), so I believe that my installation is sub-optimal.
Is running sorters in containers knows to slow down the process, or am I doing something wrong? Do I need to check whether 'all my my GPU capabilities are used' somehow (not sure if it could fall back on running on CPU, but this would take much longer than 4h so I don't believe this must be happening)? In general, any tips to accelerate spikeinterface's sorters?
And also, any way to print out a progress bar of some kind? That would be very useful.
Thanks!
The text was updated successfully, but these errors were encountered: