conda-forge / jaxlib-feedstock

A conda-smithy repository for jaxlib.
BSD 3-Clause "New" or "Revised" License
16 stars 24 forks source link

non-cuda version of jaxlib gets installed by default with classic solver #273

Open traversaro opened 3 months ago

traversaro commented 3 months ago

Comment:

I do not think it is worth tryng to investigate this, but I wanted to report this somewhere so it can be found on search engines. Apparently with conda classic solver, even if jaxlib with cuda enabled has a higher build number, the non-cuda version get installed by default:

root@DESKTOP-T0NQNLN:~# conda info

     active environment : None
            shell level : 0
       user config file : /root/.condarc
 populated config files : /root/miniforge3/.condarc
                          /root/.condarc
          conda version : 24.3.0
    conda-build version : not installed
         python version : 3.10.14.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=skylake
                          __conda=24.3.0=0
                          __cuda=12.0=0
                          __glibc=2.39=0
                          __linux=5.15.153.1=0
                          __unix=0=0
       base environment : /root/miniforge3  (writable)
      conda av data dir : /root/miniforge3/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /root/miniforge3/pkgs
                          /root/.conda/pkgs
       envs directories : /root/miniforge3/envs
                          /root/.conda/envs
               platform : linux-64
             user-agent : conda/24.3.0 requests/2.31.0 CPython/3.10.14 Linux/5.15.153.1-microsoft-standard-WSL2 ubuntu/24.04 glibc/2.39 solver/libmamba conda-libmamba-solver/24.1.0 libmambapy/1.5.8
                UID:GID : 0:0
             netrc file : None
           offline mode : False
