AllenNeuralDynamics / AllenNeuralDynamics/aind-ephys-spikesort-kilosort4
Kilosort4 capsule fails on import due to Numba cache locator error in si-0.103.2 container
- Lenguaje dominante
- Python
- Estrellas
- 3
- Forks
- 5
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Hello,
I have this issue using aind-ephys-pipeline with container tag si-0.103.2, where the Kilosort4 capsule fails immediately on import:
```
RuntimeError: cannot cache function '_find_duplicated_spikes_keep_last_iterative': no locator available for file '/home/miniconda3/lib/python3.11/site-packages/spikeinterface/curation/curation_tools.py'
```
Pipeline context:
- aind-ephys-pipeline revision: 9b4b4a2d88
- capsule: aind-ephys-spikesort-kilosort4
- capsule commit: dbe0c9683433f0d10057b9db800c62654ee1abf5
- container: ghcr.io/allenneuraldynamics/aind-ephys-spikesort-kilosort4:si-0.103.2
- Numba version in container: 0.60.0
- SpikeInterface path: /home/miniconda3/lib/python3.11/site-packages/spikeinterface
Failure occurs before sorting starts:
```
File "capsule/code/run_capsule.py", line 23, in
import spikeinterface.curation as sc
File "/home/miniconda3/lib/python3.11/site-packages/spikeinterface/curation/curation_tools.py", line 79, in
@numba.jit(nopython=True, nogil=True, cache=True)
...
RuntimeError: cannot cache function '_find_duplicated_spikes_keep_last_iterative': no locator available for file '/home/miniconda3/lib/python3.11/site-packages/spikeinterface/curation/curation_tools.py'
```
I tested setting NUMBA_CACHE_DIR to a writable path inside the container, but the same error occurs. Setting NUMBA_DISABLE_JIT=1 avoids the import error, but that is not really a viable strategy.
This looks like the container/package layout makes Numba unable to create a cache locator for SpikeInterface functions decorated with cache=True. Could the container or capsule be updated so this import works without disabling JIT globally?
Thanks!
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Evaluación
Este issue todavía no se ha evaluado.