Use omp single instead of master everywhere, because according to the documentation it has an implicit barrier for synchronization. Added a CUBA example to benchmark as a function of the number of threads