Owl provides an option of using OpenMP in compiling. The script here aims to evaluate the impact of using OpenMP on several core N-dimensional array operations. In this doc we briefly introduce how to reproduce the results. Note: The current script selects only a few operations, and is not well-automated. It will be updated.
-
Compile and install Owl without the OpenMP option, and then run the script
crosspoint.ml. It will generate a fileeval_omp_cross.csv. Then runcp eval_omp_cross.csv openmp_cross.csv. -
Compile and install Owl with the OpenMP option, setting the number of threads using
omp_set_num_threadsin source codeowl/core/openmp/owl_ndarray_maths_map_omp.h(or change the environment variable) to two. And then run the script again. Manually copy the generated data (two columns) fromeval_omp_cross.csvand append them toopenmp_cross.csv. -
Repeat step 2 with number of threads set to four.
-
Now we have an
openmp_cross.csvfile with seven columns. Run the scriptdraw_fig.pyto visualise these data.