Onednn: mkl-dnn conda package and Intel Python

Created on 31 May 2018  路  7Comments  路  Source: oneapi-src/oneDNN

While installing and looking through the mkl-dnn conda package I noticed a dependency on intelpython. Is this strictly necessary? Could this be removed?

We're advising to install mkl-dnn via conda as part of a PyTorch development setup and users might prefer to stick with conda's python distribution.

question

Most helpful comment

@cpuhrsch will do.
Anyway, current pytorch CPU performance wont be affected by diff of mkldnn 0.13 or 0.14. Since the 0.14 new features have not been integrated to pytorch yet (mostly LSTM/RNN optimization). I am working on this part now.

All 7 comments

Intelpython also pulls in various other packages it appears.

+ conda install -y -c intel mkl-dnn
Solving environment: done

## Package Plan ##

  environment location: /opt/conda

  added / updated specs:
    - mkl-dnn


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    yaml-0.1.6                 |         intel_10         100 KB  intel
    sqlite-3.23.1              |          intel_0         1.3 MB  intel
    enum34-1.1.6               |     py27_intel_5          56 KB  intel
    requests-2.18.4            |     py27_intel_0          90 KB  intel
    wheel-0.31.0               |     py27_intel_0          61 KB  intel
    futures-3.2.0              |     py27_intel_0          24 KB  intel
    six-1.10.0                 |     py27_intel_8          20 KB  intel
    bzip2-1.0.6                |         intel_14          96 KB  intel
    mkl-dnn-0.14               |          intel_1        31.9 MB  intel
    urllib3-1.22               |     py27_intel_0         152 KB  intel
    pycparser-2.18             |     py27_intel_0         167 KB  intel
    ruamel_yaml-0.11.14        |     py27_intel_1         403 KB  intel
    tk-8.6.4                   |         intel_26         1.1 MB  intel
    pyopenssl-17.5.0           |     py27_intel_0          76 KB  intel
    tcl-8.6.4                  |         intel_19         1.3 MB  intel
    openmp-2018.0.3            |          intel_0         701 KB  intel
    mkl_fft-1.0.2              |np114py27_intel_0         210 KB  intel
    zlib-1.2.11                |          intel_3          95 KB  intel
    libffi-3.2.1               |          intel_8          38 KB  intel
    xz-5.2.3                   |          intel_0         173 KB  intel
    python-2.7.14              |          intel_6        18.4 MB  intel
    cryptography-2.2.2         |     py27_intel_1        1018 KB  intel
    pip-9.0.1                  |     py27_intel_0         1.7 MB  intel
    chardet-3.0.4              |     py27_intel_0         173 KB  intel
    certifi-2018.1.18          |     py27_intel_0         143 KB  intel
    asn1crypto-0.24.0          |     py27_intel_1         174 KB  intel
    numpy-1.14.3               |     py27_intel_0         5.8 MB  intel
    mkl_random-1.0.1           |np114py27_intel_0         368 KB  intel
    pysocks-1.6.7              |     py27_intel_0          21 KB  intel
    ipaddress-1.0.22           |     py27_intel_0          31 KB  intel
    idna-2.6                   |     py27_intel_0         122 KB  intel
    intelpython-2018.0.3       |                0           4 KB  intel
    cffi-1.11.5                |     py27_intel_1         394 KB  intel
    pyyaml-3.12                |     py27_intel_2         369 KB  intel
    openssl-1.0.2o             |          intel_0         2.2 MB  intel
    icc_rt-2018.0.3            |          intel_0         9.9 MB  intel
    ------------------------------------------------------------
                                           Total:        78.7 MB

The following NEW packages will be INSTALLED:

    icc_rt:       2018.0.3-intel_0       intel [intel]
    intelpython:  2018.0.3-0             intel
    mkl-dnn:      0.14-intel_1           intel [intel]
    openmp:       2018.0.3-intel_0       intel
    tcl:          8.6.4-intel_19         intel [intel]

