conda-forge / conda-forge/conda-forge.github.io
openmp vs llvm-openmp
- Dominant language
- JavaScript
- Stars
- 170
- Forks
- 320
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 5
Description
I am trying to install pytorch (cpu) and mlpack into the same environment, but this command fails:
```text
$ mamba create -n tst 'python=3.9.*' 'pytorch=*=cpu*' 'mlpack'
<...>
Looking for: ['python=3.9', 'pytorch=[build=cpu*]', 'mlpack']
conda-forge/linux-64 Using cache
conda-forge/noarch Using cache
Encountered problems while solving:
- package pytorch-1.10.0-cpu_py39hc5866cc_0 requires python_abi 3.9.* *_cp39, but none of the providers can be installed
```
The root cause, as far as I understand, is that `pytorch` depends on `llvm-openmp` (via `mkl`) and `mlpack` depends on `openmp` (via `ensmallen`).
I can install them individually:
```text
$ mamba create -n tst 'python=3.9.*' 'pytorch=*=cpu*'
```
pulls in `llvm-openmp-14.0.4`, while:
```text
$ mamba create -n tst 'python=3.9.*' 'mlpack'
```
pulls in `openmp-8.0.1` (the latest available version, three years old).
`llvm-openmp` has a constraint that if `openmp` is installed it has to have the same version and `mkl` requires `llvm-openmp >= 9.0.1`, which does not have a corresponding `openmp` version.
My current understanding is that `openmp` and `llvm-openmp` are the same package, with the former being its old name which is no longer updated. Unfortunately, I could not find any documentation / history / discussions on this matter.
Am I right? If yes, it would be great to have some easily googleable documentation for this.
Wouldn’t it be better to keep publishing `openmp` as a proxy for `llvm-openmp` for backwards compatibility? There are still plenty of packages depending on it.
In any case, I would be grateful for any suggestions on how to work around this problem, given that [conda-forge/ensmallen-feedstock](https://github.com/conda-forge/ensmallen-feedstock) does not seem to be actively maintained. I assume, ensmallen should work just fine with the newer versions of `llvm-openmp` if I find a way to trick conda/mamba into ignoring this dependency.
Contributor guide
Assessment
This issue has not been assessed yet.