use openmp for multithreading instead of custom task library
print costs of computation, load imbalance, and reduction
report percentage of total time too
use given name for image file