Skip to content

MPI Wrapper to run multiple single processor jobs as one MPI job

License

Notifications You must be signed in to change notification settings

eelsirhc/parboil

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Parboil is a simple MPI program that will take commands from a file and distribute them to the CPUs in the MPI group to be executed. Each command is given on a separate line in the file and is typically a shell command.

The code evolved to replace a third party routine that did not deal properly with jobs that had different resource requirements. That is, given N jobs and M processors it assumed all jobs were equal and distributed the first N/M jobs to the first processor, followed by the second group of N/M jobs to the seconds processor... This code distributes one command at a time, responding on a first-com first-served basis so that longer running jobs are distributed more appropriately.

To compile, edit the makefile to link to the appropriate libraries and run make. To run the code generate a file with one command per file and run mpirun ./parboil.exe command_file. Each command should be able to accomplish the given task from anywhere on the client server so the command name should be given in full. The easiest way to run the program is to use a wrapper script to change into the correct directory, create input files as necessary, run the code, and cleanup as needed.

The code has some error checking and sanity checking (but don't rely on them too much). It will fail ungracefully in the face of MPI errors.

CL

About

MPI Wrapper to run multiple single processor jobs as one MPI job

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages