I’ve really enjoyed the availability of conda on the cluster for managing environments. One issue I often run into with conda, however, is how ungodly slow dependency resolution is using the native solver.
Some folks have created a drop-in replacement for conda called mamba:
The big improvement here is that large parts of it are implemented in C++ and it uses libsolv for package dependency resolution.
I’d like it if either mamba was added to the base conda environment from
module load Anaconda3/2020.07 or a separate, perhaps minimal, implementation was included.
A minimal implementation would for example be simply an installation of miniconda with mamba installed into the base environment. This would be more lightweight than the full behemoth of Anaconda being duplicated just for mamba.
Thanks for your consideration!
As an update for those who are interested, I was actually able to install mamba + miniconda directly in to my home directory anyways without any root permissions.
For anyone who doesn’t need the full Anaconda base environment and its deluge of packages it’s a pretty good option, since you’re going to be duplicating a lot of packages anyways in your home directory. Miniconda (and miniforge) only contain roughly 20-30 packages, the bare minimum really, so it’s not much trouble to install in the home dir.
If you go this route I would install miniforge rather than miniconda as the combination of default channels and conda-forge is usually terrible anyways.
I installed miniconda in my scratch because I don’t need the packages to be backed up. I’m not sure if it’s slower because of this.
I read that miniforge is still in beta but if it works why not. If you use miniconda it’s definitively necessary to add the additional channels.