[all-commits] [llvm/llvm-project] 256f40: [libc] Use the NVIDIA device allocator for GPU mal...

Joseph Huber via All-commits all-commits at lists.llvm.org
Fri Jan 24 08:17:43 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 256f40d0e6b2beb0e951b0f5f836847223c5695c
      https://github.com/llvm/llvm-project/commit/256f40d0e6b2beb0e951b0f5f836847223c5695c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M libc/src/stdlib/gpu/free.cpp
    M libc/src/stdlib/gpu/malloc.cpp
    M libc/test/src/stdlib/CMakeLists.txt

  Log Message:
  -----------
  [libc] Use the NVIDIA device allocator for GPU malloc (#124277)

Summary:
This is a blocker on another patch in the OpenMP runtime. The problem is
that NVIDIA truly doesn't handle RPC-based allocations very well. It
cannot reliably update the MMU while a kernel is running and it will
usually deadlock if called from a separate thread due to internal use of
TLS.

This patch just removes the definition of `malloc` and `free` for NVPTX.
The result here is that they will be undefined, which is the cue for the
`nvlink` linker to define them for us. So, as far as `libc` is concerned
it still implements malloc.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list