Monorepo for the OpenCilk compiler. Forked from llvm/llvm-project and based on Tapir/LLVM.
OpenCilk 2.1 features the following enhancements.
Thanks to everyone who helped test this new version of OpenCilk, especially:
This is the second release candidate for OpenCilk 2.1, based on LLVM 16.0.6. This version incorporates fixes for bugs encountered with the first release candidate.
Release candidate 1 for OpenCilk v2.1.
This new version of OpenCilk includes the following major changes:
You can download and build the new version of OpenCilk from source using the infrastructure repository as follows:
git clone [email protected]:OpenCilk/infrastructure.git
cd infrastructure
tools/get -t opencilk/v2.1-rc1 $(pwd)/opencilk
tools/build $(pwd)/opencilk $(pwd)/build
Please let us know if you encounter any issues with this release candidate.
Prerelease version of OpenCilk 2.1 for MIT course 6.106.
This release contains several minor bug fixes and improvements over OpenCilk 2.0.
OpenCilk 2.0 features the following major changes from OpenCilk 1.1.
cilk_reducer(I,R)
to its type, where I
and R
designate the identity and reduce functions for the reducer. For example, here is how a simple integer-summation reducer can be implemented using the new reducer syntax:#include<cilk/cilk.h>
void zero(void *v) {
*(int*)v = 0;
}
void plus(void *l, void *r) {
*(int *)l += *(int *)r;
}
int foo(int *A, int n) {
int cilk_reducer(zero, plus) sum = 0;
cilk_for (int i = 0; i < n; ++i)
sum += A[i];
return sum;
}
-lopencilk-pedigrees
.unhandled dwarf2 abbrev form code 0x25
, then the tool does not support DWARFv5. You can opt back into using the old DWARF version by passing either -gdwarf-4
or -fdebug-default-version=4
to clang
when you compile the program.-ffp-contract=on
. As a result, floating-point computation may behave differently with this version of OpenCilk. You can opt back into the old floating-point-contraction behavior by passing the compiler flag -ffp-contract=off
. See here for more details.undefined reference to '__csan_FUNC'
for some function name __csan_FUNC
.
-mllvm -cilksan-bc-path=`find /path/to/opencilk/ -name "libcilksan.bc"`
when compiling the Cilk program.Thanks to everyone who contributed to the development of OpenCilk 2.0, via code contributions, testing, or in other ways, including:
OpenCilk 2.0 release candidate 2
Version 2.0 release candidate 1
OpenCilk version 1.1