Summary: We store the locks in local device memory for performance and simplicity. The number here needs to correspond to the maximum occupancy so that we never have a situation where a GPU thread is blocking another GPU thread. The number now is sufficient for most hardware, but modern compute chips like the MI300x are already pushing ~12000 resident waves. This has ABI impliciations so I'd like to bump it up sooner rather than later. The ABI change is within what OpenMP expects, LLVM major versions, and it will be caught statically so there's no risk of silent corruption (size doesn't match).
LLVM libc ========= This directory and its subdirectories contain source code for llvm-libc, a retargetable implementation of the C standard library. LLVM is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.