From 58d1b497ba8041373f6d72102b509fbabe161145 Mon Sep 17 00:00:00 2001 From: DoHoonKim8 Date: Fri, 30 Aug 2024 08:02:32 +0000 Subject: [PATCH] Avoid unnecessary computation --- sumcheck/src/gpu/cuda/kernels/sumcheck.cu | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sumcheck/src/gpu/cuda/kernels/sumcheck.cu b/sumcheck/src/gpu/cuda/kernels/sumcheck.cu index eecdaf4..b758622 100644 --- a/sumcheck/src/gpu/cuda/kernels/sumcheck.cu +++ b/sumcheck/src/gpu/cuda/kernels/sumcheck.cu @@ -44,7 +44,9 @@ extern "C" __global__ void fold_into_half( const int buf_offset = (blockIdx.x / num_blocks_per_poly) * stride; const int poly_offset = (blockIdx.x / num_blocks_per_poly) * initial_poly_size; while (tid < stride) { - buf[buf_offset + tid] = (*challenge) * (polys[poly_offset + tid + stride] - polys[poly_offset + tid]) + polys[poly_offset + tid]; + if (*challenge == fr::zero()) buf[buf_offset + tid] = polys[poly_offset + tid]; + else if (*challenge == fr::one()) buf[buf_offset + tid] = polys[poly_offset + tid + stride]; + else buf[buf_offset + tid] = (*challenge) * (polys[poly_offset + tid + stride] - polys[poly_offset + tid]) + polys[poly_offset + tid]; tid += blockDim.x * num_blocks_per_poly; } }