Skip to main content

Mojo function

topk_wrapper_no_shmem

topk_wrapper_no_shmem[input_type: DType, index_type: DType, *, is_top_p: Bool, block_size: Int, largest: Bool = True, _test_sort: Bool = False](K: Int, num_elements: Int, num_blocks_per_input: Int, in_buffer: UnsafePointer[Scalar[input_type], ImmutExternalOrigin], local_topk_vals: UnsafePointer[Scalar[input_type], MutExternalOrigin], local_topk_idxs: UnsafePointer[Scalar[index_type], MutExternalOrigin], p_threshold: UnsafePointer[Scalar[input_type], MutExternalOrigin], skip_sort: UnsafePointer[Scalar[DType.bool], MutExternalOrigin])

Shared-memory-free variant of topk_wrapper for Apple GPUs.

Uses warp-level reduction and register-based invalidation instead of shared memory. Only correct when block_size <= WARP_SIZE.

Was this page helpful?