From 13da0b4c21d17f94150713366420baaf1b5a46f4 Mon Sep 17 00:00:00 2001 From: Marat Dukhan Date: Mon, 8 Oct 2018 00:19:36 -0700 Subject: Support 3D and 4D tiled computation --- include/pthreadpool.h | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/pthreadpool.h b/include/pthreadpool.h index fa2bb1e..a99105e 100644 --- a/include/pthreadpool.h +++ b/include/pthreadpool.h @@ -9,7 +9,8 @@ typedef void (*pthreadpool_function_1d_t)(void*, size_t); typedef void (*pthreadpool_function_1d_tiled_t)(void*, size_t, size_t); typedef void (*pthreadpool_function_2d_t)(void*, size_t, size_t); typedef void (*pthreadpool_function_2d_tiled_t)(void*, size_t, size_t, size_t, size_t); -typedef void (*pthreadpool_function_3d_t)(void*, size_t, size_t, size_t); +typedef void (*pthreadpool_function_3d_tiled_t)(void*, size_t, size_t, size_t, size_t, size_t, size_t); +typedef void (*pthreadpool_function_4d_tiled_t)(void*, size_t, size_t, size_t, size_t, size_t, size_t, size_t, size_t); #ifdef __cplusplus extern "C" { @@ -81,6 +82,30 @@ void pthreadpool_compute_2d_tiled( size_t tile_i, size_t tile_j); +void pthreadpool_compute_3d_tiled( + pthreadpool_t threadpool, + pthreadpool_function_3d_tiled_t function, + void* argument, + size_t range_i, + size_t range_j, + size_t range_k, + size_t tile_i, + size_t tile_j, + size_t tile_k); + +void pthreadpool_compute_4d_tiled( + pthreadpool_t threadpool, + pthreadpool_function_4d_tiled_t function, + void* argument, + size_t range_i, + size_t range_j, + size_t range_k, + size_t range_l, + size_t tile_i, + size_t tile_j, + size_t tile_k, + size_t tile_l); + /** * Terminates threads in the thread pool and releases associated resources. * -- cgit v1.2.3