mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-12 17:26:00 +00:00
CK: Remove 41 commented-out dead code blocks (~200 lines) (#6302) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Depends on #6300 ## Summary Remove 41 commented-out code blocks across 33 files in Composable Kernel, totaling ~200 lines. Identified using an automated dead code scanning skill (`ck-dead-code`) with a calibrated two-stage pipeline: 1. **Pre-filter**: Keyword-based scan found 1,338 `//`-commented blocks. Calibrated heuristics (trained on 50-sample expert classification) reduced to 89 high-confidence candidates — 93% noise reduction. 2. **Expert triage**: LLM expert classified each block in context as CODE_REMOVE, CODE_KEEP, or NOT_CODE. | Classification | Count | |---------------|-------| | Removed (this PR) | 41 | | Kept (debug helpers, alt configs, reference impls) | 32 | | Not code (false positives) | 16 | Removed blocks include: superseded implementations, old test data, abandoned stubs, unreachable code, and buggy dead code.
63 lines
1.5 KiB
C++
63 lines
1.5 KiB
C++
// Copyright (c) Advanced Micro Devices, Inc., or its affiliates.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
#pragma once
|
|
#include <hip/hip_runtime.h>
|
|
#include <stdint.h>
|
|
|
|
namespace ck {
|
|
struct workgroup_barrier
|
|
{
|
|
__device__ workgroup_barrier(uint32_t* ptr) : base_ptr(ptr) {}
|
|
|
|
__device__ uint32_t ld(uint32_t offset)
|
|
{
|
|
return __atomic_load_n(base_ptr + offset, __ATOMIC_RELAXED);
|
|
}
|
|
|
|
__device__ void wait_eq(uint32_t offset, uint32_t value)
|
|
{
|
|
if(threadIdx.x == 0)
|
|
{
|
|
while(ld(offset) != value) {}
|
|
}
|
|
__syncthreads();
|
|
}
|
|
|
|
__device__ void wait_lt(uint32_t offset, uint32_t value)
|
|
{
|
|
if(threadIdx.x == 0)
|
|
{
|
|
while(ld(offset) < value) {}
|
|
}
|
|
__syncthreads();
|
|
}
|
|
|
|
__device__ void wait_set(uint32_t offset, uint32_t compare, uint32_t value)
|
|
{
|
|
if(threadIdx.x == 0)
|
|
{
|
|
while(atomicCAS(base_ptr + offset, compare, value) != compare) {}
|
|
}
|
|
__syncthreads();
|
|
}
|
|
|
|
// enter critical zoon, assume buffer is zero when launch kernel
|
|
__device__ void aquire(uint32_t offset) { wait_set(offset, 0, 1); }
|
|
|
|
// exit critical zoon, assume buffer is zero when launch kernel
|
|
__device__ void release(uint32_t offset) { wait_set(offset, 1, 0); }
|
|
|
|
__device__ void inc(uint32_t offset)
|
|
{
|
|
__syncthreads();
|
|
if(threadIdx.x == 0)
|
|
{
|
|
atomicAdd(base_ptr + offset, 1);
|
|
}
|
|
}
|
|
|
|
uint32_t* base_ptr;
|
|
};
|
|
} // namespace ck
|