The 2024 Google Summer of Code idea lists are out
As of late February, Google Summer of Code (GSoC) has published its official list of sponsoring open-source organizations, and each organization has independently published its own list of project ideas. People interested in doing a GSoC project (sort of a summer internship for open source software) should submit a proposal application — the quite short application window is March 18 to April 2.
If you’re a fan of my “trivial relocatability” content, or just want to help relocation’s progress into the mainstream of C++, you might be particularly interested in these three GSoC sponsors:
-
Ste||ar HPX. Their ideas list includes a sequel to last summer’s successful project implementing
hpx::uninitialized_relocate
; this summer’s goal is to parallelizehpx::uninitialized_relocate
(and perhaps alsohpx::copy
?) for ranges that overlap. Parallelizable relocation is a building block for parallel containers such as ParlayLib’ssequence<T>
. -
GCC. Their ideas list doesn’t include anything relocation-related — but you could propose something! For example: Adding
__is_trivially_relocatable(T)
to the compiler along these lines but better. Implementing a way to mark types such asdeque
trivially relocatable (i.e.[[gnu::trivially_relocatable]]
). Rewriting libstdc++’s__is_bitwise_relocatable
in terms of your new__is_trivially_relocatable(T)
, so that aggregates containing deques get the same benefit asdeque
itself. (Godbolt.) -
LLVM/Clang. Their ideas list doesn’t include anything relocation-related — but you could propose something! For example: Clang provides an
__is_trivially_relocatable(T)
builtin, but it often gives wrong answers (#69394, #77091). Fixing this would allow projects such as Folly, Abseil, Qt to start conditionally using Clang’s builtin, say, in the Clang 19 timeframe. You could also implement relocation optimizations in libc++’svector
andswap_ranges
.
Again, the application window for GSoC participants to submit a proposal application opens on March 18 and closes on April 2.