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

Reply via email to