The following packages will be UPDATED:

    asn1crypto:   0.24.0-py27_0                --> 0.24.0-py27_intel_1     intel [intel]
    bzip2:        1.0.6-h14c3975_5             --> 1.0.6-intel_14          intel [intel]
    cffi:         1.11.5-py27h9745a5d_0        --> 1.11.5-py27_intel_1     intel [intel]
    cryptography: 2.2.2-py27h14c3975_0         --> 2.2.2-py27_intel_1      intel [intel]
    enum34:       1.1.6-py27h99a27e9_1         --> 1.1.6-py27_intel_5      intel [intel]
    futures:      3.2.0-py27h7b459c0_0         --> 3.2.0-py27_intel_0      intel [intel]
    ipaddress:    1.0.22-py27_0                --> 1.0.22-py27_intel_0     intel [intel]
    libffi:       3.2.1-hd88cf55_4             --> 3.2.1-intel_8           intel [intel]
    mkl_fft:      1.0.1-py27h3010b51_0         --> 1.0.2-np114py27_intel_0 intel [intel]
    mkl_random:   1.0.1-py27h629b387_0         --> 1.0.1-np114py27_intel_0 intel [intel]
    openssl:      1.0.2o-h20670df_0            --> 1.0.2o-intel_0          intel [intel]
    pyopenssl:    17.5.0-py27hcee3be0_0        --> 17.5.0-py27_intel_0     intel [intel]
    pyyaml:       3.12-py27h2d70dd7_1          --> 3.12-py27_intel_2       intel [intel]
    sqlite:       3.23.1-he433501_0            --> 3.23.1-intel_0          intel [intel]
    urllib3:      1.22-py27ha55213b_0          --> 1.22-py27_intel_0       intel [intel]
    wheel:        0.31.0-py27_0                --> 0.31.0-py27_intel_0     intel [intel]
    zlib:         1.2.11-ha838bed_2            --> 1.2.11-intel_3          intel [intel]

The following packages will be DOWNGRADED:

    certifi:      2018.4.16-py27_0             --> 2018.1.18-py27_intel_0  intel [intel]
    chardet:      3.0.4-py27hfa10054_1         --> 3.0.4-py27_intel_0      intel [intel]
    idna:         2.6-py27h5722d68_1           --> 2.6-py27_intel_0        intel [intel]
    numpy:        1.14.3-py27hcd700cb_1        --> 1.14.3-py27_intel_0     intel [intel]
    pip:          9.0.3-py27_0                 --> 9.0.1-py27_intel_0      intel [intel]
    pycparser:    2.18-py27hefa08c5_1          --> 2.18-py27_intel_0       intel [intel]
    pysocks:      1.6.8-py27_0                 --> 1.6.7-py27_intel_0      intel [intel]
    python:       2.7.14-h1571d57_31           --> 2.7.14-intel_6          intel [intel]
    requests:     2.18.4-py27hc5b0589_1        --> 2.18.4-py27_intel_0     intel [intel]
    ruamel_yaml:  0.15.35-py27h14c3975_1       --> 0.11.14-py27_intel_1    intel [intel]
    six:          1.11.0-py27h5f960f1_1        --> 1.10.0-py27_intel_8     intel [intel]
    tk:           8.6.7-hc745277_3             --> 8.6.4-intel_26          intel [intel]
    xz:           5.2.4-h14c3975_4             --> 5.2.3-intel_0           intel [intel]
    yaml:         0.1.7-had09818_2             --> 0.1.6-intel_10          intel [intel]

@cpuhrsch No, intel-python is not a must dependency. I also would like to install mkl-dnn without such unnecessary dependencies.
the mkl-dnn conda package is prepared by intel-python team. i have been talking to them to remove unnecessary dependencies.
I create a personal channel link before, this one is clean to use. won't install intel-python by default.

@mingfeima - Thank you!

Just as an aside after taking a quick look, does your conda package distribute 0.13? It'd be nice if you could update it to 0.14 if that's the case.

It'd still be nice to have the official package without dependencies on intelpython.

@cpuhrsch will do.
Anyway, current pytorch CPU performance wont be affected by diff of mkldnn 0.13 or 0.14. Since the 0.14 new features have not been integrated to pytorch yet (mostly LSTM/RNN optimization). I am working on this part now.

@cpuhrsch, @mingfeima, the 'intelpython' package, unlike it's name suggest, does not install Intel Python distribution. This is about 4 kilobyte package with a license file. You are right though that it should not be a dependency for Intel MKL-DNN.

Thank you @vpirogov!

The package was recently updated and all the dependencies are now cleaned up.

Was this page helpful?
0 / 5 - 0 ratings