2025 May 13 — By Tao B. Schardl
We are excited to release OpenCilk 3.0. Among its many improvements, we’re especially excited that this version makes it easier for you to write fast programs in VS Code or the LSP-based IDE of your choice.

Your help wanted
We will upload precompiled OpenCilk binaries for select systems to this release page once they are built and tested. If you would like to volunteer to provide OpenCilk binaries or other OpenCilk packaging for your system, please let us know by leaving a comment here.
New features and improvements
OpenCilk 3.0 includes the following new features and high-level improvements.
-
[Beta feature] Add support for range cilk_for
loops, a parallel version of C++ range-for loops, over containers that support random-access iteration. For example, one can now write the following parallel loop over a std::vector<T> v
:
cilk_for (auto x : v)
do_stuff(x);
-
Add support to VS Code and other LSP-based IDE's for cilk_spawn
, cilk_scope
, cilk_for
, and cilk_sync
keywords by extending a custom version of clangd
.
- See here for a draft VS Code extension for OpenCilk and guidance on setting up VS Code to use OpenCilk's
clangd
.
-
[Beta feature] Add support for Android, to allow Android apps to use Cilk for task-parallel C/C++.
- See here for instructions on how to use OpenCilk on Android.
- See here for an example Android app that uses OpenCilk.
-
Add support for C++ struct and class members to be Cilk reducer hyperobjects.
-
Remove the need for user programs to include the cilk/cilk.h
header file to use Cilk keywords.
-
Upgrade the OpenCilk compiler to be based on LLVM 19.1.7.
-
Fix many bugs and improve performance.
Infrastructure improvements
Alongside this release are several improvements to the OpenCilk software ecosystem.
Acknowledgments
Thanks to @eliecuevas, @sualehasif, and @arvid220u, for contributing range-cilk_for
loops to OpenCilk.
Thanks to everyone who helped us test this new OpenCilk release, including @wheatman, @DanielDeLayo, @MangoShip, and @Akatsukis.