Ich habe eine komplexe Daten der Größe 1024 * 128 * 20. Ich muss eine 1024-Punkt-FFT für 128 * 20 Blöcke finden. Ich plane, Intel MKL oder Intel IPP zu verwenden, um dasselbe zu finden. Ist es möglich, den Code mit Intel MKL oder IPP zu parallelisieren? Welcher, MKL oder IPP, wird in Bezug auf minimale Rechenzeit besser sein?FFT mit Intel MKL und Intel IPP
Antwort
Ich denke, sie haben die gleiche Leistung wie sie beide von Intel entwickelt werden. Ich würde MKL bevorzugen, da es mehr Benutzer hat.
Sowohl MKL als auch IPP haben parallele FFT-Unterstützung. Allerdings würde ich vorschlagen, dass Sie die Parallelität auf höherer Ebene nutzen, da Sie viele Blöcke von FFT zu tun haben. Für jede 1024-FFT könnten Sie die sequentielle Version in MKL verwenden.
Ich schlage vor, Sie lesen: https://software.intel.com/en-us/articles/mkl-ipp-choosing-an-fft/ es bietet einen guten Vergleich, die es leichter zu entscheiden, was besser für Ihren Anwendungsfall ist.
Sowohl IPP als auch MKL können diese Aufgabe übernehmen, aber die Rechenzeit kann von Ihrer Hardware abhängen, da sie unterschiedlich optimiert sind, z. IPP funktioniert nur mit der Kraft von 2 Größen-Arrays für FFT, während MKL vielseitiger sein kann (gemäß dem Artikel).
(Leider eine „alte“ Frage zum Anstoßen, aber eine Antwort wird nicht gewählt, und die Frage ist immer noch relevant)
Zu breit, wirklich. Sie können dies nicht für alle CPUs beantworten, und wenn Sie eine bestimmte CPU im Auge haben, würden Sie einfach den Test ausführen. – MSalters