Here are some potential replacements:
- Berkeley Unified Parallel C
- CheckedThreads Source with a liberal license. Cilk like. Both C and C++.
- Cilk Plus Supported by Intel C, gcc and Clang.
- HPX C++ only.
- Occa. A unified approach to multithreaded languages. See also.
- OpenMP Supported by many compilers.
- Pfunc Cilk like features. Liberal license. Can be called from C but is C++.
- Starpu
- Threaded building blocks. C++ only.
- Wool A pure C implementation that provides something very close to Cilk.
- XKAAPI
Checkedthreads seems like a good option if a simple C only tool can do the job. I have plan to try that at MOSEK.
Pfunc seems very powerful and there is ph.d. thesis about its design. The project might be semi-dead though.
Wool also seems very interesting. It is plain C and the author claims the spawn overhead is very low. There is also an older comparison with other task libraries.
Btw I biased towards tools that has no C++ bindings because currently MOSEK is plain C code. Adding a dependency on a C++ runtime library adds headaches.
Some common terminology when working on parallism is
- Fork-join parallel model
- Pthreads programming and tutorial