embedded3 PERF-3 P1-5 (c) part 1: scatter kernels (e3_scat_{f64,f32,u32,i32}) in the CG module; the refresh's seven f64 coefficient arrays and z links, and the V-cycle fine level's f32 arrays and maps, scattered on the changed rows into persistent buffers (DeviceVcycle::refresh_fine_rows) — slab CSV byte-identical, band check passed, device moving/cg green; ny 124 rebuild block 1,895 → 1,748 ms per step. The first form redirected the V-cycle's own e3_cg_scatter_f64 launch (a replace-all on the launch name) and failed every gate — the symbol table is the first thing to read when adding to a module
CI / Build CPU-Only (Explicit) (push) Failing after 4s
CI / Format Check (push) Failing after 4s
Documentation / Build User Guide (push) Successful in 4s
Documentation / Build API Documentation (push) Failing after 30s
CI / Clippy Check (push) Failing after 1m0s
CI / Build (ubuntu-latest) (push) Failing after 2m53s
Performance Benchmarks / Run Benchmarks (push) Successful in 3m27s
CI / Build (macos-latest) (push) Canceled after 0s
CI / Test (macos-latest) (push) Canceled after 0s
CI / Test (ubuntu-latest) (push) Canceled after 0s
CI / Python Bindings (maturin) (macos-latest) (push) Canceled after 0s
CI / Python Bindings (maturin) (ubuntu-latest) (push) Canceled after 0s
CI / WASM Build + Size Check (push) Canceled after 0s
CI / Distributed Training Tests (push) Canceled after 0s
CI / CI Success (push) Canceled after 0s
CI / Build CPU-Only (Explicit) (push) Failing after 4s
CI / Format Check (push) Failing after 4s
Documentation / Build User Guide (push) Successful in 4s
Documentation / Build API Documentation (push) Failing after 30s
CI / Clippy Check (push) Failing after 1m0s
CI / Build (ubuntu-latest) (push) Failing after 2m53s
Performance Benchmarks / Run Benchmarks (push) Successful in 3m27s
CI / Build (macos-latest) (push) Canceled after 0s
CI / Test (macos-latest) (push) Canceled after 0s
CI / Test (ubuntu-latest) (push) Canceled after 0s
CI / Python Bindings (maturin) (macos-latest) (push) Canceled after 0s
CI / Python Bindings (maturin) (ubuntu-latest) (push) Canceled after 0s
CI / WASM Build + Size Check (push) Canceled after 0s
CI / Distributed Training Tests (push) Canceled after 0s
CI / CI Success (push) Canceled after 0s
Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
e3958fc9c5
commit
77fda442c6
@@ -198,3 +198,27 @@ extern "C" __global__ void e3_cg_scatter_f64(
|
||||
int g = cells[t];
|
||||
z[g] = (double) x0[g];
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* P1-5 (c): scatter compact (index, value) lists into persistent buffers. */
|
||||
extern "C" __global__ void e3_scat_f64(int n, const unsigned int* __restrict__ idx, const double* __restrict__ val, double* __restrict__ dst)
|
||||
{
|
||||
int t = blockIdx.x * blockDim.x + threadIdx.x;
|
||||
if (t < n) dst[idx[t]] = val[t];
|
||||
}
|
||||
extern "C" __global__ void e3_scat_f32(int n, const unsigned int* __restrict__ idx, const float* __restrict__ val, float* __restrict__ dst)
|
||||
{
|
||||
int t = blockIdx.x * blockDim.x + threadIdx.x;
|
||||
if (t < n) dst[idx[t]] = val[t];
|
||||
}
|
||||
extern "C" __global__ void e3_scat_u32(int n, const unsigned int* __restrict__ idx, const unsigned int* __restrict__ val, unsigned int* __restrict__ dst)
|
||||
{
|
||||
int t = blockIdx.x * blockDim.x + threadIdx.x;
|
||||
if (t < n) dst[idx[t]] = val[t];
|
||||
}
|
||||
extern "C" __global__ void e3_scat_i32(int n, const unsigned int* __restrict__ idx, const int* __restrict__ val, int* __restrict__ dst)
|
||||
{
|
||||
int t = blockIdx.x * blockDim.x + threadIdx.x;
|
||||
if (t < n) dst[idx[t]] = val[t];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user