aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMarat Dukhan <marat@fb.com>2018-10-08 00:19:36 -0700
committerMarat Dukhan <marat@fb.com>2018-10-08 00:19:36 -0700
commit13da0b4c21d17f94150713366420baaf1b5a46f4 (patch)
tree164be7551021064094501d005ab712fc9b4bef11 /include
parent3fb19c58b46f3cbc78a27c7b207a6eb7946633c0 (diff)
downloadpthreadpool-13da0b4c21d17f94150713366420baaf1b5a46f4.tar.gz
Support 3D and 4D tiled computation
Diffstat (limited to 'include')
-rw-r--r--include/pthreadpool.h27
1 files changed, 26 insertions, 1 deletions
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.
*