Troubleshooting
Troubleshooting
GPU / CUDA Issues
RuntimeError: CUDA driver error: initialization error
Ensure your CUDA drivers are compatible with CUDA 12.x. Verify with:
nvidia-smi
nvcc --version
cupy.cuda.runtime.CUDARuntimeError: cudaErrorNoDevice
No GPU was detected. SPLIT requires at least one NVIDIA GPU. Confirm with nvidia-smi.
OutOfMemoryError during run_sampler
Each worker process allocates GPU memory for waveform generation and data arrays. Try reducing the number of blocks (Nblocks in emri_config.json) or the number of walkers (nwalkers in sample_config.json).
Dependency Issues
ImportError: No module named 'eryn'
Install the patched Eryn fork required by SPLIT:
pip install git+https://github.com/perturber/Eryn.git@main
AttributeError: 'HDFBackend' object has no attribute 'key_order'
You have the upstream eryn installed instead of the patched fork. See A Note on Dependencies.
fastlisaresponse version mismatch
SPLIT requires fastlisaresponse >= 1.2.1a0 for separate t0/t_buffer arguments:
pip install --pre fastlisaresponse-cuda12x==1.2.1a0
Waveform / Trajectory Issues
Sampler produces -inf log-likelihood for all walkers
Check that
fmin/fmaxinemri_config.jsonare within the signal’s frequency range.Verify
Nblocksis not so large that individual blocks are shorter than one orbital cycle.Ensure
p0,e0, andasatisfy the separatrix condition for the chosen spin value.
Custom waveform model not found
Pass it directly via custom_injection_func / custom_analysis_func arguments to SPLIT, or register it in the named_models property in split.py.
MCMC / Convergence Issues
Walkers initialized outside prior bounds
Reduce jitter in sample_config.json or tighten the prior bounds via the custom_bounds key.
Sampler never converges
Increase
nstepsornwalkers(minimum recommended:4 × ndim).Tune
sigma_priortolerances inemri_config.json— values that are too tight trap walkers near the true solution.Use a dedicated
burnphase first to let the adaptive moves (BlockAdaptGaussian) tune their covariance before the main run.