From 24ba4b0aa4b4a9fc07ca5a92f3e86e877adf7429 Mon Sep 17 00:00:00 2001 From: rob thijssen Date: Sat, 13 Sep 2025 11:31:23 +0300 Subject: [PATCH] Fix qpow kernel to use h_le instead of digest_be in XOR and assignments --- crates/engine-gpu-cuda/src/kernels/qpow_kernel.cu | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/engine-gpu-cuda/src/kernels/qpow_kernel.cu b/crates/engine-gpu-cuda/src/kernels/qpow_kernel.cu index 0c44127..3590170 100644 --- a/crates/engine-gpu-cuda/src/kernels/qpow_kernel.cu +++ b/crates/engine-gpu-cuda/src/kernels/qpow_kernel.cu @@ -649,7 +649,7 @@ for (uint32_t j = 0; j < iters; ++j) { uint8_t dist_be[64]; #pragma unroll for (int i = 0; i < 64; ++i) { - dist_be[i] = target_be_bytes[i] ^ digest_be[i]; + dist_be[i] = target_be_bytes[i] ^ h_le[i]; } // Compare distance <= threshold (lexicographic on big-endian bytes) @@ -660,7 +660,7 @@ for (uint32_t j = 0; j < iters; ++j) { #pragma unroll for (int i = 0; i < 64; ++i) { C_SAMPLER_Y_BE[i] = y_be[i]; - C_SAMPLER_H_BE[i] = digest_be[i]; + C_SAMPLER_H_BE[i] = h_le[i]; C_SAMPLER_TARGET_BE[i] = target_be_bytes[i]; C_SAMPLER_THRESH_BE[i] = thresh_be_bytes[i]; } @@ -691,7 +691,7 @@ for (uint32_t j = 0; j < iters; ++j) { if (out_dbg_h_be) { #pragma unroll for (int i = 0; i < 64; ++i) { - out_dbg_h_be[i] = digest_be[i]; + out_dbg_h_be[i] = h_le[i]; } } }