root@DESKTOP-T0NQNLN:~# conda create -c conda-forge -n jax jaxlib
The following NEW packages will be INSTALLED:

  _libgcc_mutex      conda-forge/linux-64::_libgcc_mutex-0.1-conda_forge
  _openmp_mutex      conda-forge/linux-64::_openmp_mutex-4.5-2_gnu
  _sysroot_linux-64~ conda-forge/noarch::_sysroot_linux-64_curr_repodata_hack-3-h69a702a_15
  binutils_impl_lin~ conda-forge/linux-64::binutils_impl_linux-64-2.40-ha1999f0_7
  binutils_linux-64  conda-forge/linux-64::binutils_linux-64-2.40-hb3c18ed_9
  bzip2              conda-forge/linux-64::bzip2-1.0.8-hd590300_5
  c-ares             conda-forge/linux-64::c-ares-1.28.1-hd590300_0
  ca-certificates    conda-forge/linux-64::ca-certificates-2024.7.4-hbcca054_0
  cuda-cccl_linux-64 conda-forge/noarch::cuda-cccl_linux-64-12.5.39-ha770c72_0
  cuda-crt-dev_linu~ conda-forge/noarch::cuda-crt-dev_linux-64-12.5.82-ha770c72_0
  cuda-crt-tools     conda-forge/linux-64::cuda-crt-tools-12.5.82-ha770c72_0
  cuda-cudart        conda-forge/linux-64::cuda-cudart-12.5.82-he02047a_0
  cuda-cudart-dev    conda-forge/linux-64::cuda-cudart-dev-12.5.82-he02047a_0
  cuda-cudart-dev_l~ conda-forge/noarch::cuda-cudart-dev_linux-64-12.5.82-h85509e4_0
  cuda-cudart-static conda-forge/linux-64::cuda-cudart-static-12.5.82-he02047a_0
  cuda-cudart-stati~ conda-forge/noarch::cuda-cudart-static_linux-64-12.5.82-h85509e4_0
  cuda-cudart_linux~ conda-forge/noarch::cuda-cudart_linux-64-12.5.82-h85509e4_0
  cuda-cupti         conda-forge/linux-64::cuda-cupti-12.5.82-he02047a_0
  cuda-driver-dev_l~ conda-forge/noarch::cuda-driver-dev_linux-64-12.5.82-h85509e4_0
  cuda-nvcc          conda-forge/linux-64::cuda-nvcc-12.5.82-hcdd1206_0
  cuda-nvcc-dev_lin~ conda-forge/noarch::cuda-nvcc-dev_linux-64-12.5.82-ha770c72_0
  cuda-nvcc-impl     conda-forge/linux-64::cuda-nvcc-impl-12.5.82-hd3aeb46_0
  cuda-nvcc-tools    conda-forge/linux-64::cuda-nvcc-tools-12.5.82-hd3aeb46_0
  cuda-nvcc_linux-64 conda-forge/linux-64::cuda-nvcc_linux-64-12.5.82-h8a487aa_0
  cuda-nvrtc         conda-forge/linux-64::cuda-nvrtc-12.5.82-he02047a_0
  cuda-nvtx          conda-forge/linux-64::cuda-nvtx-12.5.82-he02047a_0
  cuda-nvvm-dev_lin~ conda-forge/noarch::cuda-nvvm-dev_linux-64-12.5.82-ha770c72_0
  cuda-nvvm-impl     conda-forge/linux-64::cuda-nvvm-impl-12.5.82-h59595ed_0
  cuda-nvvm-tools    conda-forge/linux-64::cuda-nvvm-tools-12.5.82-h59595ed_0
  cuda-version       conda-forge/noarch::cuda-version-12.5-hd4f0392_3
  cudnn              conda-forge/linux-64::cudnn-8.9.7.29-h092f7fd_3
  gcc_impl_linux-64  conda-forge/linux-64::gcc_impl_linux-64-13.2.0-h9eb54c0_13
  gcc_linux-64       conda-forge/linux-64::gcc_linux-64-13.2.0-h50dba11_9
  gxx_impl_linux-64  conda-forge/linux-64::gxx_impl_linux-64-13.2.0-h2a599c4_13
  gxx_linux-64       conda-forge/linux-64::gxx_linux-64-13.2.0-h4ebd915_9
  jaxlib             conda-forge/linux-64::jaxlib-0.4.27-cuda120py312h4008524_200
  kernel-headers_li~ conda-forge/noarch::kernel-headers_linux-64-3.10.0-h4a8ded7_15
  ld_impl_linux-64   conda-forge/linux-64::ld_impl_linux-64-2.40-hf3520f5_7
  libabseil          conda-forge/linux-64::libabseil-20240116.2-cxx17_h59595ed_0
  libblas            conda-forge/linux-64::libblas-3.9.0-22_linux64_openblas
  libcblas           conda-forge/linux-64::libcblas-3.9.0-22_linux64_openblas
  libcublas          conda-forge/linux-64::libcublas-12.5.3.2-he02047a_0
  libcufft           conda-forge/linux-64::libcufft-11.2.3.61-he02047a_0
  libcurand          conda-forge/linux-64::libcurand-10.3.6.82-he02047a_0
  libcusolver        conda-forge/linux-64::libcusolver-11.6.3.83-he02047a_0
  libcusparse        conda-forge/linux-64::libcusparse-12.5.1.3-he02047a_0
  libexpat           conda-forge/linux-64::libexpat-2.6.2-h59595ed_0
  libffi             conda-forge/linux-64::libffi-3.4.2-h7f98852_5
  libgcc-devel_linu~ conda-forge/noarch::libgcc-devel_linux-64-13.2.0-hdb50d1a_113
  libgcc-ng          conda-forge/linux-64::libgcc-ng-14.1.0-h77fa898_0
  libgfortran-ng     conda-forge/linux-64::libgfortran-ng-14.1.0-h69a702a_0
  libgfortran5       conda-forge/linux-64::libgfortran5-14.1.0-hc5f4f2c_0
  libgomp            conda-forge/linux-64::libgomp-14.1.0-h77fa898_0
  libgrpc            conda-forge/linux-64::libgrpc-1.62.2-h15f2491_0
  liblapack          conda-forge/linux-64::liblapack-3.9.0-22_linux64_openblas
  libnsl             conda-forge/linux-64::libnsl-2.0.1-hd590300_0
  libnvjitlink       conda-forge/linux-64::libnvjitlink-12.5.82-he02047a_0
  libopenblas        conda-forge/linux-64::libopenblas-0.3.27-pthreads_hac2b453_1
  libprotobuf        conda-forge/linux-64::libprotobuf-4.25.3-h08a7969_0
  libre2-11          conda-forge/linux-64::libre2-11-2023.09.01-h5a48ba9_2
  libsanitizer       conda-forge/linux-64::libsanitizer-13.2.0-h6ddb7a1_13
  libsqlite          conda-forge/linux-64::libsqlite-3.46.0-hde9e2c9_0
  libstdcxx-devel_l~ conda-forge/noarch::libstdcxx-devel_linux-64-13.2.0-hdb50d1a_113
  libstdcxx-ng       conda-forge/linux-64::libstdcxx-ng-14.1.0-hc0a3c3a_0
  libuuid            conda-forge/linux-64::libuuid-2.38.1-h0b41bf4_0
  libxcrypt          conda-forge/linux-64::libxcrypt-4.4.36-hd590300_1
  libzlib            conda-forge/linux-64::libzlib-1.3.1-h4ab18f5_1
  ml_dtypes          conda-forge/linux-64::ml_dtypes-0.4.0-py312h1d6d2e6_1
  nccl               conda-forge/linux-64::nccl-2.22.3.1-hbc370b7_0
  ncurses            conda-forge/linux-64::ncurses-6.5-h59595ed_0
  numpy              conda-forge/linux-64::numpy-2.0.0-py312h22e1c76_0
  openssl            conda-forge/linux-64::openssl-3.3.1-h4ab18f5_1
  pip                conda-forge/noarch::pip-24.0-pyhd8ed1ab_0
  python             conda-forge/linux-64::python-3.12.4-h194c7f8_0_cpython
  python_abi         conda-forge/linux-64::python_abi-3.12-4_cp312
  re2                conda-forge/linux-64::re2-2023.09.01-h7f4b329_2
  readline           conda-forge/linux-64::readline-8.2-h8228510_1
  scipy              conda-forge/linux-64::scipy-1.14.0-py312hc2bc53b_1
  setuptools         conda-forge/noarch::setuptools-70.2.0-pyhd8ed1ab_0
  sysroot_linux-64   conda-forge/noarch::sysroot_linux-64-2.17-h4a8ded7_15
  tk                 conda-forge/linux-64::tk-8.6.13-noxft_h4845f30_101
  tzdata             conda-forge/noarch::tzdata-2024a-h0c530f3_0
  wheel              conda-forge/noarch::wheel-0.43.0-pyhd8ed1ab_1
  xz                 conda-forge/linux-64::xz-5.2.6-h166bdaf_0
root@DESKTOP-T0NQNLN:~# conda create --solver=classic -c conda-forge -n jax jaxlib
The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    ca-certificates-2024.7.4   |       hbcca054_0         151 KB  conda-forge
    jaxlib-0.4.27              |cpu_py312h17e8b90_0        51.3 MB  conda-forge
    ld_impl_linux-64-2.40      |       hf3520f5_7         691 KB  conda-forge
    libabseil-20240116.2       | cxx17_h59595ed_0         1.2 MB  conda-forge
    libblas-3.9.0              |22_linux64_openblas          14 KB  conda-forge
    libcblas-3.9.0             |22_linux64_openblas          14 KB  conda-forge
    libexpat-2.6.2             |       h59595ed_0          72 KB  conda-forge
    libgcc-ng-14.1.0           |       h77fa898_0         822 KB  conda-forge
    libgfortran-ng-14.1.0      |       h69a702a_0          49 KB  conda-forge
    libgfortran5-14.1.0        |       hc5f4f2c_0         1.4 MB  conda-forge
    libgomp-14.1.0             |       h77fa898_0         446 KB  conda-forge
    libgrpc-1.62.2             |       h15f2491_0         7.0 MB  conda-forge
    liblapack-3.9.0            |22_linux64_openblas          14 KB  conda-forge
    libopenblas-0.3.27         |pthreads_hac2b453_1         5.3 MB  conda-forge
    libprotobuf-4.25.3         |       h08a7969_0         2.7 MB  conda-forge
    libre2-11-2023.09.01       |       h5a48ba9_2         227 KB  conda-forge
    libsqlite-3.46.0           |       hde9e2c9_0         845 KB  conda-forge
    libstdcxx-ng-14.1.0        |       hc0a3c3a_0         3.7 MB  conda-forge
    libzlib-1.3.1              |       h4ab18f5_1          60 KB  conda-forge
    ml_dtypes-0.4.0            |  py312h1d6d2e6_1         167 KB  conda-forge
    ncurses-6.5                |       h59595ed_0         867 KB  conda-forge
    numpy-2.0.0                |  py312h22e1c76_0         8.0 MB  conda-forge
    openssl-3.3.1              |       h4ab18f5_1         2.8 MB  conda-forge
    python-3.12.4              |h194c7f8_0_cpython        30.6 MB  conda-forge
    python_abi-3.12            |          4_cp312           6 KB  conda-forge
    re2-2023.09.01             |       h7f4b329_2          26 KB  conda-forge
    scipy-1.14.0               |  py312hc2bc53b_1        16.8 MB  conda-forge
    setuptools-70.2.0          |     pyhd8ed1ab_0         486 KB  conda-forge
    ------------------------------------------------------------
                                           Total:       135.6 MB

