conda-forge.github.io icon indicating copy to clipboard operation
conda-forge.github.io copied to clipboard

Pinning blas implementation not working?

Open ericpre opened this issue 4 years ago • 6 comments

The documention on pining the blas implementation in https://conda-forge.org/docs/maintainer/knowledge_base.html#switching-blas-implementation doesn't seem to work:

  1. run conda install "liblapack=*=*mkl"
  2. Add blas=*=mkl to pinned
  3. run conda update --all and the blas implementation switch back to netlib:
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /opt/miniconda3/envs/blas_issue


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    _openmp_mutex-4.5          |            1_gnu          22 KB  conda-forge
    libblas-3.9.0              |1_h86c2bf4_netlib         199 KB  conda-forge
    libgcc-ng-9.3.0            |      h5dbcf3e_17         7.8 MB  conda-forge
    libgfortran-ng-9.3.0       |      he4bcb1c_17          22 KB  conda-forge
    libgfortran5-9.3.0         |      he4bcb1c_17         2.0 MB  conda-forge
    libgomp-9.3.0              |      h5dbcf3e_17         378 KB  conda-forge
    liblapack-3.9.0            |1_h86c2bf4_netlib         3.0 MB  conda-forge
    ------------------------------------------------------------
                                           Total:        13.3 MB

The following NEW packages will be INSTALLED:

  libgcc-ng          conda-forge/linux-64::libgcc-ng-9.3.0-h5dbcf3e_17
  libgfortran-ng     conda-forge/linux-64::libgfortran-ng-9.3.0-he4bcb1c_17
  libgfortran5       conda-forge/linux-64::libgfortran5-9.3.0-he4bcb1c_17
  libgomp            conda-forge/linux-64::libgomp-9.3.0-h5dbcf3e_17

The following packages will be REMOVED:

  llvm-openmp-11.0.0-hfc4b9b4_1
  mkl-2020.2-256

The following packages will be UPDATED:

  _openmp_mutex                                  4.5-1_llvm --> 4.5-1_gnu
  libblas                                      3.8.0-16_mkl --> 3.9.0-1_h86c2bf4_netlib
  liblapack                                    3.8.0-16_mkl --> 3.9.0-1_h86c2bf4_netlib

Environment (conda list):
$ conda list
# packages in environment at /opt/miniconda3/envs/blas_issue:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                      1_llvm    conda-forge
blas                      1.0                         mkl  
libblas                   3.8.0                    16_mkl    conda-forge
liblapack                 3.8.0                    16_mkl    conda-forge
llvm-openmp               11.0.0               hfc4b9b4_1    conda-forge
mkl                       2020.2                      256    conda-forge

Details about conda and system ( conda info after step 1):
$ conda info
     active environment : blas_issue
    active env location : /opt/miniconda3/envs/blas_issue
            shell level : 2
       user config file : /home/eric/.condarc
 populated config files : /home/eric/.condarc
          conda version : 4.9.0
    conda-build version : 3.20.4
         python version : 3.7.9.final.0
       virtual packages : __cuda=11.1=0
                          __glibc=2.31=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /opt/miniconda3  (writable)
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /opt/miniconda3/pkgs
                          /home/eric/.conda/pkgs
       envs directories : /opt/miniconda3/envs
                          /home/eric/.conda/envs
               platform : linux-64
             user-agent : conda/4.9.0 requests/2.24.0 CPython/3.7.9 Linux/5.8.15-201.fc32.x86_64 fedora/32 glibc/2.31
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

ericpre avatar Oct 20 '20 11:10 ericpre

I'm seeing the same issue on Windows:

(base) PS C:\> conda update -n dev --all
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Miniconda3\envs\dev


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    libblas-3.9.0              |3_hd5c7e75_netlib         196 KB  conda-forge
    libcblas-3.9.0             |3_hd5c7e75_netlib          95 KB  conda-forge
    liblapack-3.9.0            |3_hd5c7e75_netlib         2.7 MB  conda-forge
    liblapacke-3.9.0           |3_hd5c7e75_netlib         735 KB  conda-forge
    ------------------------------------------------------------
                                           Total:         3.7 MB

