Intel MKL vs. AMD Math Core-Bibliothek
Hat jemand Erfahrung in der Programmierung für die sowohl die Intel Math Kernel Library und die AMD Mathe-Kern-Bibliothek? Ich Baue mir einen personal-computer für high-performance-statistische Berechnungen und bin debattieren über die Komponenten zu kaufen. Eine Beschwerde von AMD Mathe-Kern-Bibliothek ist, dass es kostenlos ist, aber ich bin in der Wissenschaft, so die MKL ist nicht so teuer. Aber ich wäre daran interessiert zu hören, Gedanken auf:
- Bietet eine bessere API?
- Die eine bessere Leistung bietet, die im Durchschnitt pro US-dollar, einschließlich der Lizenzierung und hardware-Kosten.
- Ist die AMCL-GPU ein Faktor den ich beachten soll?
InformationsquelleAutor der Frage Tristan | 2009-10-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Intel MKL und ACML ähnliche APIs aber MKL hat ein reicher Satz der unterstützten Funktionen, einschließlich BLAS (und CBLAS)/LAPACK/FFT/Vektor-und Statistische Mathematik/Sparse-direkte und iterative Löser/Sparse BLAS, und so weiter. Intel MKL ist auch optimiert für Intel-und AMD-Prozessoren und hat eine aktive user-forum können Sie sich wenden, um Hilfe oder Anleitung. Eine unabhängige Bewertung der beiden Bibliotheken ist hier veröffentlicht: (http://www.advancedclustering.com/company-blog/high-performance-linpack-on-xeon-5500-v-opteron-2400.html)
• Shane Corder, Advanced Clustering (auch getragen von HPCWire: Benchmark Herausforderung: Nehalem Vs. Istanbul): “In unserem jüngsten Test-und durch die Reale Welt erleben, haben wir herausgefunden, dass der Intel-Compiler und die Intel Math Kernel Library (MKL) in der Regel bieten die beste Leistung. Statt nur die sich auf Intel ' s toolkit, wir haben versucht, verschiedene Compiler, einschließlich: Intel, GNU-Compiler, und Portland Group. Wir testeten auch verschiedene lineare algebra Bibliotheken, einschließlich: MKL, AMD Core Math Library (ACML) und libGOTO von der University of Texas. Alle Tests zeigten, dass wir erreichen konnten, die höchste Leistung, wenn sowohl die Intel-Compiler und Intel-Math-Library-auch auf das AMD-system--so wurden diese verwendet als Grundlage für unsere benchmarks." [Benchmark-Tests zeigten, dass 4-Kern-Nehalem X5550 2.66 GHz mit 74,0 GFs vs. Istanbul 2435 2.6 GHz bei 99.4 GFs; Istanbul nur 34% schneller trotz 50% mehr Kerne]
Hoffe, das hilft.
InformationsquelleAutor der Antwort Shane Story
In der Tat, es gibt zwei Versionen von LAPACK-Routinen in ACML. Diejenigen, die ohne endenden Unterstrich (_) sind die C-version von Routinen, die, wie Victor sagte, nicht erforderlich Arbeitsbereich arrays und Sie können geben Sie einfach die Werte statt Referenzen auf die Parameter. Diejenigen, die mit dem Unterstrich sind jedoch nur Vanille-Fortran-Routinen. Ein "dumpbin /exports" auf libacml_dll.dll und du wirst sehen.
InformationsquelleAutor der Antwort FrankRoc
Habe ich verwendet AMCL für seine BLAS/LAPACK-Routinen, so wird es wohl nicht die Antwort auf Ihre Frage, aber ich hoffe, es ist nützlich für jemanden. Im Vergleich zu vanilla BLAS/LAPACK, Ihre Leistung war ein Faktor 2-3 besser in meinem speziellen Anwendungsfall. Ich benutzte es für dichten nonsymmetric komplexen Matrizen, die sowohl für lineare löst und eigensystem Berechnungen. Sie sollten wissen, dass die Funktionsdeklarationen sind nicht identisch mit dem vanilla-Routinen. Dies erforderte eine beträchtliche Menge von Präprozessor-Makros, mir zu erlauben, frei zwischen den beiden wechseln. Insbesondere alle LAPACK-Routinen in AMCL nicht Arbeit erfordern arrays. Dies ist eine große Erleichterung, wenn AMCL ist die einzige Bibliothek, die Sie verwenden.
InformationsquelleAutor der Antwort Victor Liu