Giter VIP home page Giter VIP logo

cpd's Introduction

CPD - 2018/2019

Parallel and Distributed Computing Project - Particles Simulator

Introduction

The project is a sequential and two parallel implementations of a simulator of particles moving in free 2D space. It uses parallel programming on both UMA and multicomputer systems, using OpenMP and MPI, respectively.

Requirements

You must have installed the following tools:

  • gcc (A version that supports #pragma directive with OpenMP pack)

How to Compile

The compilation of the implementations can be made using the Makefile in /src.

To compile, you just need to issue the following command:

    make [implementation]

Where <implementation> := serial | omp | mpi representing Sequential, OpenMP and MPI respectively. If not present, all implementations will be compiled.

To clean the object files and the binaries, just run:

    make clean

Run the Tests

There are a set of 4 tests that were provided in the statement of the project.

To run all tests:

    make testall [program=implementation]

To run a specific test:

    make test [test=testfile] [program=implementation]

How to use the profiler

In order to profile the parallel versions of the project you need to install ompP, read the manual. Don't forget to change the file Makefile.defs. The makefile expects the existence of the command kinst-ompp.

The Makefile integrates the use of the profiler. So, in order to get this feature, you need first to compile the code with the followiing command:

    make [implementation] ompp=true

Then, you just need to run the test you want to profile with the command:

    make rompp [test=testfile] [program=implementation]

Notes

  • By default program=serial and test=test01

cpd's People

Contributors

darkmacheken avatar leo-epi avatar

Watchers

 avatar  avatar

cpd's Issues

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.