Coder Social home page Coder Social logo

nbody's Introduction

# N-body simulation algorithm implementation

Current N-body simulation is used for Parallel Programming Practical course at Vrije Universiteit Amsterdam.

Sequential version is provided by teachers. Parallel version has to be implemented by a student. A student has to use MPI for naive parallel implementation. A student is free to improve parallel version with any other libraries and ISA (OpenMP, CUDA, SIMD ISA). Up to student. Here I provide basic naive implementation first. I will try to imporove naive implementation with some improvements in future:
TODO:
	- Try to implement Intel intrinsics(SSE2 or AVX). - HARD TO IMPLEMENT, DATA STRUCTURES HAS TO BE CHANGED
	- Using OpenMP for some loops could improve performance.
	- Moving some computations to GPU accelerator also could help( very bonus , only if I have time for it) :)

Sequential code could be run at any computer. PDF file with instruction is contained in repo. Parallel code should be run on cluster to achieve real performance imporvement.  

# MPI assignment for the Parallel Programming Practical (PPP)


Content:
- nbody-par-bonus	Contains different optimizations for naive parallel version.

- nbody-par		Contains parallel version of N-Body algorithm. Naive version only

- nbody			Contains sequential version of the N-body algorithm
				Create parallel version of the N-body algorithm there 
				and name it nbody-par.

- docs			Place there your report.

- bin			Contains nbody-sanity-check (comparison with expected output)
				Do not submit programs which do not go through sanity-checks successfully.

nbody's People

Contributors

saidganim avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.