The src/ directory contains the source code for task.c, skeleton.py and related Pegasus libraries.

Compiling task.c requires the standard math library.
To compile a serial task, you can use gcc to compile task.c
To compile a parallel task, you must use an MPI installation.

Compiling Instructions:
Serial: gcc -o task task.c -lm
Parallel: mpicc -DMPI -o task task.c -lm


The sample-input/ directory contains sample input files for several typical workflows (see ../report for more information)

Skeleton Usage Format:
cd /path/to/skeleton/src
./skeleton.py sample-input/xxx.input Shell
Skeleton will print task command lines to standard output.


Task Usage Format:
./task [serial/parallel] num_processes task_length read_buf_size write_buf_size num_input num_output interleaving_option input_path output_path output_size

Serial Usage Example:
./task serial 1 16 131072 131072 3 1 0 Stage_1_input_0 Stage_1_input_1 Stage_1_input_2 Stage_1_output_0 1048576

Parallel Usage Example: 
mpirun -np 4 ./task serial 1 16 131072 131072 3 1 0 Stage_1_input_0 Stage_1_input_1 Stage_1_input_2 Stage_1_output_0 1048576