The following packages will be UPDATED:

  libblas                                      3.8.0-21_mkl --> 3.9.0-3_hd5c7e75_netlib
  libcblas                                     3.8.0-21_mkl --> 3.9.0-3_hd5c7e75_netlib
  liblapack                                    3.8.0-21_mkl --> 3.9.0-3_hd5c7e75_netlib
  liblapacke                                   3.8.0-21_mkl --> 3.9.0-3_hd5c7e75_netlib


Proceed ([y]/n)?

and I have:

(base) PS C:\> more C:\Miniconda3\envs\dev\conda-meta\pinned
libblas=*=*mkl
Details
(base) PS C:\> conda info

     active environment : base
    active env location : C:\Miniconda3
            shell level : 1
       user config file : C:\Users\kmilos\.condarc
 populated config files : C:\Users\kmilos\.condarc
          conda version : 4.9.2
    conda-build version : not installed
         python version : 3.7.9.final.0
       virtual packages : __cuda=9.1=0
                          __win=0=0
                          __archspec=1=x86_64
       base environment : C:\Miniconda3  (writable)
           channel URLs : https://conda.anaconda.org/conda-forge/win-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/win-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/win-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-64
                          https://repo.anaconda.com/pkgs/msys2/noarch
          package cache : C:\Miniconda3\pkgs
                          C:\Users\kmilos\.conda\pkgs
                          C:\Users\kmilos\AppData\Local\conda\conda\pkgs
       envs directories : C:\Miniconda3\envs
                          C:\Users\kmilos\.conda\envs
                          C:\Users\kmilos\AppData\Local\conda\conda\envs
               platform : win-64
             user-agent : conda/4.9.2 requests/2.24.0 CPython/3.7.9 Windows/10 Windows/10.0.19041
          administrator : False
             netrc file : None
           offline mode : False

Strangely enough, it does work on my second Windows machine with

(base) PS C:\> more C:\Users\kmilos\.conda\envs\dev\conda-meta\pinned
libblas=*=*mkl
Details
(base) PS C:\> conda info

     active environment : base
    active env location : C:\ProgramData\Anaconda3
            shell level : 1
       user config file : C:\Users\kmilos\.condarc
 populated config files : C:\Users\kmilos\.condarc
          conda version : 4.9.2
    conda-build version : not installed
         python version : 3.7.4.final.0
       virtual packages : __win=0=0
                          __archspec=1=x86_64
       base environment : C:\ProgramData\Anaconda3  (read only)
           channel URLs : https://conda.anaconda.org/conda-forge/win-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/win-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/win-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-64
                          https://repo.anaconda.com/pkgs/msys2/noarch
          package cache : C:\ProgramData\Anaconda3\pkgs
                          C:\Users\kmilos\.conda\pkgs
                          C:\Users\kmilos\AppData\Local\conda\conda\pkgs
       envs directories : C:\Users\kmilos\.conda\envs
                          C:\ProgramData\Anaconda3\envs
                          C:\Users\kmilos\AppData\Local\conda\conda\envs
               platform : win-64
             user-agent : conda/4.9.2 requests/2.22.0 CPython/3.7.4 Windows/10 Windows/10.0.17763
          administrator : False
             netrc file : None
           offline mode : False

The differences being that the dev environment is installed in the user directory instead of a system-wide one, and the base environment (and Windows version) are slightly older...

kmilos avatar Nov 27 '20 09:11 kmilos

@viniciusdc Outreachy Applicant here. Please is anyone already assigned to work on this? I'm interested in working on this documentation. Kindly confirm and assign task to me.

Martins-O-U avatar Apr 15 '21 14:04 Martins-O-U

This issue is not a documentation issue.

beckermr avatar Apr 15 '21 14:04 beckermr

Okay @beckermr

Martins-O-U avatar Apr 15 '21 15:04 Martins-O-U

@beckermr If this isn't a doc issue, can you please remove the doc tag?

kathatherine avatar Mar 16 '22 18:03 kathatherine

Done!

beckermr avatar Mar 16 '22 18:03 beckermr