From b35cea4b8d82a28994351f3b550e8191ee1d94bf Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sun, 25 Aug 2024 23:28:25 +0200 Subject: First commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- barriersend.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 barriersend.c (limited to 'barriersend.c') diff --git a/barriersend.c b/barriersend.c new file mode 100644 index 0000000..a947357 --- /dev/null +++ b/barriersend.c @@ -0,0 +1,16 @@ +/* See LICENSE file for copyright and license details. */ +#include "common.h" + + +void +barriersend(struct barrier_group *group, struct global_data *global, void (*action)(struct algorithm *, struct global_data *)) +{ + size_t index; + global->action = action; + if (group->nthreads) + barrierwait(&group->barrier); + for (index = 0; index < global->nalgorithms; index += group->nthreads + 1U) + (*action)(&global->algorithms[index], global); + if (group->nthreads) + barrierwait(&group->barrier); +} -- cgit v1.2.3-70-g09d2