The following NEW packages will be INSTALLED:

  _libgcc_mutex      conda-forge/linux-64::_libgcc_mutex-0.1-conda_forge
  _openmp_mutex      conda-forge/linux-64::_openmp_mutex-4.5-2_gnu
  bzip2              conda-forge/linux-64::bzip2-1.0.8-hd590300_5
  c-ares             conda-forge/linux-64::c-ares-1.28.1-hd590300_0
  ca-certificates    conda-forge/linux-64::ca-certificates-2024.7.4-hbcca054_0
  jaxlib             conda-forge/linux-64::jaxlib-0.4.27-cpu_py312h17e8b90_0
  ld_impl_linux-64   conda-forge/linux-64::ld_impl_linux-64-2.40-hf3520f5_7
  libabseil          conda-forge/linux-64::libabseil-20240116.2-cxx17_h59595ed_0
  libblas            conda-forge/linux-64::libblas-3.9.0-22_linux64_openblas
  libcblas           conda-forge/linux-64::libcblas-3.9.0-22_linux64_openblas
  libexpat           conda-forge/linux-64::libexpat-2.6.2-h59595ed_0
  libffi             conda-forge/linux-64::libffi-3.4.2-h7f98852_5
  libgcc-ng          conda-forge/linux-64::libgcc-ng-14.1.0-h77fa898_0
  libgfortran-ng     conda-forge/linux-64::libgfortran-ng-14.1.0-h69a702a_0
  libgfortran5       conda-forge/linux-64::libgfortran5-14.1.0-hc5f4f2c_0
  libgomp            conda-forge/linux-64::libgomp-14.1.0-h77fa898_0
  libgrpc            conda-forge/linux-64::libgrpc-1.62.2-h15f2491_0
  liblapack          conda-forge/linux-64::liblapack-3.9.0-22_linux64_openblas
  libnsl             conda-forge/linux-64::libnsl-2.0.1-hd590300_0
  libopenblas        conda-forge/linux-64::libopenblas-0.3.27-pthreads_hac2b453_1
  libprotobuf        conda-forge/linux-64::libprotobuf-4.25.3-h08a7969_0
  libre2-11          conda-forge/linux-64::libre2-11-2023.09.01-h5a48ba9_2
  libsqlite          conda-forge/linux-64::libsqlite-3.46.0-hde9e2c9_0
  libstdcxx-ng       conda-forge/linux-64::libstdcxx-ng-14.1.0-hc0a3c3a_0
  libuuid            conda-forge/linux-64::libuuid-2.38.1-h0b41bf4_0
  libxcrypt          conda-forge/linux-64::libxcrypt-4.4.36-hd590300_1
  libzlib            conda-forge/linux-64::libzlib-1.3.1-h4ab18f5_1
  ml_dtypes          conda-forge/linux-64::ml_dtypes-0.4.0-py312h1d6d2e6_1
  ncurses            conda-forge/linux-64::ncurses-6.5-h59595ed_0
  numpy              conda-forge/linux-64::numpy-2.0.0-py312h22e1c76_0
  openssl            conda-forge/linux-64::openssl-3.3.1-h4ab18f5_1
  pip                conda-forge/noarch::pip-24.0-pyhd8ed1ab_0
  python             conda-forge/linux-64::python-3.12.4-h194c7f8_0_cpython
  python_abi         conda-forge/linux-64::python_abi-3.12-4_cp312
  re2                conda-forge/linux-64::re2-2023.09.01-h7f4b329_2
  readline           conda-forge/linux-64::readline-8.2-h8228510_1
  scipy              conda-forge/linux-64::scipy-1.14.0-py312hc2bc53b_1
  setuptools         conda-forge/noarch::setuptools-70.2.0-pyhd8ed1ab_0
  tk                 conda-forge/linux-64::tk-8.6.13-noxft_h4845f30_101
  tzdata             conda-forge/noarch::tzdata-2024a-h0c530f3_0
  wheel              conda-forge/noarch::wheel-0.43.0-pyhd8ed1ab_1
  xz                 conda-forge/linux-64::xz-5.2.6-h166bdaf_0
traversaro commented 3 months ago

xref: https://github.com/google/jax/issues/18032#issuecomment-2219745138

traversaro commented 3 months ago

The workaround is simply to explictly install the cuda version:

conda create --solver=classic -n conda-forge -n jax jaxlib=*=cuda*