Forum: Win32/Win64 API (native code)
by alleinherrscher,
23. Feb 2014
Was Notxor schreibt ist meiner Meinung nach richtig: Ich schreibe die neu berechneten Werte direkt wieder in mein Array zurück und berechne dann den nächsten Punkt mit all seinen Nachbarpunkten, unabhängig ob hier der Wert der n.ten oder n-1 -ten Berechnung gespeichert ist. Ein anderer Physiker, ein Professor in den Staaten verwendet die Methode mit 2 Arrays, hat aber Aufgrund von...
Forum: Win32/Win64 API (native code)
by alleinherrscher,
21. Feb 2014
Ah verstehe. Ja die Methode hört sich auch gut an :)
Ich sorge ja dafür dass nicht gleichzeitig auf gleiche Array-Einträge zugegriffen wird (mittels "current_z", s.o.)...hatte gehofft, dass das ausreicht?
Forum: Win32/Win64 API (native code)
by alleinherrscher,
21. Feb 2014
Hey, danke für die Infos. In der Tat hatte ich diese Methode (Teile und Herrsche) schon einmal implementiert. Allerdings geht aus folgendem Grund die performance sehr in den Keller:
1. An der Array-Grenze von zwei Threads, muss Thread 1 auf den Bereich von Thread 2 zugreifen und umgekehrt, da ich für die Berechnung am Punkt x,y,z jeweils die Punkte x+1,y,z ; x-1,y,z ; x,y+1,z ; x,y-1,z;...
Forum: Win32/Win64 API (native code)
by alleinherrscher,
19. Feb 2014
Hi@all.
Ich habe ein großes "Array of Array of Array of double";
In diesem möchte ich per Finite-Differenzen-Methode die Lösung einer Poission Gleichung iterieren. Um eine Verbesserte Lösung an der Stelle (x,y,z) zu berechnen, muss auf alle Nachbarpunkte lesend, und auf die Stelle x,y,z schreibend zugegriffen werden.
Um das Verfahren zu beschleunigen, habe ich n Threads eingeführt. ...