/Parallel-Processing-implementation

Utilizing parallel processing techniques on program that will predict pitcher/batter matchups in baseball.

Primary LanguageCMIT LicenseMIT

Parallel Processing Applications

MTSU-CSCI-Semester Project-Fall 2022

Team: Jesse Gailbreath, Jansen Long, Ryan Morse, Elijah White, Dilafruz Shamsieva

The goal of this project is to run Markov Chains in parallel to predict batter/pitching matchups in baseball. To run this code, you must download this github repository and unzip the files. Then you must copy the files mBumgarner_actual_19X19.csv and jAltuve_actual_19X19.csv into files called mBumgarner_19x19.csv and jAltuve_19x19.csv in the same directory you are running each program from respectively. Each program should be compiled and ran as indicated.

  • The programs serialmat.c and ompmat.c have a variable called FILE_NAME. Inside of main() it is set to mat.csv by default. In order to run this program on either of these files, you must change the value of FILE_NAME inside main to the desired .csv file name.
  • ompmat.c takes 1 command line argument that represents the number of threads you would like to run the program on
  • Each implementation will output the runtime and the Steady State matrix generated by the operations.

An example compile and execution statements using the GNU compiler is as follows:

  1. gcc serialmat.c -o serial_mat
    ./serial_mat
  2. mpicc mpi_matmult1.c -o mpi_mat
    mpiexec -n N ./mpi_mat --Where N is the number of processors you want to run the program on
  3. gcc -fopenmp ompmat.c -o ompmat
    ./omp_mat N --Where N is the number of threads you want to create