libfly
What is libfly?
libfly is a C library which strive to be simple way of doing parallel
tasks.
Supported parallel patterns:
Simple parallel_for:
int parallel_for(int count, fly_parallel_for_func func, void *ptr);
Run func, count number of times with parameters index and ptr.
Simple parallel_for_arr:
int fly_parallel_for_arr(int start, int end, fly_parallel_for_func func,
void *arr, size_t elsize);
Run func, (end - start) number of times with parameters index and
arr[index].
Task pushing:
int fly_push_task(struct fly_task *task);
Run task asynchronously on some thread in some time.
int fly_wait_task(struct fly_task *task);
Wait previously pushed task to finish.
int fly_wait_tasks(struct fly_task **tasks, int nbtasks);
Wait every task in the array tasks to finish.
void *fly_get_task_result(struct fly_task *task);
How to build:
libfly uses cmake as build system. The easyest way to build it
is to simply execute one of build-* files in the root directory.