MKL Tweak auf Ryzen Systemen verbessert die Leistung drastisch

@Ned Flanders Ich kann heute Abend mal schauen wenn ich die Zeit finde. Die Frage ist ob Numpy fuer pip mit MKL erstellt wird, oder ob es gegen was anderes kompiliert ist. Numpy braucht auf Windows zumindest keine Dependencies, Scipy so weit ich weiss schon.
 
  • Gefällt mir
Reaktionen: Ned Flanders
ZeroStrat schrieb:
Den Python Kram habe ich noch nicht zum laufen gekriegt.

Wo liegt das Problem?
1. 64 bit Anaconda Python Distribution installieren
https://www.anaconda.com/distribution/
Beim Setup:
Add Anconda to my Path Environment... nicht setzten.

2. https://github.com/IntelPython/ibench
(über git clone, oder zip herunterladen und entpacken)
In der Anaconda Prompt in den entsprechenden Pfad wechseln

3. Paket installieren: python setup.py install

4. Benchmark starten (einmal mit und einmal ohne Umgebungvariable):
python -m ibench run -b all --size large --runs 3 --file all.out
 
  • Gefällt mir
Reaktionen: Ned Flanders und ZeroStrat
Ich habe leider keine AMD CPU aber ihr könntet mit der phoronix test suite das ganze etwas automatisieren und bekommt auch hübsche Graphen zum besseren Vergleich.

https://openbenchmarking.org/tests/pts

Es gibt auch automatische tests für numpy etc.
 
  • Gefällt mir
Reaktionen: cm87 und Ned Flanders
Also es wäre echt super wenn wir da noch ein paar Daten zusammenbekommen. Ich fänds wichtig, dass in den entsprechenden Communities da mal etwas awareness einsetzt.

Von daher, happy benching! Bislang versteift sich das ganze imo viel zu sehr auf Matlab. Bei denen hab ich das Gefühl die Botschaft müsste langsam ankommen. Zumindest suggeriert mir das die letzte email vom Support.
 
  • Gefällt mir
Reaktionen: Gerry18 und Cobra975
nille02 schrieb:
Ich habe leider keine AMD CPU aber ihr könntet mit der phoronix test suite das ganze etwas automatisieren und bekommt auch hübsche Graphen zum besseren Vergleich.

https://openbenchmarking.org/tests/pts

