Uses Message Passing Interface (mpi) library for parallelism optimization. Process 0 gets a single word from the user and encrypts the word by scrambling it. Once encrypted the other processes will attempt to decrypt the word by guessing it. All guesses are verified through the os dictionary file. The number of processes in the program are determined at execution time by the user.
- OS: Unix (Ubuntu preferred)
- c compiler (gcc prefered)
- mpi (sudo apt install mpich)
To compile both program, move into the main directory where the source code is located and type make. The makefile should compile both programs with no warnings.
Run program by typing in: mpiexec -n # ./a2
- mpiexec = Runs an MPI program.
- -n = Specify the number of processes to use
- # = the number of processes to use.
- ./a2 = the program being run.
To run the program with preset command line arguements type in:
make run
formake run3
formpiexec -n 4 ./a2
make run4
formpiexec -n 5 ./a2
To clean up the project, move into the main directory and type make clean to clean up the entire project.
Program may not run on Windows since the program requires access to the dictionary under: /usr/share/dict/words. Program does work on Ubuntu and Mac's OS X.