#include <exception>
#include <vector>
|
| int | serif::utils::parallel::worker_count () noexcept |
| | Workers an element loop may use: OpenMP's thread limit (OMP_NUM_THREADS), or 1 without OpenMP or inside an enclosing parallel region.
|
| |
| void | serif::utils::parallel::detail::run (int count, void *context, Body body) |
| | Run body for every index; body must not throw. Compiled in libserif so OpenMP never depends on the caller's flags.
|
| |
| template<typename BodyT> |
| void | serif::utils::parallel::for_each_index (const int count, BodyT &&body) |
| | Call body(index, worker) once for every index in [0, count), possibly concurrently.
|
| |
| void | serif::utils::parallel::element_transformation (const ::mfem::Mesh &mesh, int element, ::mfem::IsoparametricTransformation &transformation) |
| | Mesh::GetElementTransformation(element, transformation), safe in concurrent element loops.
|
| |