conda-forge / conda-forge/conda-forge.github.io

openmp vs llvm-openmp

Abierto
#1,792 3 comentarios 0 reacciones 0 asignados Ver en GitHub
question
Lenguaje dominante
JavaScript
Estrellas
170
Forks
320
Merge medio
2 d 10 h
PR fusionados (30 d)
5

Descripción

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.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.