Hello, I'm working with Chapel due to my bachelor thesis about high performance programming languages. My current task is to implement a particle simulation program of which I already have the code in C. It includes two possible algorithms for calculating the force acting onto the particles: A simple but ineffective one and the Barnes-Hut-Algorithm [1] which is much faster but a bit more complicated. The other calculations aren't that complex so for me only the calculation of force is important.
I implemented the simple algorithm at first. For comparing the serial and parallel execution time I surrounded everything with a serial-statement, evaluating a bool variable I have to set in the command line. I didn't implement the multi locale improvement yet so it runs only on a dual core PC, using forall-loops. Finally the parallel one only needed half of the time of the serial, yay. I continued with Barnes-Hut. This one was a bit more work because the maintenance of the tree-structure leaves a lot of opportunities for mistakes. After a bit more time it was working as well. My issue is about the parallel execution time of this algorithm. Like in the other one I replaced the crucial for-loop with a forall-loop (the serial-statement surrounds the whole program). The problem is, that the parallel execution time is similar to the serial one, sometimes even longer. Of course I don't want you to read through all my code, but could you tell me some possible reasons, why this effect may occur? thank you very much bye Michael [1] http://beltoforion.de/barnes_hut/barnes_hut_en.html ------------------------------------------------------------------------------ _______________________________________________ Chapel-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/chapel-users
