Assignment3: N-body Simulastion Solved

$24.99 $18.99

1 description Write a sequential program, a P-thread program, an CUDA program, and an MPI program to simulate an astronomical N-body system, but in two-dimensions. The bodies are initially at rest. Their initial positions and masses are to be selected randomly (using a random number generator). The gravity between N-body should be described by the…

5/5 – (3 votes)

You’ll get a: zip file solution

 

Description

5/5 – (3 votes)

1 description

Write a sequential program, a P-thread program, an CUDA program, and an MPI program to simulate an astronomical N-body system, but in two-dimensions. The bodies are initially at rest. Their initial positions and masses are to be selected randomly (using a random number generator). The gravity between N-body should be described by the following equation:

Also you should consider the collision and bouncing, otherwise, all the points will be collasped into a singular point. Display the movement of the bodies using xlib or other GUI systems on your computers.

Bounus(10 points): Write an MPI + OpenMP program for a two-dimensional N-body simulation.

2 requirement

  • You need to implement four versions of the tasks, which are Sequential version,openMP version,MPI version and a Pthread version. And hand in the codes for these four versions in four seperate code files.

  • In your submit code, it should display an image with size of 800 × 800, and with 200 bodies moving for a fixed number of iterations.

  • Include the results in your report by capturing a picture on your screen.

  • Record a video of your result.

  • You need to specify the command line about how to compile and run your program.

  • You need to compare the performance of different implementation and configurations in your report.

The number of processes or threads used in the program (up to at least 33 processes and threads)

MPI vs Sequential vs Pthread vs CUDA vs openmp

you should fix the size of the display window and the number of iterations, instead you should change

the number of bodies (ranging from small, medium to large size).

More if you have

  • You need to include three figures describing the structure of your MPI program, Pthread program, openmp and CUDA program.

  • The report should be written in appropriate format.

3 Tips

  • When measuring the running time of the program, make sure only measure the computation time. (Because Imgui’s or xlib’s drawing are time consuming.)

  • You should start your homework as soon as possible, do not try to finish it in the last two days before the deadline.

  • Debug your program on the VM that is built on the image centos. Make sure the program is

  • Make sure use ‘sbatch’ command to submit your jobs onto the master machine, do not directly run your program on the master machine.

  • Try to limit your program running time within 60 seconds. If your program is running slow, try

to improve your code or reduce the image’s size.

4 Where and What to Turn in Your Homework

  • Please turn in a zip file includes

Report

Codes

video demonstrating your program results

  • zip your source codes, result video, paper in a zip file, and name it studentID.zip, then submit it on Blackboard.

  • Late submission penalty, 5 points deduction for each 12 hours after the deadline. We won’t receive any submission for 24 hour after deadline.

5 Due: 23:59,Nov,17,2020

Assignment3: N-body Simulastion Solved
$24.99 $18.99