[all-commits] [llvm/llvm-project] 261e56: [libc] Add utility functions for warp-level scan a...

Joseph Huber via All-commits all-commits at lists.llvm.org
Tue Mar 12 08:41:14 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 261e5648e70b363aecf86acfcd7fb416eb48fb7b
      https://github.com/llvm/llvm-project/commit/261e5648e70b363aecf86acfcd7fb416eb48fb7b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M libc/src/__support/GPU/amdgpu/utils.h
    M libc/src/__support/GPU/generic/utils.h
    M libc/src/__support/GPU/nvptx/utils.h
    M libc/src/__support/GPU/utils.h
    M libc/test/integration/src/__support/CMakeLists.txt
    A libc/test/integration/src/__support/GPU/CMakeLists.txt
    A libc/test/integration/src/__support/GPU/scan_reduce.cpp

  Log Message:
  -----------
  [libc] Add utility functions for warp-level scan and reduction (#84866)

Summary:
The GPU uses a SIMT execution model. That means that each value actually
belongs to a group of 32 or 64 other lanes executing next to it. These
platforms offer some intrinsic fuctions to actually take elements from
neighboring lanes. With these we can do parallel scans or reductions.
These functions do not have an immediate user, but will be used in the
allocator interface that is in-progress and are generally good to have.
This patch is a precommit for these new utilitly functions.



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