INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

FFT auf mehrere Rechenkerne optimieren



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

02.02.2009, 20:32 (Dieser Beitrag wurde zuletzt bearbeitet: 02.02.2009 20:42 von jg.)
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
FFT auf mehrere Rechenkerne optimieren
' schrieb:Hallo @ all.

Ich habe ein großes zweidimensonales Array mit 4096x1000 Punkten. Daraus möchte ich die FFT berechnen. Die FFT wird aus den 4096 Punkten berechnet und das ganze dann 1000 mal. Ich habe mal ein einfaches Beispiel geschrieben. Dort erzeuge ich mir ein Testarray und lasse es von der FFT-Funktion berechnen. Wenn man auf den Parallelbutton klick, dann wird das Array in 2 gleich große Teile geteil und die FFT auf 2 CPU-Kernen berechnet, jedoch ist meien Version alles andere als super in der Performance. Ich messe die Zeit für die Berechnung der FFT mit 1 CPU-Kern und mit 2 CPU Kerne, die parallel arbeiten.

Mache ich etwas bei der Optimierung falsch?
Ich weiss nicht, sieht doch gut aus.

Ich messe auf meinen Athlon 64 5050e (also ein relativer aktueller Dual-Core Prozessor) bei "nicht-parallerer" Verarbeitung eine durchschnittliche Durchlaufzeit von etwas über 300 ms, bei paraller Verarbeitung dagegen knapp über 200 ms. Insgesamt also 50% schneller, das ist doch gut! Bedenke, dass du auch einiges an Zeit für das Aufteilen und vereinen der Arrays draufgeht.

Übrigens, wenn du die Abarbeitung eines Programmteils auf einem der Prozessoren erzwingen willst, dann musst du mit Timed-Sequences oder Timed-Loops arbeiten:

Könnte so aussehen:
   

Übrigens, dein 2. Bsp. zeigt bei mir keinen Performance-Gewinn.

Gruß, Jens

EDIT: Die Build-Array Fkt. scheint besser zu sein als die von dir verwendete Insert-Into-Array

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
FFT auf mehrere Rechenkerne optimieren - jg - 02.02.2009 20:32

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  3 Variablen optimieren Blubber 2 3.454 18.12.2014 11:40
Letzter Beitrag: Blubber
  Optimieren ichnur 9 7.108 20.12.2007 12:40
Letzter Beitrag: jeffrey
  Frontpanel optimieren Physikus 2 4.031 19.12.2007 17:59
Letzter Beitrag: Physikus
  Quellcode optimieren eg 4 4.698 14.09.2006 19:29
Letzter Beitrag: cb
  Programm optimieren/CPU 100% s.tante 7 5.885 16.02.2006 16:21
Letzter Beitrag: s.tante
  Strukturen: komplexes programm optimieren ladwest 28 17.957 17.03.2005 14:06
Letzter Beitrag: unaimed

Gehe zu: