Giter Club home page Giter Club logo

mpi_tutorials's Introduction

U.S. Naval Research Laboratory

The High Performance Computing group in Code 5594 has modified source code documentation (which includes code examples) demonstrating the Message Passing Interface (MPI). The original documentation is located in the documentation section of the DeinoMPI library and is currently freely available on the internet at www.mpi.deino.net/mpi_functions/. The MPI routines available on that webpage demonstrate MPI-2 function calls intended for a Microsoft Windows environment. We have slightly modified the documentation so that its code examples will run in GNU/Linux environments. We have also made other relatively minor modifications to the formatting of the code examples. We intend for this distribution to be available to NRL researchers as a source of reference in their parallel programming efforts.

The original code was pulled down from the Deino website written above. The website has a copyright statement ("Copyright 2009 Deino Software. All rights reserved.'') footer. This statement has been appended to each source code file in the modified example codes along with a comment that includes a link to the original source website.

There are 227 source code files demonstrating various MPI function calls. Not all MPI functions documented on the Deino MPI website can be found here as some of the functions have been deprecated and others did not have any code example provided.

To compile and run on a GNU/Linux system where a MPI implementation has been installed:
  mpicc <source_file.c> -o <executable_name>
  mpirun -n 2 <executable_name>

The above example is executed with two processes, however, some of the code examples require more than two processes to execute properly.

A shell script has been provided (compile-all.sh) to compile all the example codes.

Several of these codes compile with warnings under gcc version 4.9.4 and likely other compiler versions. We have intentionally made no other changes to the code other than what is necessary to compile under a GNU/Linux environment and basic formatting adjustments. All changes between the original Deino source and the NRL-modified source are documented here in the patches subdirectory.

This project includes a git repo and can be cloned via:
  git clone </path/to/project>

Contact Joel Bretheim or Sergio Tafur in Code 5594 with any questions:
  [email protected]
  [email protected]

mpi_tutorials's People

Contributors

sergiotafur avatar sort1and avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  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.