Skip to content

Latest commit

 

History

History
42 lines (35 loc) · 1.78 KB

File metadata and controls

42 lines (35 loc) · 1.78 KB

TODO

Shared Memory Architecture (pthreads)

System-critical

  • Implement relaxation technique sequentially
  • Run relaxation in a single thread
  • Implement relaxation on multiple threads (lock array for now, no need to be efficient)
  • Find 100% sequential code from past commits and store in own file
  • Implement relaxation on multiple threads efficiently (sync float array with mutex array to lock individual values)
  • Polish code for batch submission on Balena (print parameters and time at the end).
  • Set number of threads from command line input.
  • Gather data in an Excel spreadsheet and plot it in a graphs.
  • Write report in LaTeX

Code design

  • Move all code from the main() to individual functions.
  • Move log print statements to own funciton.
  • Create a makefile for compiling the code with GCC then running it.
  • Move array-related functions in own C file.
  • Move print-related functions in own C file.
  • Refactor code to fit all within 80 chars per line.
  • Use global value for "debug mode" to activate/deactivate print statements (and surround print statements with if statements).
  • Use floats instead of doubles.
  • Remove global function definition in main().

Balena

  • Add email address in job script for notifications when job finishes running.

Distributed Memory Architecture (MPI)

  • Implement basic MPI code
  • Fix warnings
  • Move helper code into separate source files
  • Replace duplicate hard-coded code with loops
  • Take user input from command line to determine parameters
  • Measure time (using MPI_Wtime)
  • Implement relaxation in child processes
  • Gracefully exit program (uses "exit(0)" and "mpirun -quiet" for now)
  • Gather data on Balena
  • Write report