Es gibt auch automatische tests für numpy etc.
PTS installiert numpy mit den BLAS Bibliotheken ( http://www.netlib.org/blas/ ) und nicht mit Intels MKL. Tendenziell wird da also wenig Differenz zwischen Intel und AMD CPUs zu befürchten sein. Wenn da doch größere Unterschied auftreten, wäre es nett, wenn jemand in höflichem Ton entsprechende Bugrepots einreicht (aber bitte auch prüfen, ob ihr eine aktuelle Version der Bibliotheken nutzt! Keiner Mag Bugreports von gammlig alten Versionen!).

Ansonsten Spoiler, BLAS ist normalerweise langsamer als MKL
https://markus-beuckelmann.de/blog/boosting-numpy-blas.html
 
  • Gefällt mir
Reaktionen: nille02
Kann jemand das ganze auch mal mit der Umgebungsvariable
Code:
MKL_ENABLE_INSTRUCTIONS=AVX2
testen? Als weiter Optionsmöglichkeiten gibt es "AVX512", "AVX512_MIC", "AVX512_MIC_E1", "AVX512_E1", "AVX" und "SSE4_2"
 
  • Gefällt mir
Reaktionen: Cobra975
Hallo zusammen,

ich hab mir eben mal schnell die Matlab 2019b Trial gezogen und gebencht.
Allerdings ist mir bei mehreren Durchläufen aufgefallen, dass die Variation in den Ergebnissen recht groß ist. Daher bitte nur als Richtwert verwenden.

System: Intel i7-7820X@stock, DDR4-2666@stock, Win10Pro

bench_default_run.PNG

Code:
>> math_bench()
N = 10: SVD Chol QR 1000 mult Inv Pinv

TIME IN SECONDS (SIZE: 10):
SVD: 0.003847
Cholesky: 0.000510
QR: 0.000747
1000 matrix products: 0.002107
Inverse: 0.001980
Pseudo-inverse: 0.041066

N = 100: SVD Chol QR 100 mult Inv Pinv

TIME IN SECONDS (SIZE: 100):
SVD: 0.003211
Cholesky: 0.000814
QR: 0.005636
100 matrix products: 0.004612
Inverse: 0.003186
Pseudo-inverse: 0.007254

N = 1000: SVD Chol QR 100 mult Inv Pinv

TIME IN SECONDS (SIZE: 1000):
SVD: 0.111810
Cholesky: 0.003590
QR: 0.012891
100 matrix products: 0.806500
Inverse: 0.023767
Pseudo-inverse: 0.205521

N = 2500: SVD Chol QR 100 mult Inv Pinv

TIME IN SECONDS (SIZE: 2500):
SVD: 2.111542
Cholesky: 0.036291
QR: 0.123717
100 matrix products: 6.929777
Inverse: 0.162530
Pseudo-inverse: 2.688068

N = 5000: SVD Chol QR 100 mult Inv Pinv

TIME IN SECONDS (SIZE: 5000):
SVD: 18.597375
Cholesky: 0.110309
QR: 0.495365
100 matrix products: 42.104103
Inverse: 0.878328
Pseudo-inverse: 22.078066

N = 7500: SVD Chol QR 10 mult Inv Pinv

TIME IN SECONDS (SIZE: 7500):
SVD: 66.652884
Cholesky: 0.311615
QR: 2.139348
10 matrix products: 12.276602
Inverse: 2.796178
Pseudo-inverse: 79.186387

N = 10000: SVD Chol QR 10 mult Inv Pinv

TIME IN SECONDS (SIZE: 10000):
SVD: 162.529484
Cholesky: 0.754147
QR: 4.515179
10 matrix products: 28.487874
Inverse: 6.510606
Pseudo-inverse: 191.062504

bench_mkl_cpu_type_5.PNG

Code:
>> math_bench()
N = 10: SVD Chol QR 1000 mult Inv Pinv

TIME IN SECONDS (SIZE: 10):
SVD: 0.000320
Cholesky: 0.000225
QR: 0.000529
1000 matrix products: 0.002789
Inverse: 0.000590
Pseudo-inverse: 0.021936

N = 100: SVD Chol QR 100 mult Inv Pinv

TIME IN SECONDS (SIZE: 100):
SVD: 0.001271
Cholesky: 0.000519
QR: 0.004143
100 matrix products: 0.005495
Inverse: 0.002240
Pseudo-inverse: 0.005694

N = 1000: SVD Chol QR 100 mult Inv Pinv

TIME IN SECONDS (SIZE: 1000):
SVD: 0.097213
Cholesky: 0.004043
QR: 0.015613
100 matrix products: 1.250890
Inverse: 0.029029
Pseudo-inverse: 0.195711

N = 2500: SVD Chol QR 100 mult Inv Pinv

TIME IN SECONDS (SIZE: 2500):
SVD: 2.131034
Cholesky: 0.041470
QR: 0.138349
100 matrix products: 9.454582
Inverse: 0.182157
Pseudo-inverse: 2.560668

N = 5000: SVD Chol QR 100 mult Inv Pinv

TIME IN SECONDS (SIZE: 5000):
SVD: 16.883122
Cholesky: 0.152337
QR: 0.681992
100 matrix products: 68.065960
Inverse: 1.151417
Pseudo-inverse: 22.993396

N = 7500: SVD Chol QR 10 mult Inv Pinv

TIME IN SECONDS (SIZE: 7500):
SVD: 61.572184
Cholesky: 0.437667
QR: 2.789303
10 matrix products: 23.561964
Inverse: 4.310872
Pseudo-inverse: 80.470070

N = 10000: SVD Chol QR 10 mult Inv Pinv

TIME IN SECONDS (SIZE: 10000):
SVD: 150.471176
Cholesky: 1.092211
QR: 5.606097
10 matrix products: 52.887210
Inverse: 8.703549
Pseudo-inverse: 191.271593

bench_default_run_W10_maxperf.PNG

Code:
>> math_bench()
N = 10: SVD Chol QR 1000 mult Inv Pinv

TIME IN SECONDS (SIZE: 10):
SVD: 0.004300
Cholesky: 0.000480
QR: 0.000673
1000 matrix products: 0.001780
Inverse: 0.001366
Pseudo-inverse: 0.015900

N = 100: SVD Chol QR 100 mult Inv Pinv

TIME IN SECONDS (SIZE: 100):
SVD: 0.001756
Cholesky: 0.000496
QR: 0.004129
100 matrix products: 0.002547
Inverse: 0.002099
Pseudo-inverse: 0.005021

N = 1000: SVD Chol QR 100 mult Inv Pinv

TIME IN SECONDS (SIZE: 1000):
SVD: 0.090803
Cholesky: 0.003177
QR: 0.012441
100 matrix products: 0.781746
Inverse: 0.020934
Pseudo-inverse: 0.189340

N = 2500: SVD Chol QR 100 mult Inv Pinv

TIME IN SECONDS (SIZE: 2500):
SVD: 2.094390
Cholesky: 0.021441
QR: 0.116165
100 matrix products: 7.525041
Inverse: 0.158634
Pseudo-inverse: 2.428415

N = 5000: SVD Chol QR 100 mult Inv Pinv

TIME IN SECONDS (SIZE: 5000):
SVD: 16.100780
Cholesky: 0.105376
QR: 0.483261
100 matrix products: 39.596468
Inverse: 0.864709
Pseudo-inverse: 23.937543

N = 7500: SVD Chol QR 10 mult Inv Pinv

TIME IN SECONDS (SIZE: 7500):
SVD: 66.989417
Cholesky: 0.304951
QR: 1.851941
10 matrix products: 13.038536
Inverse: 2.875638
Pseudo-inverse: 81.182796

N = 10000: SVD Chol QR 10 mult Inv Pinv

TIME IN SECONDS (SIZE: 10000):
SVD: 162.964184
Cholesky: 0.824615
QR: 4.334415
10 matrix products: 29.716746
Inverse: 6.432471
Pseudo-inverse: 194.156672

Der Xeon E5-1650v3 müsste von den Specs her eigentlich schwächer sein als der 7820X, ich schieb hier das Problem mal auf den geringeren L3 Cache oder W10 :D
Könnte der adaptive CPU Takt den Matlab Benchmark beeinflussen? JA, tut er. Bei kürzeren (ms-Dimension) Lasten ist der Energiesparplan "Höchstleistung" wesentlich aggressiver. Dabei stellt sich mir nun die Frage, wie das ganze ohne dynamischem CPU Takt aussieht.

Unixoides hab ich leider grad nicht installiert zum benchen, wäre aber interessant, da ich bezweifle, dass man mit W10 sauber wiederholbare Ergebnisse bekommt.

@nille02 Meine CPU hätte zwei AVX512 units, die müssten standardmäßig doch aktiv sein. Oder muss man die MKL erst dazu zwingen?

Gruß,
süchtla
 
Zuletzt bearbeitet: (Benchmark mit W10 "Höchstleistung" hinzugefügt.)
  • Gefällt mir
Reaktionen: Ned Flanders und yummycandy
Hallo Zusammen,
ich hab mal versucht unter Linux (Manjaro und Ubuntu) den Python Benchmark nachzustellen.
Gibt noch einige Probleme, unter Manjaro (Kernel 5.3) bekomme ich nur OpenBLAS zum laufen, kann damit aber die OpenBLAS Ergebnisse aus der Quelle von @Ned Flanders nachstellen.
Bei Ubuntu wird es Interessant. Wenn ich mittels Anaconda Intel MKL + Numpy installiere erreiche ich die gleichen Werte wie unter Manjaro mit OpenBLAS. Wenn ich OpenBLAS installiere braucht es ungefähr 5 Sekunden länger. Könnte daran liegen, dass ich Ubuntu nur auf einem USB Stick installiert habe und Manjaro auf der SSD. Werde morgen oder am Wochenende mal MKL auf Manjaro zum Laufen zu bringen.

Zusammenfassung:
Manjaro (OpenBLAS): 40 Sekunden
Ubuntu 19.10 (OpenBlas): 45 Sekunden
Ubuntu (MKL): 40 Sekunden

CPU: AMD Ryzen R7 3700X @ Stock

Falls Ihr Ideen habt woran dieses merkwürdige Verhalten es liegen könnte, immer her damit.

EDIT: In Numpy 1.17 ist wohl der Fix schon drinnen daher die guten Werte. Für genaueres hier schauen.

Schönen Abend,
Christoph

Screenshots:
openblas.png

ubuntu_openblas.png

ubuntu_mkl.png
 
Zuletzt bearbeitet: (Begründung für Merkwürdiges Verhalten gefunden.)
  • Gefällt mir
Reaktionen: süchtla, ZeroStrat, cm87 und eine weitere Person
Das nenne ich mal einen Einstand im Forum! Super!

War der MKL Run mit oder ohne debug fix?
 
Ich hatte leider noch keine Zeit für weitere Benchmarks. Das neue Release von CapFrameX steht vor der Tür. ^^

Mich würde mal interessieren, ob das neue Anno schneller wird durch den Tweak. @Taxxor vielleicht hast du Bock, das mal zu testen.
 
Guten Morgen,

ich denke ich habe meinen Fehler gefunden. Ich habe gestern beim MKL Run Numpy 1.17.0 verwendet und da ist der Fix wohl schon drinnen (falls das hier auch irgendwo steht, dann war ich einfach zu dumm es zu lesen).
Habe heute mal ein paar neue Tests gemacht und die mit den Alten verglichen. Wenn ich MKL und Numpy 16.4.0 mittels Conda installiere ist wohl kein Fix dabei und es dauert fast 160 Sekunden.

openblas_vs_mkl.png

Kurz zur Erklärung:
"pip" steht für ein python3-venv bei den mittels pip Numpy installiert wurde. Des weiteren war hier OpenBLAS 0.3.7 aktiv, daher nicht ganz vergleichbar mit den anderen.
Bei "conda" wurde conda (2019.10) Umgebung mit OpenBLAS Version 0.3.6 bzw. MKL Version 2019.05 verwendet.

Die Unterschiede zwischen mit dem pip OpenBLAS und dem conda OpenBLAS sind denke ich auf die unterschiedlichen Versionen von OpenBLAS zurück zu führen.

Der große Performanceboost kommt also durch den Bugfix in Numpy 1.17.0.

Christoph
 
  • Gefällt mir
Reaktionen: Ned Flanders und süchtla
@Ned Flanders : Betriff das Problem eigentlich auch Origin ?

Im NumPy 1.17 changelog ist nichts zu lesen von einem Patch für das Problem, aber scheinbar nutzt NumPy bei vorhandensein einer openBLAS installation default mäßig diese Library.
Die ist bereits schlau genug verschiedene CPU-Typen korrekt zu erkennen, unter anderem Ryzen (seit 2018).
 
Iscaran schrieb:
@Ned Flanders : Betriff das Problem eigentlich auch Origin ?

Kann ich leider nichts zu sagen.

aber scheinbar nutzt NumPy bei vorhandensein einer openBLAS installation default mäßig diese Library.

Das ist ja schonmal positiv! Der Matlab support sagt übrigens, dass die OpenBLAS mit Matlab nicht stabil laufen würde, was der Grund sei, das sie sie nicht einbinden würden. Ist halt etwas erbärmlich, dass sich keiner da berufen fühlt das mal zu debuggen.... bislang zumindest sich nicht berufen gefühlt hat. Die heißt ja nicht umsonst "Open".

@ChrisStonehenge

Was hast du denn für eine Hardware? EDIT: Tomaten auf den Augen.

Ok, dann muss in 1.17 tatsächlich irgendwie der Debug Mode fix der MKL eingeflossen sein. Die wussten offensichtlich schon vorher wie es geht.
 
Zuletzt bearbeitet:
Ned Flanders schrieb:
[...]
Ok, dann muss in 1.17 tatsächlich irgendwie der Debug Mode fix der MKL eingeflossen sein. Die wussten offensichtlich schon vorher wie es geht.
Wieso spekulierst du, wenn du bei OpenSource Programmen selber nachschauen könntest?
In den Releasenotes zu numpy wurde von der .16 zu .17 die Präferenz der Mathebibliotheken geändert. https://github.com/numpy/numpy/releases und da unter der Überschrift User-defined LAPACK detection order. Kein Wort dazu, dasss man mal "auf gut Glück" irgendwelche Debugmodi in zentralen Bibliotheken setzt.

Genauso kann man sich den gesamten Quellcode ja bei conda und numpy mittels "git clone" auf den Rechner ziehen und mittels grep -ri 'MKL_DEBUG_CPU_TYPE' * schauen, ob die entsprechenden Umgebungsvariablen gesetzt werden. Wenig verwunderlich findet sich genau keine einzige Zeile Code.

Dein "Fix" ist und bleibt Gefrickel, welches in ernsthaften Projekten so schnell nicht eingebunden werden wird (und wenn würde ich mir echt sorgen machen).

Und der Vollständigkeithalber, nicht dass irgendwelche Funktionsaufrufe Debugmodi aktivieren:
Code:
~/Downloads/numpy$ grep -ri 'mkl_'
doc/changelog/1.12.0-changelog.rst:* `#7723 <https://github.com/numpy/numpy/pull/7723>`__: Change mkl_info.dir_env_var from MKL to MKLROOT
doc/neps/nep-0031-uarray.rst:    import pyfftw # Or mkl_fft
doc/neps/nep-0031-uarray.rst:    with np.set_backend(pyfftw) # Or mkl_fft, or numpy
doc/neps/nep-0031-uarray.rst:* ``mkl_random``: https://github.com/IntelPython/mkl_random
doc/neps/nep-0031-uarray.rst:* ``mkl_fft``: https://github.com/IntelPython/mkl_fft
doc/source/release/1.11.1-notes.rst:- #7731 MAINT: Change mkl_info.dir_env_var from MKL to MKLROOT.
numpy/core/src/common/npy_cblas.h: * mkl_cblas.h and also typedefs the CBLAS_XXX enums.
numpy/distutils/system_info.py:          'mkl': mkl_info,
numpy/distutils/system_info.py:          'lapack_mkl': lapack_mkl_info,      # use lapack_opt instead
numpy/distutils/system_info.py:          'blas_mkl': blas_mkl_info,          # use blas_opt instead
numpy/distutils/system_info.py:class mkl_info(system_info):
numpy/distutils/system_info.py:    _lib_mkl = ['mkl_rt']
numpy/distutils/system_info.py:    def get_mkl_rootdir(self):
numpy/distutils/system_info.py:        intel_mkl_dirs = []
numpy/distutils/system_info.py:                    intel_mkl_dirs.append(d)
numpy/distutils/system_info.py:        mklroot = self.get_mkl_rootdir()
numpy/distutils/system_info.py:        opt = self.get_option_single('mkl_libs', 'libraries')
numpy/distutils/system_info.py:        mkl_libs = self.get_libs(opt, self._lib_mkl)
numpy/distutils/system_info.py:        info = self.check_libs2(lib_dirs, mkl_libs)
numpy/distutils/system_info.py:                    define_macros=[('SCIPY_MKL_H', None),
numpy/distutils/system_info.py:class lapack_mkl_info(mkl_info):
numpy/distutils/system_info.py:class blas_mkl_info(mkl_info):
site.cfg.example:# libraries = mkl_rt
site.cfg.example:# libraries = mkl_rt
site.cfg.example:# libraries = mkl_rt

Und das Selbe für Conda:
Code:
docs/source/user-guide/troubleshooting.rst:    Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.1-py27_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.1-py27_1.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.1-py35_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.1-py35_1.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.1-py36_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.1-py36_1.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.2-py27_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.2-py35_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.2-py36_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.3-py27_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.3-py35_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.3-py36_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.4-py27_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.4-py35_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.4-py36_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.5-py27_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.5-py35_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_fft-1.0.5-py36_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:    "mkl_random-1.0.1-py27_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_random",
test-data/repodata/conda-forge_linux-64.json:    "mkl_random-1.0.1-py35_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_random",
test-data/repodata/conda-forge_linux-64.json:    "mkl_random-1.0.1-py36_0.tar.bz2": {
test-data/repodata/conda-forge_linux-64.json:      "name": "mkl_random",
test-data/repodata/conda-forge_linux-64.json:        "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:        "mkl_fft",
test-data/repodata/conda-forge_linux-64.json:        "mkl_fft",
test-data/repodata/free_linux-64.json:    "caffe-1.0.0rc3-np111py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "caffe-1.0.0rc3-np111py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "caffe-1.0.0rc3-np111py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "caffe-1.0.0rc5-np112py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "caffe-1.0.0rc5-np112py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "caffe-1.0.0rc5-np112py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "caffe-gpu-1.0.0rc5-np112py27_nomkl_3.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py27_nomkl_3",
test-data/repodata/free_linux-64.json:    "caffe-gpu-1.0.0rc5-np112py35_nomkl_3.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py35_nomkl_3",
test-data/repodata/free_linux-64.json:    "caffe-gpu-1.0.0rc5-np112py36_nomkl_3.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py36_nomkl_3",
test-data/repodata/free_linux-64.json:    "libtorch-0.1.12-nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "nomkl_0",
test-data/repodata/free_linux-64.json:    "libtorch-gpu-0.1.12-nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.4.6-np110py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "numexpr-2.4.6-np110py34_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py34_nomkl_1",
test-data/repodata/free_linux-64.json:    "numexpr-2.4.6-np110py35_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py35_nomkl_1",
test-data/repodata/free_linux-64.json:    "numexpr-2.5-np110py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.5-np110py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.5-np110py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.1-np110py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.1-np110py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.1-np110py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.1-np111py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.1-np111py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.1-np111py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.2-np110py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.2-np110py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.2-np110py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.2-np110py34_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py34_nomkl_1",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.2-np110py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.2-np110py35_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py35_nomkl_1",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.2-np111py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.2-np111py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.2-np111py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.2-np111py34_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_1",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.2-np111py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.5.2-np111py35_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_1",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.0-np110py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.0-np110py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.0-np110py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.0-np111py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.0-np111py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.0-np111py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.1-np111py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.1-np111py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.1-np111py27_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_2",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.1-np111py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.1-np111py34_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_1",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.1-np111py34_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_2",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.1-np111py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.1-np111py35_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_1",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.1-np111py35_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_2",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.1-np111py36_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py36_nomkl_1",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.1-np111py36_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py36_nomkl_2",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.1-np112py27_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py27_nomkl_2",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.1-np112py35_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py35_nomkl_2",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.1-np112py36_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py36_nomkl_2",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.2-np111py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.2-np111py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.2-np111py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.2-np112py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.2-np112py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.2-np112py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.2-np113py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.2-np113py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numexpr-2.6.2-np113py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.10.4-py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.10.4-py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "numpy-1.10.4-py27_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py27_nomkl_2",
test-data/repodata/free_linux-64.json:    "numpy-1.10.4-py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.10.4-py34_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py34_nomkl_1",
test-data/repodata/free_linux-64.json:    "numpy-1.10.4-py34_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py34_nomkl_2",
test-data/repodata/free_linux-64.json:    "numpy-1.10.4-py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.10.4-py35_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py35_nomkl_1",
test-data/repodata/free_linux-64.json:    "numpy-1.10.4-py35_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py35_nomkl_2",
test-data/repodata/free_linux-64.json:    "numpy-1.11.0-py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.11.0-py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "numpy-1.11.0-py27_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py27_nomkl_2",
test-data/repodata/free_linux-64.json:    "numpy-1.11.0-py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.11.0-py34_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py34_nomkl_1",
test-data/repodata/free_linux-64.json:    "numpy-1.11.0-py34_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py34_nomkl_2",
test-data/repodata/free_linux-64.json:    "numpy-1.11.0-py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.11.0-py35_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py35_nomkl_1",
test-data/repodata/free_linux-64.json:    "numpy-1.11.0-py35_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py35_nomkl_2",
test-data/repodata/free_linux-64.json:    "numpy-1.11.1-py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.11.1-py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.11.1-py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.11.2-py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.11.2-py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.11.2-py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.11.2-py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.11.3-py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.11.3-py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.11.3-py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.11.3-py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.12.0-py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.12.0-py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.12.0-py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.12.1-py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.12.1-py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.12.1-py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.13.0-py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.13.0-py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.13.0-py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.13.1-py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.13.1-py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.13.1-py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "numpy-1.9.3-py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "numpy-1.9.3-py27_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py27_nomkl_2",
test-data/repodata/free_linux-64.json:    "numpy-1.9.3-py34_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py34_nomkl_1",
test-data/repodata/free_linux-64.json:    "numpy-1.9.3-py34_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py34_nomkl_2",
test-data/repodata/free_linux-64.json:    "numpy-1.9.3-py35_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py35_nomkl_1",
test-data/repodata/free_linux-64.json:    "numpy-1.9.3-py35_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py35_nomkl_2",
test-data/repodata/free_linux-64.json:    "pymc-2.3.6-np111py27_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_2",
test-data/repodata/free_linux-64.json:    "pymc-2.3.6-np111py34_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_2",
test-data/repodata/free_linux-64.json:    "pymc-2.3.6-np111py35_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_2",
test-data/repodata/free_linux-64.json:    "pymc-2.3.6-np111py36_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py36_nomkl_2",
test-data/repodata/free_linux-64.json:    "pytorch-0.1.12-py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "pytorch-0.1.12-py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "pytorch-0.1.12-py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "pytorch-gpu-0.1.12-py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "pytorch-gpu-0.1.12-py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "pytorch-gpu-0.1.12-py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17-np110py27_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py27_nomkl_2",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17-np110py34_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py34_nomkl_2",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17-np110py35_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py35_nomkl_2",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np110py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np110py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np110py27_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py27_nomkl_2",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np110py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np110py34_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py34_nomkl_1",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np110py34_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py34_nomkl_2",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np110py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np110py35_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py35_nomkl_1",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np110py35_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py35_nomkl_2",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np111py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np111py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np111py27_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_2",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np111py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np111py34_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_1",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np111py34_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_2",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np111py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np111py35_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_1",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.17.1-np111py35_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_2",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18-np111py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18-np111py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18-np111py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.1-np111py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.1-np111py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.1-np111py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.1-np111py34_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_1",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.1-np111py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.1-np111py35_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_1",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.1-np111py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.1-np111py36_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py36_nomkl_1",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.1-np112py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.1-np112py35_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py35_nomkl_1",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.1-np112py36_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py36_nomkl_1",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.1-np113py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.1-np113py35_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py35_nomkl_1",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.1-np113py36_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py36_nomkl_1",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.2-np112py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.2-np112py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.2-np112py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.2-np113py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.2-np113py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.18.2-np113py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.19.0-np112py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.19.0-np112py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.19.0-np112py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.19.0-np113py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.19.0-np113py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scikit-learn-0.19.0-np113py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.16.1-np110py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "scipy-0.16.1-np110py34_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py34_nomkl_1",
test-data/repodata/free_linux-64.json:    "scipy-0.16.1-np110py35_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py35_nomkl_1",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np110py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np110py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np110py27_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py27_nomkl_2",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np110py27_nomkl_4.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py27_nomkl_4",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np110py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np110py34_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py34_nomkl_1",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np110py34_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py34_nomkl_2",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np110py34_nomkl_4.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py34_nomkl_4",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np110py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np110py35_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py35_nomkl_1",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np110py35_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py35_nomkl_2",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np110py35_nomkl_4.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py35_nomkl_4",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np111py27_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_2",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np111py27_nomkl_4.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_4",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np111py34_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_2",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np111py34_nomkl_4.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_4",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np111py35_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_2",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np111py35_nomkl_4.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_4",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np19py27_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np19py27_nomkl_2",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np19py34_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np19py34_nomkl_2",
test-data/repodata/free_linux-64.json:    "scipy-0.17.0-np19py35_nomkl_2.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np19py35_nomkl_2",
test-data/repodata/free_linux-64.json:    "scipy-0.17.1-np110py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.17.1-np110py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "scipy-0.17.1-np110py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.17.1-np110py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np110py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.17.1-np111py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.17.1-np111py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "scipy-0.17.1-np111py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.17.1-np111py34_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_1",
test-data/repodata/free_linux-64.json:    "scipy-0.17.1-np111py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.17.1-np111py35_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_1",
test-data/repodata/free_linux-64.json:    "scipy-0.18.0-np111py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.18.0-np111py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.18.0-np111py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.18.1-np111py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.18.1-np111py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "scipy-0.18.1-np111py34_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.18.1-np111py34_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py34_nomkl_1",
test-data/repodata/free_linux-64.json:    "scipy-0.18.1-np111py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.18.1-np111py35_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_1",
test-data/repodata/free_linux-64.json:    "scipy-0.18.1-np111py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.18.1-np111py36_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py36_nomkl_1",
test-data/repodata/free_linux-64.json:    "scipy-0.18.1-np112py27_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py27_nomkl_1",
test-data/repodata/free_linux-64.json:    "scipy-0.18.1-np112py35_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py35_nomkl_1",
test-data/repodata/free_linux-64.json:    "scipy-0.18.1-np112py36_nomkl_1.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py36_nomkl_1",
test-data/repodata/free_linux-64.json:    "scipy-0.19.0-np111py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.19.0-np111py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.19.0-np111py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np111py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.19.0-np112py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.19.0-np112py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.19.0-np112py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.19.0-np113py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.19.0-np113py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.19.0-np113py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.19.1-np112py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.19.1-np112py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.19.1-np112py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np112py36_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.19.1-np113py27_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py27_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.19.1-np113py35_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py35_nomkl_0",
test-data/repodata/free_linux-64.json:    "scipy-0.19.1-np113py36_nomkl_0.tar.bz2": {
test-data/repodata/free_linux-64.json:      "build": "np113py36_nomkl_0",
test-data/repodata/main_linux-64.json:        "mkl_random 1.0.1 py27h629b387_0",
test-data/repodata/main_linux-64.json:        "mkl_fft 1.0.1 py27h3010b51_0",
test-data/repodata/main_linux-64.json:        "mkl_random 1.0.1 py35h629b387_0",
test-data/repodata/main_linux-64.json:        "mkl_fft 1.0.1 py35h3010b51_0",
test-data/repodata/main_linux-64.json:        "mkl_random 1.0.1 py36h629b387_0",
test-data/repodata/main_linux-64.json:        "mkl_fft 1.0.1 py36h3010b51_0",
test-data/repodata/main_linux-64.json:    "libmxnet-1.2.1-gpu_mkl_h3d71631_1.tar.bz2": {
test-data/repodata/main_linux-64.json:      "build": "gpu_mkl_h3d71631_1",
test-data/repodata/main_linux-64.json:    "libmxnet-1.2.1-gpu_mkl_he87abd8_1.tar.bz2": {
test-data/repodata/main_linux-64.json:      "build": "gpu_mkl_he87abd8_1",
test-data/repodata/main_linux-64.json:    "libmxnet-1.2.1-mkl_hcbe7347_1.tar.bz2": {
test-data/repodata/main_linux-64.json:      "build": "mkl_hcbe7347_1",
test-data/repodata/main_linux-64.json:    "mkl_fft-1.0.1-py27h3010b51_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_fft",
test-data/repodata/main_linux-64.json:    "mkl_fft-1.0.1-py35h3010b51_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_fft",
test-data/repodata/main_linux-64.json:    "mkl_fft-1.0.1-py36h3010b51_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_fft",
test-data/repodata/main_linux-64.json:    "mkl_fft-1.0.2-py27h651fb7a_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_fft",
test-data/repodata/main_linux-64.json:    "mkl_fft-1.0.2-py36h651fb7a_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_fft",
test-data/repodata/main_linux-64.json:    "mkl_fft-1.0.2-py37h651fb7a_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_fft",
test-data/repodata/main_linux-64.json:    "mkl_fft-1.0.4-py27h4414c95_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_fft",
test-data/repodata/main_linux-64.json:    "mkl_fft-1.0.4-py27h4414c95_1.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_fft",
test-data/repodata/main_linux-64.json:    "mkl_fft-1.0.4-py35h4414c95_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_fft",
test-data/repodata/main_linux-64.json:    "mkl_fft-1.0.4-py35h4414c95_1.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_fft",
test-data/repodata/main_linux-64.json:    "mkl_fft-1.0.4-py36h4414c95_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_fft",
test-data/repodata/main_linux-64.json:    "mkl_fft-1.0.4-py36h4414c95_1.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_fft",
test-data/repodata/main_linux-64.json:    "mkl_fft-1.0.4-py37h4414c95_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_fft",
test-data/repodata/main_linux-64.json:    "mkl_fft-1.0.4-py37h4414c95_1.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_fft",
test-data/repodata/main_linux-64.json:    "mkl_random-1.0.1-py27h4414c95_1.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_random",
test-data/repodata/main_linux-64.json:    "mkl_random-1.0.1-py27h629b387_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_random",
test-data/repodata/main_linux-64.json:    "mkl_random-1.0.1-py35h629b387_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_random",
test-data/repodata/main_linux-64.json:    "mkl_random-1.0.1-py36h4414c95_1.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_random",
test-data/repodata/main_linux-64.json:    "mkl_random-1.0.1-py36h629b387_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_random",
test-data/repodata/main_linux-64.json:    "mkl_random-1.0.1-py37h4414c95_1.tar.bz2": {
test-data/repodata/main_linux-64.json:      "name": "mkl_random",
test-data/repodata/main_linux-64.json:    "mxnet-1.0.0-py27_nomkl_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "build": "py27_nomkl_0",
test-data/repodata/main_linux-64.json:    "mxnet-1.0.0-py35_nomkl_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "build": "py35_nomkl_0",
test-data/repodata/main_linux-64.json:    "mxnet-1.0.0-py36_nomkl_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "build": "py36_nomkl_0",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft >=1.0.4",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft >=1.0.4",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft >=1.0.4",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:        "mkl_fft >=1.0.4",
test-data/repodata/main_linux-64.json:        "mkl_random",
test-data/repodata/main_linux-64.json:    "tensorflow-1.9.0-mkl_py27h0cb61a4_1.tar.bz2": {
test-data/repodata/main_linux-64.json:      "build": "mkl_py27h0cb61a4_1",
test-data/repodata/main_linux-64.json:        "tensorflow-base ==1.9.0 mkl_py27h2ca6a6a_0"
test-data/repodata/main_linux-64.json:    "tensorflow-1.9.0-mkl_py35h5be851a_1.tar.bz2": {
test-data/repodata/main_linux-64.json:      "build": "mkl_py35h5be851a_1",
test-data/repodata/main_linux-64.json:        "tensorflow-base ==1.9.0 mkl_py35h2ca6a6a_0"
test-data/repodata/main_linux-64.json:    "tensorflow-1.9.0-mkl_py36h0cb61a4_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "build": "mkl_py36h0cb61a4_0",
test-data/repodata/main_linux-64.json:        "tensorflow-base ==1.9.0 mkl_py27h2ca6a6a_0"
test-data/repodata/main_linux-64.json:    "tensorflow-1.9.0-mkl_py36h5be851a_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "build": "mkl_py36h5be851a_0",
test-data/repodata/main_linux-64.json:        "tensorflow-base ==1.9.0 mkl_py35h2ca6a6a_0"
test-data/repodata/main_linux-64.json:    "tensorflow-1.9.0-mkl_py36h6d6ce78_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "build": "mkl_py36h6d6ce78_0",
test-data/repodata/main_linux-64.json:        "tensorflow-base ==1.9.0 mkl_py36h2ca6a6a_0"
test-data/repodata/main_linux-64.json:    "tensorflow-1.9.0-mkl_py36h6d6ce78_1.tar.bz2": {
test-data/repodata/main_linux-64.json:      "build": "mkl_py36h6d6ce78_1",
test-data/repodata/main_linux-64.json:        "tensorflow-base ==1.9.0 mkl_py36h2ca6a6a_0"
test-data/repodata/main_linux-64.json:    "tensorflow-base-1.9.0-mkl_py27h2ca6a6a_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "build": "mkl_py27h2ca6a6a_0",
test-data/repodata/main_linux-64.json:    "tensorflow-base-1.9.0-mkl_py35h2ca6a6a_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "build": "mkl_py35h2ca6a6a_0",
test-data/repodata/main_linux-64.json:    "tensorflow-base-1.9.0-mkl_py36h2ca6a6a_0.tar.bz2": {
test-data/repodata/main_linux-64.json:      "build": "mkl_py36h2ca6a6a_0",
test-data/repodata/main_win-64.json:        "mkl_fft 1.0.1 py27hc997a72_0",
test-data/repodata/main_win-64.json:        "mkl_fft 1.0.1 py35h452e1ab_0",
test-data/repodata/main_win-64.json:        "mkl_random 1.0.1 py35h9258bd6_0",
test-data/repodata/main_win-64.json:        "mkl_fft 1.0.1 py36h452e1ab_0",
test-data/repodata/main_win-64.json:        "mkl_random 1.0.1 py36h9258bd6_0",
test-data/repodata/main_win-64.json:    "libmxnet-1.2.1-gpu_mkl_hc8d6281_1.tar.bz2": {
test-data/repodata/main_win-64.json:      "build": "gpu_mkl_hc8d6281_1",
test-data/repodata/main_win-64.json:    "libmxnet-1.2.1-gpu_mkl_hdf6cc24_1.tar.bz2": {
test-data/repodata/main_win-64.json:      "build": "gpu_mkl_hdf6cc24_1",
test-data/repodata/main_win-64.json:    "libmxnet-1.2.1-mkl_h0aaf724_1.tar.bz2": {
test-data/repodata/main_win-64.json:      "build": "mkl_h0aaf724_1",
test-data/repodata/main_win-64.json:    "mkl_fft-1.0.1-py27hc997a72_0.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_fft",
test-data/repodata/main_win-64.json:    "mkl_fft-1.0.1-py35h452e1ab_0.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_fft",
test-data/repodata/main_win-64.json:    "mkl_fft-1.0.1-py36h452e1ab_0.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_fft",
test-data/repodata/main_win-64.json:    "mkl_fft-1.0.2-py27h3f2f999_0.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_fft",
test-data/repodata/main_win-64.json:    "mkl_fft-1.0.2-py36hb217b18_0.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_fft",
test-data/repodata/main_win-64.json:    "mkl_fft-1.0.2-py37hb217b18_0.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_fft",
test-data/repodata/main_win-64.json:    "mkl_fft-1.0.4-py27h31cbb53_0.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_fft",
test-data/repodata/main_win-64.json:    "mkl_fft-1.0.4-py27h31cbb53_1.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_fft",
test-data/repodata/main_win-64.json:    "mkl_fft-1.0.4-py35h1e22a9b_0.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_fft",
test-data/repodata/main_win-64.json:    "mkl_fft-1.0.4-py35h1e22a9b_1.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_fft",
test-data/repodata/main_win-64.json:    "mkl_fft-1.0.4-py36h1e22a9b_0.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_fft",
test-data/repodata/main_win-64.json:    "mkl_fft-1.0.4-py36h1e22a9b_1.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_fft",
test-data/repodata/main_win-64.json:    "mkl_fft-1.0.4-py37h1e22a9b_0.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_fft",
test-data/repodata/main_win-64.json:    "mkl_fft-1.0.4-py37h1e22a9b_1.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_fft",
test-data/repodata/main_win-64.json:    "mkl_random-1.0.1-py35h9258bd6_0.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_random",
test-data/repodata/main_win-64.json:    "mkl_random-1.0.1-py36h77b88f5_1.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_random",
test-data/repodata/main_win-64.json:    "mkl_random-1.0.1-py36h9258bd6_0.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_random",
test-data/repodata/main_win-64.json:    "mkl_random-1.0.1-py37h77b88f5_1.tar.bz2": {
test-data/repodata/main_win-64.json:      "name": "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft >=1.0.4",
test-data/repodata/main_win-64.json:        "mkl_fft >=1.0.4",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft >=1.0.4",
test-data/repodata/main_win-64.json:        "mkl_random",
test-data/repodata/main_win-64.json:        "mkl_fft >=1.0.4",
test-data/repodata/main_win-64.json:        "mkl_random",
test_data/env_metadata/py36-osx-whl/lib/python3.6/site-packages/phonenumbers-8.9.11.dist-info/RECORD:phonenumbers/geodata/data10.py,sha256=ery1x1wRznPQmkl_nMM3xfMaL1euMsvO4vU2iDHe3K4,327895
tests/core/test_solve.py:                'channel-2::numpy-1.13.1-py27_nomkl_0',
tests/data/build-index4-json.py:        'mkl_fft',
tests/data/build-index4-json.py:        'mkl_random',
tests/data/index2.json:  "numpy-1.10.4-py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py27_nomkl_0",
tests/data/index2.json:  "numpy-1.10.4-py27_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "py27_nomkl_1",
tests/data/index2.json:  "numpy-1.10.4-py27_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "py27_nomkl_2",
tests/data/index2.json:  "numpy-1.10.4-py34_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py34_nomkl_0",
tests/data/index2.json:  "numpy-1.10.4-py34_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "py34_nomkl_1",
tests/data/index2.json:  "numpy-1.10.4-py34_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "py34_nomkl_2",
tests/data/index2.json:  "numpy-1.10.4-py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py35_nomkl_0",
tests/data/index2.json:  "numpy-1.10.4-py35_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "py35_nomkl_1",
tests/data/index2.json:  "numpy-1.10.4-py35_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "py35_nomkl_2",
tests/data/index2.json:  "numpy-1.11.0-py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py27_nomkl_0",
tests/data/index2.json:  "numpy-1.11.0-py27_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "py27_nomkl_1",
tests/data/index2.json:  "numpy-1.11.0-py27_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "py27_nomkl_2",
tests/data/index2.json:  "numpy-1.11.0-py34_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py34_nomkl_0",
tests/data/index2.json:  "numpy-1.11.0-py34_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "py34_nomkl_1",
tests/data/index2.json:  "numpy-1.11.0-py34_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "py34_nomkl_2",
tests/data/index2.json:  "numpy-1.11.0-py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py35_nomkl_0",
tests/data/index2.json:  "numpy-1.11.0-py35_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "py35_nomkl_1",
tests/data/index2.json:  "numpy-1.11.0-py35_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "py35_nomkl_2",
tests/data/index2.json:  "numpy-1.11.1-py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py27_nomkl_0",
tests/data/index2.json:  "numpy-1.11.1-py34_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py34_nomkl_0",
tests/data/index2.json:  "numpy-1.11.1-py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py35_nomkl_0",
tests/data/index2.json:  "numpy-1.11.2-py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py27_nomkl_0",
tests/data/index2.json:  "numpy-1.11.2-py34_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py34_nomkl_0",
tests/data/index2.json:  "numpy-1.11.2-py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py35_nomkl_0",
tests/data/index2.json:  "numpy-1.11.2-py36_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py36_nomkl_0",
tests/data/index2.json:  "numpy-1.11.3-py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py27_nomkl_0",
tests/data/index2.json:  "numpy-1.11.3-py34_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py34_nomkl_0",
tests/data/index2.json:  "numpy-1.11.3-py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py35_nomkl_0",
tests/data/index2.json:  "numpy-1.11.3-py36_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py36_nomkl_0",
tests/data/index2.json:  "numpy-1.12.0-py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py27_nomkl_0",
tests/data/index2.json:  "numpy-1.12.0-py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py35_nomkl_0",
tests/data/index2.json:  "numpy-1.12.0-py36_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py36_nomkl_0",
tests/data/index2.json:  "numpy-1.12.1-py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py27_nomkl_0",
tests/data/index2.json:  "numpy-1.12.1-py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py35_nomkl_0",
tests/data/index2.json:  "numpy-1.12.1-py36_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py36_nomkl_0",
tests/data/index2.json:  "numpy-1.13.0-py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py27_nomkl_0",
tests/data/index2.json:  "numpy-1.13.0-py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py35_nomkl_0",
tests/data/index2.json:  "numpy-1.13.0-py36_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py36_nomkl_0",
tests/data/index2.json:  "numpy-1.13.1-py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py27_nomkl_0",
tests/data/index2.json:  "numpy-1.13.1-py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py35_nomkl_0",
tests/data/index2.json:  "numpy-1.13.1-py36_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "py36_nomkl_0",
tests/data/index2.json:  "numpy-1.9.3-py27_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "py27_nomkl_1",
tests/data/index2.json:  "numpy-1.9.3-py27_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "py27_nomkl_2",
tests/data/index2.json:  "numpy-1.9.3-py34_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "py34_nomkl_1",
tests/data/index2.json:  "numpy-1.9.3-py34_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "py34_nomkl_2",
tests/data/index2.json:  "numpy-1.9.3-py35_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "py35_nomkl_1",
tests/data/index2.json:  "numpy-1.9.3-py35_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "py35_nomkl_2",
tests/data/index2.json:  "scipy-0.16.1-np110py27_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "np110py27_nomkl_1",
tests/data/index2.json:  "scipy-0.16.1-np110py34_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "np110py34_nomkl_1",
tests/data/index2.json:  "scipy-0.16.1-np110py35_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "np110py35_nomkl_1",
tests/data/index2.json:  "scipy-0.17.0-np110py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np110py27_nomkl_0",
tests/data/index2.json:  "scipy-0.17.0-np110py27_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "np110py27_nomkl_1",
tests/data/index2.json:  "scipy-0.17.0-np110py27_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "np110py27_nomkl_2",
tests/data/index2.json:  "scipy-0.17.0-np110py27_nomkl_4.tar.bz2": {
tests/data/index2.json:    "build": "np110py27_nomkl_4",
tests/data/index2.json:  "scipy-0.17.0-np110py34_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np110py34_nomkl_0",
tests/data/index2.json:  "scipy-0.17.0-np110py34_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "np110py34_nomkl_1",
tests/data/index2.json:  "scipy-0.17.0-np110py34_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "np110py34_nomkl_2",
tests/data/index2.json:  "scipy-0.17.0-np110py34_nomkl_4.tar.bz2": {
tests/data/index2.json:    "build": "np110py34_nomkl_4",
tests/data/index2.json:  "scipy-0.17.0-np110py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np110py35_nomkl_0",
tests/data/index2.json:  "scipy-0.17.0-np110py35_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "np110py35_nomkl_1",
tests/data/index2.json:  "scipy-0.17.0-np110py35_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "np110py35_nomkl_2",
tests/data/index2.json:  "scipy-0.17.0-np110py35_nomkl_4.tar.bz2": {
tests/data/index2.json:    "build": "np110py35_nomkl_4",
tests/data/index2.json:  "scipy-0.17.0-np111py27_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "np111py27_nomkl_2",
tests/data/index2.json:  "scipy-0.17.0-np111py27_nomkl_4.tar.bz2": {
tests/data/index2.json:    "build": "np111py27_nomkl_4",
tests/data/index2.json:  "scipy-0.17.0-np111py34_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "np111py34_nomkl_2",
tests/data/index2.json:  "scipy-0.17.0-np111py34_nomkl_4.tar.bz2": {
tests/data/index2.json:    "build": "np111py34_nomkl_4",
tests/data/index2.json:  "scipy-0.17.0-np111py35_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "np111py35_nomkl_2",
tests/data/index2.json:  "scipy-0.17.0-np111py35_nomkl_4.tar.bz2": {
tests/data/index2.json:    "build": "np111py35_nomkl_4",
tests/data/index2.json:  "scipy-0.17.0-np19py27_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "np19py27_nomkl_2",
tests/data/index2.json:  "scipy-0.17.0-np19py34_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "np19py34_nomkl_2",
tests/data/index2.json:  "scipy-0.17.0-np19py35_nomkl_2.tar.bz2": {
tests/data/index2.json:    "build": "np19py35_nomkl_2",
tests/data/index2.json:  "scipy-0.17.1-np110py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np110py27_nomkl_0",
tests/data/index2.json:  "scipy-0.17.1-np110py27_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "np110py27_nomkl_1",
tests/data/index2.json:  "scipy-0.17.1-np110py34_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np110py34_nomkl_0",
tests/data/index2.json:  "scipy-0.17.1-np110py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np110py35_nomkl_0",
tests/data/index2.json:  "scipy-0.17.1-np111py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np111py27_nomkl_0",
tests/data/index2.json:  "scipy-0.17.1-np111py27_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "np111py27_nomkl_1",
tests/data/index2.json:  "scipy-0.17.1-np111py34_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np111py34_nomkl_0",
tests/data/index2.json:  "scipy-0.17.1-np111py34_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "np111py34_nomkl_1",
tests/data/index2.json:  "scipy-0.17.1-np111py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np111py35_nomkl_0",
tests/data/index2.json:  "scipy-0.17.1-np111py35_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "np111py35_nomkl_1",
tests/data/index2.json:  "scipy-0.18.0-np111py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np111py27_nomkl_0",
tests/data/index2.json:  "scipy-0.18.0-np111py34_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np111py34_nomkl_0",
tests/data/index2.json:  "scipy-0.18.0-np111py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np111py35_nomkl_0",
tests/data/index2.json:  "scipy-0.18.1-np111py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np111py27_nomkl_0",
tests/data/index2.json:  "scipy-0.18.1-np111py27_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "np111py27_nomkl_1",
tests/data/index2.json:  "scipy-0.18.1-np111py34_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np111py34_nomkl_0",
tests/data/index2.json:  "scipy-0.18.1-np111py34_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "np111py34_nomkl_1",
tests/data/index2.json:  "scipy-0.18.1-np111py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np111py35_nomkl_0",
tests/data/index2.json:  "scipy-0.18.1-np111py35_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "np111py35_nomkl_1",
tests/data/index2.json:  "scipy-0.18.1-np111py36_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np111py36_nomkl_0",
tests/data/index2.json:  "scipy-0.18.1-np111py36_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "np111py36_nomkl_1",
tests/data/index2.json:  "scipy-0.18.1-np112py27_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "np112py27_nomkl_1",
tests/data/index2.json:  "scipy-0.18.1-np112py35_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "np112py35_nomkl_1",
tests/data/index2.json:  "scipy-0.18.1-np112py36_nomkl_1.tar.bz2": {
tests/data/index2.json:    "build": "np112py36_nomkl_1",
tests/data/index2.json:  "scipy-0.19.0-np111py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np111py27_nomkl_0",
tests/data/index2.json:  "scipy-0.19.0-np111py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np111py35_nomkl_0",
tests/data/index2.json:  "scipy-0.19.0-np111py36_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np111py36_nomkl_0",
tests/data/index2.json:  "scipy-0.19.0-np112py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np112py27_nomkl_0",
tests/data/index2.json:  "scipy-0.19.0-np112py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np112py35_nomkl_0",
tests/data/index2.json:  "scipy-0.19.0-np112py36_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np112py36_nomkl_0",
tests/data/index2.json:  "scipy-0.19.0-np113py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np113py27_nomkl_0",
tests/data/index2.json:  "scipy-0.19.0-np113py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np113py35_nomkl_0",
tests/data/index2.json:  "scipy-0.19.0-np113py36_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np113py36_nomkl_0",
tests/data/index2.json:  "scipy-0.19.1-np112py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np112py27_nomkl_0",
tests/data/index2.json:  "scipy-0.19.1-np112py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np112py35_nomkl_0",
tests/data/index2.json:  "scipy-0.19.1-np112py36_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np112py36_nomkl_0",
tests/data/index2.json:  "scipy-0.19.1-np113py27_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np113py27_nomkl_0",
tests/data/index2.json:  "scipy-0.19.1-np113py35_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np113py35_nomkl_0",
tests/data/index2.json:  "scipy-0.19.1-np113py36_nomkl_0.tar.bz2": {
tests/data/index2.json:    "build": "np113py36_nomkl_0",
tests/data/index4.json:  "mkl_fft-1.0.1-py27h3010b51_0.tar.bz2": {
tests/data/index4.json:    "name": "mkl_fft",
tests/data/index4.json:  "mkl_fft-1.0.1-py35h3010b51_0.tar.bz2": {
tests/data/index4.json:    "name": "mkl_fft",
tests/data/index4.json:  "mkl_fft-1.0.1-py36h3010b51_0.tar.bz2": {
tests/data/index4.json:    "name": "mkl_fft",
tests/data/index4.json:  "mkl_fft-1.0.2-py27h651fb7a_0.tar.bz2": {
tests/data/index4.json:    "name": "mkl_fft",
tests/data/index4.json:  "mkl_fft-1.0.2-py36h651fb7a_0.tar.bz2": {
tests/data/index4.json:    "name": "mkl_fft",
tests/data/index4.json:  "mkl_fft-1.0.2-py37h651fb7a_0.tar.bz2": {
tests/data/index4.json:    "name": "mkl_fft",
tests/data/index4.json:  "mkl_fft-1.0.4-py27h4414c95_0.tar.bz2": {
tests/data/index4.json:    "name": "mkl_fft",
tests/data/index4.json:  "mkl_fft-1.0.4-py27h4414c95_1.tar.bz2": {
tests/data/index4.json:    "name": "mkl_fft",
tests/data/index4.json:  "mkl_fft-1.0.4-py35h4414c95_0.tar.bz2": {
tests/data/index4.json:    "name": "mkl_fft",
tests/data/index4.json:  "mkl_fft-1.0.4-py35h4414c95_1.tar.bz2": {
tests/data/index4.json:    "name": "mkl_fft",
tests/data/index4.json:  "mkl_fft-1.0.4-py36h4414c95_0.tar.bz2": {
tests/data/index4.json:    "name": "mkl_fft",
tests/data/index4.json:  "mkl_fft-1.0.4-py36h4414c95_1.tar.bz2": {
tests/data/index4.json:    "name": "mkl_fft",
tests/data/index4.json:  "mkl_fft-1.0.4-py37h4414c95_0.tar.bz2": {
tests/data/index4.json:    "name": "mkl_fft",
tests/data/index4.json:  "mkl_fft-1.0.4-py37h4414c95_1.tar.bz2": {
tests/data/index4.json:    "name": "mkl_fft",
tests/data/index4.json:  "mkl_random-1.0.1-py27h4414c95_1.tar.bz2": {
tests/data/index4.json:    "name": "mkl_random",
tests/data/index4.json:  "mkl_random-1.0.1-py27h629b387_0.tar.bz2": {
tests/data/index4.json:    "name": "mkl_random",
tests/data/index4.json:  "mkl_random-1.0.1-py35h629b387_0.tar.bz2": {
tests/data/index4.json:    "name": "mkl_random",
tests/data/index4.json:  "mkl_random-1.0.1-py36h4414c95_1.tar.bz2": {
tests/data/index4.json:    "name": "mkl_random",
tests/data/index4.json:  "mkl_random-1.0.1-py36h629b387_0.tar.bz2": {
tests/data/index4.json:    "name": "mkl_random",
tests/data/index4.json:  "mkl_random-1.0.1-py37h4414c95_1.tar.bz2": {
tests/data/index4.json:    "name": "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft >=1.0.4",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft >=1.0.4",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft >=1.0.4",
tests/data/index4.json:      "mkl_random",
tests/data/index4.json:      "mkl_fft >=1.0.4",
tests/data/index4.json:      "mkl_random",
tests/test_create.py:            assert not package_is_installed(prefix, "mkl_fft")
tests/test_create.py:            assert not package_is_installed(prefix, "mkl_random")
tests/test_resolve.py:            'channel-4::mkl_fft-1.0.1-py27h3010b51_0': 2,
tests/test_resolve.py:            'channel-4::mkl_fft-1.0.2-py27h651fb7a_0': 1,
tests/test_resolve.py:            'channel-4::mkl_fft-1.0.4-py27h4414c95_1',
tests/test_resolve.py:            'channel-4::mkl_random-1.0.1-py27h4414c95_1',

Total überraschend, aber es gibt da keine Calls auf die CPU detect Funktionen der MKL sondern schlicht Aufrufe für mathematische Berechnungen..


Edit: Ok mal ein bisschen in den Bugreports von numpy geschaut. Das Verhalten der Intel Compiler ist bekannt und wurde immer mal wieder etwas angepasst. Der wesentliche Teil ist aber, dass die Projektmaintainer den GCC nutzen und der ICC Support eher ein Zusatz ist, den Intel beisteuert.

Bugreport zu "numpy mit mkl auf AMD ist langsam"
Antwort: don't use mkl then...
https://github.com/numpy/numpy/issues/7287


Analog conda:
https://github.com/conda/conda/issues/2476
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Iscaran und süchtla
Piktogramm schrieb:
Wieso spekulierst du, wenn du bei OpenSource Programmen selber nachschauen könntest?

Weil ich es eben leider nicht kann ;-) Aber dankbarerweise kannst Du ja.

Herzlichen Dank!

Eine Idee warum Christoph hier eine schnelle MKL auf 3700x gemessen hat? (Und falls du sie schon geliefert hast, in Worten die auch ich verstehe?) Sorry, das ich Deine Nerven so strapaziere, Pikto!
 
Würde es meine Nerven all zu sehr strapazieren würde ich nix dazu schreiben ;). Solche Spekulationen sollten ohne Beleg nur einfach nicht stehen bleiben, sowas verfängt im kollektiven Gedächtnis zu gern als Fakt und erschwert fachliche Diskussionen in Zukunft noch weiter..

Was Christophers Ergebnisse angeht. Da fehlt schlicht und ergreifend Dokumentation. Ich kenne weder seinen genauen Testfall, noch die Binaries die er genau einsetzt, noch deren Config oder ob er nicht zufällig doch Umgebungsvariablen gesetzt hat.

Was numpy aus den conda Repos angeht:
https://anaconda.org/search?q=numpy
Die da gibt es schlicht und ergreifend ein breites Angebot. Ohne zu wissen welche er da genau installiert hat, lässt sich nicht viel sagen. Wobei Conda über die Repos selbst nur Buildrezepte auszuliefern scheint, was die Nachvollziehbarkeit welche Binaries in welcher Config auf dem Rechner landen nicht erleichtert.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Iscaran, Ned Flanders und süchtla
Auch ich bin schockiert über diese unsportliche Praxis seitens Intel. Da ich selbst für meine Forschung MATLAB intensiv nutze, habe ich das mal auf meinem R7 1700 mit R2018a getestet. Im relevanten test mehr als doppelt so schnell!

Proof:
MatlabR2018a_R7_1700.jpg
 
  • Gefällt mir
Reaktionen: yummycandy, Gerry18, Iscaran und eine weitere Person
max9123 schrieb:
4. Benchmark starten (einmal mit und einmal ohne Umgebungvariable):
python -m ibench run -b all --size large --runs 3 --file all.out
Habe ich mit Anaconda auf meinem 3700X mit 3200er RAM (4x DR) laufen lassen:

Ohne UmgebungsvariableMit Umgebungsvariable
JSON:
"runs": [
{
"name": "Cholesky",
"N": 40000,
"times": [
312.7861120700836,
325.241055727005,
312.97869658470154
],
"stats": {
"min": 312.7861120700836,
"max": 325.241055727005,
"median": 312.97869658470154
}
},
{
"name": "Det",
"N": 30000,
"times": [
252.02734422683716,
251.32250809669495,
252.09236454963684
],
"stats": {
"min": 251.32250809669495,
"max": 252.09236454963684,
"median": 252.02734422683716
}
},
{
"name": "Dot",
"N": 10000,
"times": [
27.484155416488647,
27.60962224006653,
27.447406768798828
],
"stats": {
"min": 27.447406768798828,
"max": 27.60962224006653,
"median": 27.484155416488647
}
},
{
"name": "Fft",
"N": 1000000,
"times": [
17.785860300064087,
17.668143272399902,
17.693296909332275
],
"stats": {
"min": 17.668143272399902,
"max": 17.785860300064087,
"median": 17.693296909332275
}
},
{
"name": "Inv",
"N": 25000,
"times": [
545.9822714328766,
544.952463388443,
547.3969066143036
],
"stats": {
"min": 544.952463388443,
"max": 547.3969066143036,
"median": 545.9822714328766
}
},
{
"name": "Lu",
"N": 20000,
"times": [
78.53741717338562,
78.94861078262329,
78.2567286491394
],
"stats": {
"min": 78.2567286491394,
"max": 78.94861078262329,
"median": 78.53741717338562
}
},
{
"name": "Qr",
"N": 10000,
"times": [
21.56595253944397,
21.43562912940979,
21.585537433624268
],
"stats": {
"min": 21.43562912940979,
"max": 21.585537433624268,
"median": 21.56595253944397
}
},
{
"name": "Eig",
"N": 10000,
"times": [
309.6745915412903,
307.8222131729126,
305.6935715675354
],
"stats": {
"min": 305.6935715675354,
"max": 309.6745915412903,
"median": 307.8222131729126
}
},
{
"name": "Svd",
"N": 10000,
"times": [
442.44687271118164,
447.16282320022583,
443.97608828544617
],
"stats": {
"min": 442.44687271118164,
"max": 447.16282320022583,
"median": 443.97608828544617
}
},
{
"name": "Blacksch",
"N": 200000000,
"times": [
17.356972217559814,
17.92170524597168,
17.7839937210083
],
"stats": {
"min": 17.356972217559814,
"max": 17.92170524597168,
"median": 17.7839937210083
}
},
{
"name": "Rng",
"N": 20000,
"times": [
8.287790775299072,
7.982049942016602,
7.85445237159729
],
"stats": {
"min": 7.85445237159729,
"max": 8.287790775299072,
"median": 7.982049942016602
}
},
{
"name": "Lregression",
"N": 1000000,
"times": [
3.118133306503296,
2.977503776550293,
2.924771547317505
],
"stats": {
"min": 2.924771547317505,
"max": 3.118133306503296,
"median": 2.977503776550293
}
},
{
"name": "Lregressionfit",
"N": 1000000,
"times": [
0.19074273109436035,
0.21905517578125,
0.22232556343078613
],
"stats": {
"min": 0.19074273109436035,
"max": 0.22232556343078613,
"median": 0.21905517578125
}
},
{
"name": "Ridge",
"N": 1000000,
"times": [
2.282594680786133,
2.2203543186187744,
2.1834774017333984
],
"stats": {
"min": 2.1834774017333984,
"max": 2.282594680786133,
"median": 2.2203543186187744
}
},
{
"name": "Ridgefit",
"N": 1000000,
"times": [
0.23179125785827637,
0.21616005897521973,
0.23178720474243164
],
"stats": {
"min": 0.21616005897521973,
"max": 0.23179125785827637,
"median": 0.23178720474243164
}
},
{
"name": "Cosine",
"N": 50000,
"times": [
37.13621997833252,
38.626341819763184,
37.98071098327637
],
"stats": {
"min": 37.13621997833252,
"max": 38.626341819763184,
"median": 37.98071098327637
}
},
{
"name": "Corr",
"N": 50000,
"times": [
259.59326457977295,
255.26266074180603,
251.0330526828766
],
"stats": {
"min": 251.0330526828766,
"max": 259.59326457977295,
"median": 255.26266074180603
}
},
{
"name": "Svm",
"N": 5,
"times": [
91.1957278251648,
90.85336709022522,
90.93188571929932
],
"stats": {
"min": 90.85336709022522,
"max": 91.1957278251648,
"median": 90.93188571929932
}
},
{
"name": "Kmeans",
"N": 1000000,
"times": [
149.26480865478516,
160.29230260849,
148.4194197654724
],
"stats": {
"min": 148.4194197654724,
"max": 160.29230260849,
"median": 149.26480865478516
}
},
{
"name": "Kmeansfit",
"N": 1000000,
"times": [
156.67802906036377,
149.2815842628479,
158.28653931617737
],
"stats": {
"min": 149.2815842628479,
"max": 158.28653931617737,
"median": 156.67802906036377
}
}
]
JSON:
"runs": [
{
"name": "Cholesky",
"N": 40000,
"times": [
71.13355326652527,
69.20617485046387,
69.56240701675415
],
"stats": {
"min": 69.20617485046387,
"max": 71.13355326652527,
"median": 69.56240701675415
}
},
{
"name": "Det",
"N": 30000,
"times": [
69.88627481460571,
70.29279088973999,
69.07663202285767
],
"stats": {
"min": 69.07663202285767,
"max": 70.29279088973999,
"median": 69.88627481460571
}
},
{
"name": "Dot",
"N": 10000,
"times": [
7.5652313232421875,
7.775517225265503,
7.565949440002441
],
"stats": {
"min": 7.5652313232421875,
"max": 7.775517225265503,
"median": 7.565949440002441
}
},
{
"name": "Fft",
"N": 1000000,
"times": [
17.484225511550903,
17.375935554504395,
17.431838512420654
],
"stats": {
"min": 17.375935554504395,
"max": 17.484225511550903,
"median": 17.431838512420654
}
},
{
"name": "Inv",
"N": 25000,
"times": [
152.4537262916565,
152.21091985702515,
152.67831707000732
],
"stats": {
"min": 152.21091985702515,
"max": 152.67831707000732,
"median": 152.4537262916565
}
},
{
"name": "Lu",
"N": 20000,
"times": [
25.19098734855652,
24.580952882766724,
24.7366783618927
],
"stats": {
"min": 24.580952882766724,
"max": 25.19098734855652,
"median": 24.7366783618927
}
},
{
"name": "Qr",
"N": 10000,
"times": [
7.308353900909424,
7.2077476978302,
7.167230129241943
],
"stats": {
"min": 7.167230129241943,
"max": 7.308353900909424,
"median": 7.2077476978302
}
},
{
"name": "Eig",
"N": 10000,
"times": [
197.61997509002686,
197.0347352027893,
196.8698332309723
],
"stats": {
"min": 196.8698332309723,
"max": 197.61997509002686,
"median": 197.0347352027893
}
},
{
"name": "Svd",
"N": 10000,
"times": [
111.05215644836426,
111.13122987747192,
110.57584190368652
],
"stats": {
"min": 110.57584190368652,
"max": 111.13122987747192,
"median": 111.05215644836426
}
},
{
"name": "Blacksch",
"N": 200000000,
"times": [
17.183847904205322,
17.522115468978882,
17.50200080871582
],
"stats": {
"min": 17.183847904205322,
"max": 17.522115468978882,
"median": 17.50200080871582
}
},
{
"name": "Rng",
"N": 20000,
"times": [
6.617548704147339,
6.421107769012451,
6.361804485321045
],
"stats": {
"min": 6.361804485321045,
"max": 6.617548704147339,
"median": 6.421107769012451
}
},
{
"name": "Lregression",
"N": 1000000,
"times": [
2.8273448944091797,
2.775509834289551,
2.7572221755981445
],
"stats": {
"min": 2.7572221755981445,
"max": 2.8273448944091797,
"median": 2.775509834289551
}
},
{
"name": "Lregressionfit",
"N": 1000000,
"times": [
0.1706087589263916,
0.18064665794372559,
0.17858028411865234
],
"stats": {
"min": 0.1706087589263916,
"max": 0.18064665794372559,
"median": 0.17858028411865234
}
},
{
"name": "Ridge",
"N": 1000000,
"times": [
0.6714601516723633,
0.684828519821167,
0.6627030372619629
],
"stats": {
"min": 0.6627030372619629,
"max": 0.684828519821167,
"median": 0.6714601516723633
}
},
{
"name": "Ridgefit",
"N": 1000000,
"times": [
0.17057347297668457,
0.17056846618652344,
0.16051959991455078
],
"stats": {
"min": 0.16051959991455078,
"max": 0.17057347297668457,
"median": 0.17056846618652344
}
},
{
"name": "Cosine",
"N": 50000,
"times": [
15.439894676208496,
16.207595825195312,
15.83236813545227
],
"stats": {
"min": 15.439894676208496,
"max": 16.207595825195312,
"median": 15.83236813545227
}
},
{
"name": "Corr",
"N": 50000,
"times": [
252.07127261161804,
251.38689398765564,
250.2930223941803
],
"stats": {
"min": 250.2930223941803,
"max": 252.07127261161804,
"median": 251.38689398765564
}
},
{
"name": "Svm",
"N": 5,
"times": [
92.71421003341675,
92.45013952255249,
92.80025887489319
],
"stats": {
"min": 92.45013952255249,
"max": 92.80025887489319,
"median": 92.71421003341675
}
},
{
"name": "Kmeans",
"N": 1000000,
"times": [
147.5031819343567,
151.62196040153503,
153.466454744339
],
"stats": {
"min": 147.5031819343567,
"max": 153.466454744339,
"median": 151.62196040153503
}
},
{
"name": "Kmeansfit",
"N": 1000000,
"times": [
144.7276303768158,
138.0120313167572,
153.17923665046692
],
"stats": {
"min": 138.0120313167572,
"max": 153.17923665046692,
"median": 144.7276303768158
}
}
]

Interessant wäre noch wie viel "Vorteil" viele Spiele durch Intel-Compiler(Tricks) haben und nicht durch die reine Leistung des Chips...
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: max9123, NDschambar, Gerry18 und 3 andere
Und noch eine Matlab bench-Serie von meinem Envy x360 13" mit Ryzen R5 2500U und 16GB RAM, je einmal im optimierten Akku-Setting (~1,6-1,7 GHz) und max performance (bis 2,8Ghz real).
Mit dem MKL-Setting ist das Laptop in den entsprechenden Bereichen wieder jeweils gut doppelt so schnell.
Im Batterieoptimierten Modus ist es damit ungefähr so schnell wie vor dem fix im Performancemodus!

Ohne MKL settingMit MKL setting
R5_2500U_before_MKL.png
R5_2500U_after_MKLfix.png
Mein Lappy:


HP ENVY x360 Convertible 13-ag0xxx.png
 

Anhänge

  • R5_2500U_before_MKL.png
    R5_2500U_before_MKL.png
    132,9 KB · Aufrufe: 398
Zuletzt bearbeitet: (diesmal mit dem richtigen screenshot)
  • Gefällt mir
Reaktionen: Iscaran, yummycandy und Ned Flanders
Zurück
Oben