Giter Club home page Giter Club logo

mpi-pa3's Introduction

CSE 6220 Programming Assignment 3

Code structure

All the code is located at the root level of the project. The gtest folder contains the Google Test Unit Testing framework version 1.7.

There are multiple header and .cpp files, your implementation will go into the following files:

  • jacobi.cpp: Implement the sequential algorithm for Jacobi's method according to the function declarations in jacobi.h
  • mpi_jacobi.cpp: Implement the parallel algorithm according to the declarations in mpi_jacobi.h.
  • utils.h and utils.cpp: Implement common utility functions in these files
  • seq_tests.cpp: Unit tests for the sequential code, implement your own test cases in here
  • mpi_tests.cpp: Unit tests for the parallel MPI code. Implement your own test cases for all declared functions in here.

Other files containing code that you should not change are:

  • main.cpp: Implements code for the main executable jacobi. This does input/output reading and calling of the actual functions.
  • io.h: implements IO functions and random input generation
  • mpi_gtest.cpp: MPI wrapper for the GTest framework

Utility scripts (you may play around with these to generate your own custom input):

  • generate_input.py: Python script to generate inputs. You can modify this code to generate different inputs.
  • check_output.py: Checks whether the output from jacobi is correct, by comparing the output with pythons numpy implementation.

Compiling

In order to compile everything, simply run

make all

Running Tests

For running all tests do:

make test

You can also run the two tests (sequential/MPI) separately by either:

./seq_tests

or

mpirun -np 4 ./mpi_tests

mpi-pa3's People

Contributors

m-gant avatar aloha49481 avatar

Watchers

 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.