2016-06-29 20 views
16

Die Verwendung einer alternativen BLAS für R hat mehrere Vorteile, siehe z.B. https://cran.r-project.org/web/packages/gcbd/vignettes/gcbd.pdf.Verknüpfen von Intels Math Kernel Library (MKL) mit R unter Windows

Microsoft R Open https://mran.revolutionanalytics.com/documents/rro/installation/#sysreq verwendet Intels MKL anstelle des Standard-Referenz-BLAS, um Berechnungen zu beschleunigen.

Meine Frage ist:

Was würden die genauen Schritte sein Intels MKL Bibliothek zu verknüpfen ** manuell bis R ** s neueste Version unter Windows (https://cran.r-project.org/bin/windows/base/)?


UPDATE 20-07-2016: Hier ist sehr detaillierte Beschreibung, wie man ein OpenBLAS-basierte Rblas.dll für 64-Bit-R für Windows für R ≥ 3.3.0 bauen: http://www.avrahamadler.com/r-tips/build-openblas-for-windows-r64/

+0

Ich glaube [Sie müssen R kompilieren R] (http://www.r-bloggers.com/compiling-r-3-0-1-with-mkl-support/) (alt, sorry), was kann werde kompliziert; Offensichtlich sind die kompilierten Versionen ziemlich sorgfältig optimiert. Es gibt jedoch manchmal Ausnahmen; Unter OS X können Sie es ohne Neukompilierung auf das integrierte Accelerate BLAS umstellen. Ich glaube, RcppArmadillo hat auch weitere BLAS/LAPACK-Fähigkeiten; vielleicht, wenn du Glück hast, kommt Dirk vorbei und gibt dir einen besseren Rat als ich. – alistaire

+0

Ja, ich habe viele Blogposts darüber gefunden, wie man das für Linux macht, einige davon, wie man das für Mac macht, aber in Bezug auf Windows scheint jeder den manuellen Weg zu vermeiden, sich für die offensichtliche Lösung zu entscheiden/Microsoft R Öffnen. – majom

+0

Von dem, was ich gelesen habe (vielleicht inkorrekt), liegt das daran, dass es ein Problem ist, _well_ zu kompilieren, ohne in der Nähe von R-Core-Kenntnissen zu sein. Wirklich, solange du nicht regelmäßig mit großen Matrizen hantierst, macht MKL vielleicht keinen großen Unterschied für dich, also mag der Punkt strittig sein. – alistaire

Antwort

2

Ich habe festgestellt, dass unter Windows, wenn im Verzeichnis Programme/R/R-3.3.3/bin/x64 überschreiben Dateien Rblass.dll und Rlapack.dll mit ihrer Intel MKL counterpart, dass Sie Multithread-Matrix-Operationen haben. Für mich ergibt dies normalerweise eine ca. 10-fache Steigerung der Geschwindigkeit von Matrixoperationen, also lohnt es sich! Lass es mich wissen, wenn das für dich funktioniert!

+0

Habe gerade gemerkt, dass dieser Link zu einem Dropbox-Account ist. Sieht skizzenhaft aus. @ Tom, kannst du etwas auf der Intel Website verlinken? – kennyB

+0

Problem ist, dass sie es nur zusammen mit dem gesamten Microsoft Open R verpackt. Aber ich fand, dass alles, was benötigt wurde, um Intel MKL arbeiten, diese Dateien waren, weshalb ich diese separat auf Dropbox legte ... Habe nicht konnte leider einen guten Download-Ort ausfindig machen ... –