Menu

Tree [571be2] master /
 History

HTTPS access


File Date Author Commit
 mangaEngine 2009-09-15 kellrott kellrott [af588c] Fixing bugs related to changing how MangaEngine...
 pipperLib 2009-10-26 Kyle Kyle [571be2] Fixing .append replacement AST node creation, s...
 test 2009-09-15 kellrott kellrott [0aa331] Adding run_test.py to run unit tests
 .gitignore 2009-09-15 kellrott kellrott [af588c] Fixing bugs related to changing how MangaEngine...
 AUTHORS 2008-10-07 kellrott kellrott [746749] Moving to an autoconf system
 COPYING 2007-12-04 kellrott kellrott [7344f5] Adding licence information (GPL2)
 ChangeLog 2008-10-07 kellrott kellrott [746749] Moving to an autoconf system
 INSTALL 2008-10-07 kellrott kellrott [746749] Moving to an autoconf system
 Makefile.am 2009-08-28 kellrott kellrott [0732ff] Merging AST branch work into the main line.
 Makefile.in 2009-08-28 kellrott kellrott [0732ff] Merging AST branch work into the main line.
 NEWS 2008-10-07 kellrott kellrott [746749] Moving to an autoconf system
 README 2009-09-16 kellrott@gmail.com kellrott@gmail.com [94705d] Updating README
 acinclude.m4 2008-10-07 kellrott kellrott [746749] Moving to an autoconf system
 aclocal.m4 2009-08-28 kellrott kellrott [0732ff] Merging AST branch work into the main line.
 bootstrap.sh 2008-10-07 kellrott kellrott [746749] Moving to an autoconf system
 config.guess 2009-04-22 kellrott kellrott [bfb09a] Breaking up source code.
 config.h.in 2008-10-20 kellrott kellrott [eebcc8] Adding missing config.h.in file
 config.sub 2009-04-22 kellrott kellrott [bfb09a] Breaking up source code.
 configure 2009-08-28 kellrott kellrott [0732ff] Merging AST branch work into the main line.
 configure.in 2009-08-28 kellrott kellrott [0732ff] Merging AST branch work into the main line.
 depcomp 2008-10-23 kellrott kellrott [b5b6b2] More missing build files, so you don't have
 install-sh 2008-10-20 kellrott kellrott [88b0d7] Adding install-sh
 ltmain.sh 2009-04-22 kellrott kellrott [bfb09a] Breaking up source code.
 missing 2009-04-22 kellrott kellrott [bfb09a] Breaking up source code.
 pipper.in 2009-09-15 kellrott kellrott [fcc3ca] Working to make multiple pipelines functional. ...
 py-compile 2009-08-28 kellrott kellrott [0732ff] Merging AST branch work into the main line.
 setup.py 2009-09-15 kellrott kellrott [152ea8] Moving unit testing to python unittest module

Read Me

===============================================================================
PIPPER Python Integrated Parallel Pipeline Environment
===============================================================================
http://pipper.sourceforge.net/

PIPPER is a Python pre-parser which makes it easy to generate parallel code
that can be run in a cluster environment.  It looks for code annotation 
much like OpenMPI.  The main difference is that unlike OpenMPI, which is 
can only work on a single computer, PIPPER designed to work with a cluster 
of machines.

===============================================================================
The helloworld.py script:
===============================================================================
#!/usr/bin/python

import sys
import os

def do_call(x,y):
	print x, y, os.getpid()

if __name__ == '__pipper_main__':
	a_range = range( int(sys.argv[1]) )
	"""@pragma pipper_start"""
	for a in  a_range :
		for b in a_range :
			do_call(a,b)
	"""@pragma pipper_end"""

===============================================================================
To execute the program in an MPI environment:
===============================================================================
On 25 nodes (using the manga engine)
mpirun -np 25 pipper -manga ./helloworld 100


===============================================================================
About PIPPER
===============================================================================
PIPPER is written as a Python pre-parser, written in Python.  In addition to a 
command line program that automates the parsing and execution of PIPPER 
scripts, it can be used explicitly to import and extend modules from inside 
of a Python script.
The Python parser introduces callback functions to link in parallel code.  
These callbacks then link to an abstract engine interface which performs 
calls to parallelization engines that have been adapted to PIPPER.  
Currently the main engine is called Manga, and is implemented with MPI.

PIPPER will work in a single CPU environment, but that mode is primarily
for debugging.



Build Notes:

To Build:
python setup.py build 
python setup.py install 

For local install (for example $HOME/my_pipper_install)
python setup.py install --home=$HOME/my_pipper_install


===============================================================================
The Future:
===============================================================================

Future abstract engines wrappers will hopefully include: 
 - MapReduce ( http://hadoop.apache.org/mapreduce/ ) : For Jython
 - Parallel Python ( http://www.parallelpython.com/ ) 
 - papy ( http://code.google.com/p/papy/ )
 
 
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.