GPU610/Cosmosis

From CDOT Wiki
Revision as of 12:21, 2 February 2013 by Acraig1 (talk | contribs) (Assignment 1)
Jump to: navigation, search


GPU610/DPS915 | Student List | Group and Project Index | Student Resources | Glossary

Cosmosis

Team Members

  1. Clinton Bale, Some responsibility
  2. Alex Craig, Some responsibility
  3. Jesse Santos, Some responsibility
  4. Neil Guzman, Some responsibility

Email All

Progress

Assignment 1

For our assignment 1, we are looking into finding and N-body simulator. All of us in the group have agreed to find 1 each, and after profiling them, we will choose the most inefficient one to parallelize.


Alex

I have found a Java applet that uses a brute force method for an N-Body simulator. It also has an improved algorithm to speed up the simulation and allow for a lot more bodies to be added. I will profile and show some sample run results for both, and see which one may be more fitting to try and parallelize.

Example Profiles of Brute Force Algorithm

When run with 1000 bodies: 1000BodyProfile.png


When run with 2500 bodies: 2500 bodies profile.PNG


When run with 10000 bodies: 10000 bodies profile.PNG


All of these profiles where ran for about 4 to 5 minutes each. It seems that when the body count is low (1000) the program spends most of its time in the addforces() function, which is a user defined function within one of the source files. However, when the body count gets higher, it seems that the program slows down so much from having to draw all of the bodies, it spends most of its time in the Java definedfillOval() function, rather than the addforces() function. I'm not entirely sure if we would be able to parrallelize that function, since it is in a library. It may be possible to simply define a function that does the same thing and put it in the program.


Coming Soon

An applet that uses the same Body class, but has an improved algorithm. I will profile it and see if that one may be better suited to our needs.

Assignment 2

Assignment 3