Efficient and scalable parallelism using the message passing interface (MPI) to handle big data and highly computational problems.
Python C
Switch branches/tags
Nothing to show
Latest commit 6376f8f Nov 10, 2016 @daleroberts committed on GitHub Merge pull request #12 from wfang/patch-1
Fixed the sample script to make it work.

README.md

Logo

PyPar is a python library that provides efficient and scalable parallelism using the message passing interface (MPI) to handle big data and highly computational problems.

Build Status

PyPar is used by a number of large projects, such as:

Example

A simple 'pass the parcel' example.

import pypar as pp

ncpus = pp.size()
rank = pp.rank()
node = pp.get_processor_name()

print 'I am rank %d of %d on node %s' % (rank, ncpus, node)

if rank == 0:
  msg = 'P0'
  pp.send(msg, destination=1)
  msg = pp.receive(source=rank-1)
  print 'Processor 0 received message "%s" from rank %d' % (msg, rank-1)
else:
  source = rank-1
  destination = (rank+1) % ncpus
  msg = pp.receive(source)
  msg = msg + 'P' + str(rank)
  pp.send(msg, destination)

pp.finalize()