From 88da38d3dc723d304cbd45699a28d794f13881b8 Mon Sep 17 00:00:00 2001 From: Gusarich Date: Thu, 4 Dec 2025 23:18:11 +0300 Subject: [PATCH 1/6] feat: optimize kernel.cl by gemini deep think --- src/kernel.cl | 335 ++++++++++++++++++++++++++++----------------- tests/results.json | 38 ++++- 2 files changed, 242 insertions(+), 131 deletions(-) diff --git a/src/kernel.cl b/src/kernel.cl index ee62a0f..b6aec1b 100644 --- a/src/kernel.cl +++ b/src/kernel.cl @@ -1,3 +1,5 @@ +// --- SHA256 Definitions and Optimizations --- + #define F1(x,y,z) (bitselect(z,y,x)) #define F0(x,y,z) (bitselect (x, y, ((x) ^ (z)))) #define shr32(x,n) ((x) >> (n)) @@ -8,8 +10,13 @@ #define S2(x) (rotl32 ((x), 30u) ^ rotl32 ((x), 19u) ^ rotl32 ((x), 10u)) #define S3(x) (rotl32 ((x), 26u) ^ rotl32 ((x), 21u) ^ rotl32 ((x), 7u)) -#define SWAP(val) (rotate(((val) & 0x00FF00FF), 24U) | rotate(((val) & 0xFF00FF00), 8U)); +// Optimization: Efficient Byte Swapping using vector shuffling. +#define SWAP(val) (as_uint(as_uchar4(val).wzyx)) + +// Optimization: Macro to extract byte k from a LE uint array. +#define GET_BYTE_LE_ARRAY(arr, k) ((uchar)((arr[(k) >> 2] >> (((k) & 3) << 3)) & 0xFF)) +// SHA256 Constants (Used as immediate values) #define SHA256C00 0x428a2f98u #define SHA256C01 0x71374491u #define SHA256C02 0xb5c0fbcfu @@ -75,39 +82,32 @@ #define SHA256C3e 0xbef9a3f7u #define SHA256C3f 0xc67178f2u -__constant uint k_sha256[64] = -{ - SHA256C00, SHA256C01, SHA256C02, SHA256C03, - SHA256C04, SHA256C05, SHA256C06, SHA256C07, - SHA256C08, SHA256C09, SHA256C0a, SHA256C0b, - SHA256C0c, SHA256C0d, SHA256C0e, SHA256C0f, - SHA256C10, SHA256C11, SHA256C12, SHA256C13, - SHA256C14, SHA256C15, SHA256C16, SHA256C17, - SHA256C18, SHA256C19, SHA256C1a, SHA256C1b, - SHA256C1c, SHA256C1d, SHA256C1e, SHA256C1f, - SHA256C20, SHA256C21, SHA256C22, SHA256C23, - SHA256C24, SHA256C25, SHA256C26, SHA256C27, - SHA256C28, SHA256C29, SHA256C2a, SHA256C2b, - SHA256C2c, SHA256C2d, SHA256C2e, SHA256C2f, - SHA256C30, SHA256C31, SHA256C32, SHA256C33, - SHA256C34, SHA256C35, SHA256C36, SHA256C37, - SHA256C38, SHA256C39, SHA256C3a, SHA256C3b, - SHA256C3c, SHA256C3d, SHA256C3e, SHA256C3f, -}; +#define SHA256_EXPAND(x,y,z,w) (S1 (x) + y + S0 (z) + w) -#define SHA256_STEP(F0a,F1a,a,b,c,d,e,f,g,h,x,K) \ -{ \ - h += K; \ - h += x; \ - h += S3 (e); \ - h += F1a (e,f,g); \ - d += h; \ - h += S2 (a); \ - h += F0a (a,b,c); \ +// Optimization: ILP optimized SHA256 STEP (T1/T2 formulation). Takes combined K+W (KW). +#define SHA256_STEP_OPT(F0a,F1a,a,b,c,d,e,f,g,h,KW) \ +{ \ + uint T1 = h + S3(e) + F1a(e,f,g) + KW; \ + uint T2 = S2(a) + F0a(a,b,c); \ + d += T1; \ + h = T1 + T2; \ } -#define SHA256_EXPAND(x,y,z,w) (S1 (x) + y + S0 (z) + w) +// Rounds 0-15: Combine K+W using immediate constants. +#define ROUND_0_15_IMM(a, b, c, d, e, f, g, h, w, K_IMM) \ +{ \ + SHA256_STEP_OPT(F0, F1, a, b, c, d, e, f, g, h, w + K_IMM); \ +} + +// Rounds 16-63: Interleaved expansion and compression using immediate constants. +// W_i_16 is updated in place (register reuse). +#define ROUND_16_63_IMM(a, b, c, d, e, f, g, h, W_i_16, W_i_15, W_i_7, W_i_2, K_IMM) \ +{ \ + W_i_16 = SHA256_EXPAND(W_i_2, W_i_7, W_i_15, W_i_16); \ + SHA256_STEP_OPT(F0, F1, a, b, c, d, e, f, g, h, W_i_16 + K_IMM); \ +} +// Maximally optimized SHA256 process function: Fully Unrolled, Interleaved, ILP Optimized, Immediate Constants. static void sha256_process2 (const unsigned int *W, unsigned int *digest) { unsigned int a = digest[0]; @@ -119,6 +119,7 @@ static void sha256_process2 (const unsigned int *W, unsigned int *digest) unsigned int g = digest[6]; unsigned int h = digest[7]; + // Load W into private registers unsigned int w0_t = W[0]; unsigned int w1_t = W[1]; unsigned int w2_t = W[2]; @@ -136,56 +137,82 @@ static void sha256_process2 (const unsigned int *W, unsigned int *digest) unsigned int we_t = W[14]; unsigned int wf_t = W[15]; - #define ROUND_EXPAND() \ - { \ - w0_t = SHA256_EXPAND (we_t, w9_t, w1_t, w0_t); \ - w1_t = SHA256_EXPAND (wf_t, wa_t, w2_t, w1_t); \ - w2_t = SHA256_EXPAND (w0_t, wb_t, w3_t, w2_t); \ - w3_t = SHA256_EXPAND (w1_t, wc_t, w4_t, w3_t); \ - w4_t = SHA256_EXPAND (w2_t, wd_t, w5_t, w4_t); \ - w5_t = SHA256_EXPAND (w3_t, we_t, w6_t, w5_t); \ - w6_t = SHA256_EXPAND (w4_t, wf_t, w7_t, w6_t); \ - w7_t = SHA256_EXPAND (w5_t, w0_t, w8_t, w7_t); \ - w8_t = SHA256_EXPAND (w6_t, w1_t, w9_t, w8_t); \ - w9_t = SHA256_EXPAND (w7_t, w2_t, wa_t, w9_t); \ - wa_t = SHA256_EXPAND (w8_t, w3_t, wb_t, wa_t); \ - wb_t = SHA256_EXPAND (w9_t, w4_t, wc_t, wb_t); \ - wc_t = SHA256_EXPAND (wa_t, w5_t, wd_t, wc_t); \ - wd_t = SHA256_EXPAND (wb_t, w6_t, we_t, wd_t); \ - we_t = SHA256_EXPAND (wc_t, w7_t, wf_t, we_t); \ - wf_t = SHA256_EXPAND (wd_t, w8_t, w0_t, wf_t); \ - } - - #define ROUND_STEP(i) \ - { \ - SHA256_STEP (F0, F1, a, b, c, d, e, f, g, h, w0_t, k_sha256[i + 0]); \ - SHA256_STEP (F0, F1, h, a, b, c, d, e, f, g, w1_t, k_sha256[i + 1]); \ - SHA256_STEP (F0, F1, g, h, a, b, c, d, e, f, w2_t, k_sha256[i + 2]); \ - SHA256_STEP (F0, F1, f, g, h, a, b, c, d, e, w3_t, k_sha256[i + 3]); \ - SHA256_STEP (F0, F1, e, f, g, h, a, b, c, d, w4_t, k_sha256[i + 4]); \ - SHA256_STEP (F0, F1, d, e, f, g, h, a, b, c, w5_t, k_sha256[i + 5]); \ - SHA256_STEP (F0, F1, c, d, e, f, g, h, a, b, w6_t, k_sha256[i + 6]); \ - SHA256_STEP (F0, F1, b, c, d, e, f, g, h, a, w7_t, k_sha256[i + 7]); \ - SHA256_STEP (F0, F1, a, b, c, d, e, f, g, h, w8_t, k_sha256[i + 8]); \ - SHA256_STEP (F0, F1, h, a, b, c, d, e, f, g, w9_t, k_sha256[i + 9]); \ - SHA256_STEP (F0, F1, g, h, a, b, c, d, e, f, wa_t, k_sha256[i + 10]); \ - SHA256_STEP (F0, F1, f, g, h, a, b, c, d, e, wb_t, k_sha256[i + 11]); \ - SHA256_STEP (F0, F1, e, f, g, h, a, b, c, d, wc_t, k_sha256[i + 12]); \ - SHA256_STEP (F0, F1, d, e, f, g, h, a, b, c, wd_t, k_sha256[i + 13]); \ - SHA256_STEP (F0, F1, c, d, e, f, g, h, a, b, we_t, k_sha256[i + 14]); \ - SHA256_STEP (F0, F1, b, c, d, e, f, g, h, a, wf_t, k_sha256[i + 15]); \ - } - - ROUND_STEP (0); - - ROUND_EXPAND(); - ROUND_STEP(16); - - ROUND_EXPAND(); - ROUND_STEP(32); - - ROUND_EXPAND(); - ROUND_STEP(48); + // --- Fully Unrolled Rounds --- + + // Rounds 0-15 + ROUND_0_15_IMM(a, b, c, d, e, f, g, h, w0_t, SHA256C00); + ROUND_0_15_IMM(h, a, b, c, d, e, f, g, w1_t, SHA256C01); + ROUND_0_15_IMM(g, h, a, b, c, d, e, f, w2_t, SHA256C02); + ROUND_0_15_IMM(f, g, h, a, b, c, d, e, w3_t, SHA256C03); + ROUND_0_15_IMM(e, f, g, h, a, b, c, d, w4_t, SHA256C04); + ROUND_0_15_IMM(d, e, f, g, h, a, b, c, w5_t, SHA256C05); + ROUND_0_15_IMM(c, d, e, f, g, h, a, b, w6_t, SHA256C06); + ROUND_0_15_IMM(b, c, d, e, f, g, h, a, w7_t, SHA256C07); + ROUND_0_15_IMM(a, b, c, d, e, f, g, h, w8_t, SHA256C08); + ROUND_0_15_IMM(h, a, b, c, d, e, f, g, w9_t, SHA256C09); + ROUND_0_15_IMM(g, h, a, b, c, d, e, f, wa_t, SHA256C0a); + ROUND_0_15_IMM(f, g, h, a, b, c, d, e, wb_t, SHA256C0b); + ROUND_0_15_IMM(e, f, g, h, a, b, c, d, wc_t, SHA256C0c); + ROUND_0_15_IMM(d, e, f, g, h, a, b, c, wd_t, SHA256C0d); + ROUND_0_15_IMM(c, d, e, f, g, h, a, b, we_t, SHA256C0e); + ROUND_0_15_IMM(b, c, d, e, f, g, h, a, wf_t, SHA256C0f); + + // Rounds 16-31 (Interleaved) + ROUND_16_63_IMM(a, b, c, d, e, f, g, h, w0_t, w1_t, w9_t, we_t, SHA256C10); + ROUND_16_63_IMM(h, a, b, c, d, e, f, g, w1_t, w2_t, wa_t, wf_t, SHA256C11); + ROUND_16_63_IMM(g, h, a, b, c, d, e, f, w2_t, w3_t, wb_t, w0_t, SHA256C12); + ROUND_16_63_IMM(f, g, h, a, b, c, d, e, w3_t, w4_t, wc_t, w1_t, SHA256C13); + ROUND_16_63_IMM(e, f, g, h, a, b, c, d, w4_t, w5_t, wd_t, w2_t, SHA256C14); + ROUND_16_63_IMM(d, e, f, g, h, a, b, c, w5_t, w6_t, we_t, w3_t, SHA256C15); + ROUND_16_63_IMM(c, d, e, f, g, h, a, b, w6_t, w7_t, wf_t, w4_t, SHA256C16); + ROUND_16_63_IMM(b, c, d, e, f, g, h, a, w7_t, w8_t, w0_t, w5_t, SHA256C17); + ROUND_16_63_IMM(a, b, c, d, e, f, g, h, w8_t, w9_t, w1_t, w6_t, SHA256C18); + ROUND_16_63_IMM(h, a, b, c, d, e, f, g, w9_t, wa_t, w2_t, w7_t, SHA256C19); + ROUND_16_63_IMM(g, h, a, b, c, d, e, f, wa_t, wb_t, w3_t, w8_t, SHA256C1a); + ROUND_16_63_IMM(f, g, h, a, b, c, d, e, wb_t, wc_t, w4_t, w9_t, SHA256C1b); + ROUND_16_63_IMM(e, f, g, h, a, b, c, d, wc_t, wd_t, w5_t, wa_t, SHA256C1c); + ROUND_16_63_IMM(d, e, f, g, h, a, b, c, wd_t, we_t, w6_t, wb_t, SHA256C1d); + ROUND_16_63_IMM(c, d, e, f, g, h, a, b, we_t, wf_t, w7_t, wc_t, SHA256C1e); + ROUND_16_63_IMM(b, c, d, e, f, g, h, a, wf_t, w0_t, w8_t, wd_t, SHA256C1f); + + // Rounds 32-47 (Interleaved) + ROUND_16_63_IMM(a, b, c, d, e, f, g, h, w0_t, w1_t, w9_t, we_t, SHA256C20); + ROUND_16_63_IMM(h, a, b, c, d, e, f, g, w1_t, w2_t, wa_t, wf_t, SHA256C21); + ROUND_16_63_IMM(g, h, a, b, c, d, e, f, w2_t, w3_t, wb_t, w0_t, SHA256C22); + ROUND_16_63_IMM(f, g, h, a, b, c, d, e, w3_t, w4_t, wc_t, w1_t, SHA256C23); + ROUND_16_63_IMM(e, f, g, h, a, b, c, d, w4_t, w5_t, wd_t, w2_t, SHA256C24); + ROUND_16_63_IMM(d, e, f, g, h, a, b, c, w5_t, w6_t, we_t, w3_t, SHA256C25); + ROUND_16_63_IMM(c, d, e, f, g, h, a, b, w6_t, w7_t, wf_t, w4_t, SHA256C26); + ROUND_16_63_IMM(b, c, d, e, f, g, h, a, w7_t, w8_t, w0_t, w5_t, SHA256C27); + ROUND_16_63_IMM(a, b, c, d, e, f, g, h, w8_t, w9_t, w1_t, w6_t, SHA256C28); + ROUND_16_63_IMM(h, a, b, c, d, e, f, g, w9_t, wa_t, w2_t, w7_t, SHA256C29); + ROUND_16_63_IMM(g, h, a, b, c, d, e, f, wa_t, wb_t, w3_t, w8_t, SHA256C2a); + ROUND_16_63_IMM(f, g, h, a, b, c, d, e, wb_t, wc_t, w4_t, w9_t, SHA256C2b); + ROUND_16_63_IMM(e, f, g, h, a, b, c, d, wc_t, wd_t, w5_t, wa_t, SHA256C2c); + ROUND_16_63_IMM(d, e, f, g, h, a, b, c, wd_t, we_t, w6_t, wb_t, SHA256C2d); + ROUND_16_63_IMM(c, d, e, f, g, h, a, b, we_t, wf_t, w7_t, wc_t, SHA256C2e); + ROUND_16_63_IMM(b, c, d, e, f, g, h, a, wf_t, w0_t, w8_t, wd_t, SHA256C2f); + + // Rounds 48-63 (Interleaved) + ROUND_16_63_IMM(a, b, c, d, e, f, g, h, w0_t, w1_t, w9_t, we_t, SHA256C30); + ROUND_16_63_IMM(h, a, b, c, d, e, f, g, w1_t, w2_t, wa_t, wf_t, SHA256C31); + ROUND_16_63_IMM(g, h, a, b, c, d, e, f, w2_t, w3_t, wb_t, w0_t, SHA256C32); + ROUND_16_63_IMM(f, g, h, a, b, c, d, e, w3_t, w4_t, wc_t, w1_t, SHA256C33); + ROUND_16_63_IMM(e, f, g, h, a, b, c, d, w4_t, w5_t, wd_t, w2_t, SHA256C34); + ROUND_16_63_IMM(d, e, f, g, h, a, b, c, w5_t, w6_t, we_t, w3_t, SHA256C35); + ROUND_16_63_IMM(c, d, e, f, g, h, a, b, w6_t, w7_t, wf_t, w4_t, SHA256C36); + ROUND_16_63_IMM(b, c, d, e, f, g, h, a, w7_t, w8_t, w0_t, w5_t, SHA256C37); + ROUND_16_63_IMM(a, b, c, d, e, f, g, h, w8_t, w9_t, w1_t, w6_t, SHA256C38); + ROUND_16_63_IMM(h, a, b, c, d, e, f, g, w9_t, wa_t, w2_t, w7_t, SHA256C39); + ROUND_16_63_IMM(g, h, a, b, c, d, e, f, wa_t, wb_t, w3_t, w8_t, SHA256C3a); + ROUND_16_63_IMM(f, g, h, a, b, c, d, e, wb_t, wc_t, w4_t, w9_t, SHA256C3b); + ROUND_16_63_IMM(e, f, g, h, a, b, c, d, wc_t, wd_t, w5_t, wa_t, SHA256C3c); + ROUND_16_63_IMM(d, e, f, g, h, a, b, c, wd_t, we_t, w6_t, wb_t, SHA256C3d); + ROUND_16_63_IMM(c, d, e, f, g, h, a, b, we_t, wf_t, w7_t, wc_t, SHA256C3e); + ROUND_16_63_IMM(b, c, d, e, f, g, h, a, wf_t, w0_t, w8_t, wd_t, SHA256C3f); + + #undef ROUND_0_15_IMM + #undef ROUND_16_63_IMM digest[0] += a; digest[1] += b; @@ -203,9 +230,12 @@ static void sha256_process2 (const unsigned int *W, unsigned int *digest) #undef S1 #undef S2 #undef S3 - #undef shr32 #undef rotl32 +#undef SHA256_STEP_OPT + +// --- Configuration injected from host (Placeholders) --- + // first 64 bytes of code cell (constant w.r.t salt), injected from host __constant uchar CODE_PREFIX[64] = { <> }; __constant uint CODE_STATE_BASE[8] = { <> }; @@ -236,9 +266,7 @@ __constant uchar CASE_ALT1[N_CASE_INSENSITIVE] = { <> }; __constant ushort CRC16_TABLE[256] = { <> }; __constant uchar STATEINIT_PREFIX_LENS[N_STATEINIT_VARIANTS] = { <> }; -__constant uchar STATEINIT_PREFIX_VARIANTS[N_STATEINIT_VARIANTS][STATEINIT_PREFIX_MAX_LEN] = { - <> -}; +// STATEINIT_PREFIX_VARIANTS is unused in the optimized kernel logic. #if N_ACTIVE > 0 __constant uchar PREFIX_POS[N_ACTIVE] = { <> }; @@ -247,7 +275,7 @@ __constant uchar PREFIX_POS[N_ACTIVE] = { <> }; __constant uchar PREFIX_POS_NOCRC[N_ACTIVE_NOCRC] = { <> }; #endif -// prepacked prefix contribution to message block words +// prepacked prefix contribution to message block words (Assumed zero-padded by host) __constant uint PREFIX_W[N_STATEINIT_VARIANTS][16] = { <> }; @@ -257,11 +285,13 @@ __constant uint SHA256_IV[8] = { 0x510e527fu, 0x9b05688cu, 0x1f83d9abu, 0x5be0cd19u }; -// Fast CRC16-CCITT using lookup table (poly 0x1021, init 0x0000) -inline ushort gen_crc16_fast(const uchar *data, int size) +// Optimization: Specialized and fully unrolled CRC16-CCITT for 34 bytes. +inline ushort gen_crc16_fast_34(const uchar *data) { ushort crc = 0; - for (int i = 0; i < size; i++) { + #pragma unroll + for (int i = 0; i < 34; i++) { + // The (& 0xff) is technically redundant if types are strictly respected, but ensures correctness. crc = (ushort)((crc << 8) ^ CRC16_TABLE[((crc >> 8) ^ data[i]) & 0xff]); } return crc; @@ -279,102 +309,136 @@ __kernel void hash_main( { uint idx = get_global_id(0); + // Allocate private memory (registers) uint W[16]; uint code_hash_state[8]; uint main_hash[8]; for (int iter = 0; iter < iterations; iter++) { - // derive 128-bit salt from base salt and (iter, idx) + // --- First Hash (Code Hash) --- + + // derive 128-bit salt uint s0 = salt0 ^ (uint)iter; uint s1 = salt1 ^ (uint)idx; uint s2 = salt2; uint s3 = salt3; + // Prepare message block W (BE). Using optimized SWAP. W[0] = SWAP(s0); W[1] = SWAP(s1); W[2] = SWAP(s2); W[3] = SWAP(s3); W[4] = 0x80000000u; - W[5] = 0u; - W[6] = 0u; - W[7] = 0u; - W[8] = 0u; - W[9] = 0u; - W[10] = 0u; - W[11] = 0u; - W[12] = 0u; - W[13] = 0u; - W[14] = 0u; - W[15] = 640u; // total bits of code cell (80 bytes) + #pragma unroll + for (int i = 5; i < 15; i++) { + W[i] = 0u; + } + W[15] = 640u; // 80 bytes * 8 bits/byte + // Calculate code_hash_state #pragma unroll for (int i = 0; i < 8; i++) { code_hash_state[i] = CODE_STATE_BASE[i]; } sha256_process2(W, code_hash_state); - #pragma unroll - for (int i = 0; i < 8; i++) { - code_hash_state[i] = SWAP(code_hash_state[i]); - } + // code_hash_state is now in Big Endian format. - uchar *ch = (uchar *)code_hash_state; + // --- Second Hash (Main Hash) and Checks --- - #if N_STATEINIT_VARIANTS == 5 + // Aggressively unroll the variant loop if count is small (e.g. <= 16). + #if N_STATEINIT_VARIANTS > 0 && N_STATEINIT_VARIANTS <= 16 #pragma unroll #endif for (int v = 0; v < N_STATEINIT_VARIANTS; v++) { uchar prefix_len = STATEINIT_PREFIX_LENS[v]; - const int main_len = (int)prefix_len + 32; // bytes, always < 56 here + const int main_len = (int)prefix_len + 32; + // Initialize W (BE) from pre-packed prefix words (BE) #pragma unroll for (int i = 0; i < 16; i++) { W[i] = PREFIX_W[v][i]; } - // insert code hash bytes into pre-packed prefix words - for (int j = 0; j < 32; j++) { - int idx_b = (int)prefix_len + j; - int w = idx_b >> 2; - int shift = 24 - ((idx_b & 3) * 8); - W[w] |= (uint)ch[j] << shift; + // Optimization: Word-level Message Block Packing (Funnel Shifting). + // Insert code_hash_state (BE) into W (BE). + const uint alignment = prefix_len & 3; + const int start_w = prefix_len >> 2; + + if (alignment == 0) { + // Aligned insertion + #pragma unroll + for (int i = 0; i < 8; i++) { + // Use |= assuming PREFIX_W is zero-padded correctly. + W[start_w + i] |= code_hash_state[i]; + } + } else { + // Unaligned insertion (Right funnel shift for BE data). + const uint shift_r = alignment << 3; // alignment * 8 + const uint shift_l = 32 - shift_r; + + uint prev = 0; + #pragma unroll + for (int i = 0; i < 8; i++) { + uint current = code_hash_state[i]; + // Funnel shift: merge prev (high part/spillover) and current (low part). + W[start_w + i] |= (current >> shift_r) | prev; + // Calculate spillover for the next word. + prev = current << shift_l; + } + // Handle the final spillover word. (Safe because main_len < 56). + W[start_w + 8] |= prev; } - // padding bit + // Add padding bit int pad_w = main_len >> 2; - int pad_shift = 24 - ((main_len & 3) * 8); + int pad_shift = 24 - ((main_len & 3) << 3); // Optimized shift calculation W[pad_w] |= (uint)0x80 << pad_shift; - // length in bits - W[15] = (uint)main_len * 8u; + // Add length in bits (BE). Optimized multiplication. + W[15] = (uint)main_len << 3; + // Calculate main_hash #pragma unroll for (int i = 0; i < 8; i++) { main_hash[i] = SHA256_IV[i]; } sha256_process2(W, main_hash); + + // Swap main_hash (BE) to LE for efficient byte extraction during checks. #pragma unroll for (int i = 0; i < 8; i++) { main_hash[i] = SWAP(main_hash[i]); } - // --- OPTIMIZATION START --- - uchar *mhb = (uchar *)main_hash; + // --- Constraint Checking --- int ok = 1; - // rewrite first hash byte with FREE_HASH_MASK/FREE_HASH_VAL - uchar hash0 = (uchar)((mhb[0] & (~FREE_HASH_MASK)) | (FREE_HASH_VAL & FREE_HASH_MASK)); + // Calculate hash0 (modified first byte H0). H0 is LSB of main_hash[0] (LE). + uchar H0 = (uchar)(main_hash[0] & 0xFF); + uchar hash0 = (uchar)((H0 & (~FREE_HASH_MASK)) | (FREE_HASH_VAL & FREE_HASH_MASK)); - // early check on non-CRC constrained bytes + // Early check on non-CRC constrained bytes #if N_ACTIVE_NOCRC > 0 + // Optimization: Use explicit byte extraction and rigorously preserve original logic. if (ok) { #pragma unroll for (int j = 0; j < N_ACTIVE_NOCRC; j++) { int i = PREFIX_POS_NOCRC[j]; - uchar val = 0; + uchar val; + + // Replicating the original logic: + // val = (i >= 3 && i < 34) ? mhb[i - 2] : (uchar)0; (if i!=2 and 0<=i<36) if (i == 2) { val = hash0; + } else if (i >= 3 && i < 34) { + // H1..H31. + val = GET_BYTE_LE_ARRAY(main_hash, i - 2); } else if (i >= 0 && i < 36) { - val = (i >= 3 && i < 34) ? mhb[i - 2] : (uchar)0; + // i=0, 1, 34, 35. Original logic explicitly used 0 here. + val = 0; + } else { + val = 0; // Fallback for out of bounds } + if ((val & PREFIX_MASK[i]) != PREFIX_VAL[i]) { ok = 0; break; @@ -384,24 +448,29 @@ __kernel void hash_main( #endif if (ok) { + // Construct the full representation array uchar repr[36]; repr[0] = (uchar)FLAGS_HI; repr[1] = (uchar)FLAGS_LO; repr[2] = hash0; + // Copy remaining hash bytes (H1..H31) using optimized extraction #pragma unroll for (int k = 1; k < 32; k++) { - repr[2 + k] = mhb[k]; + repr[2 + k] = GET_BYTE_LE_ARRAY(main_hash, k); } + // Initialize CRC bytes (required if HAS_CRC_CONSTRAINT is false but N_CASE_INSENSITIVE uses these bytes) repr[34] = 0; repr[35] = 0; if (HAS_CRC_CONSTRAINT) { - ushort crc = gen_crc16_fast((uchar *)repr, 34); + // Use optimized, unrolled CRC function. + ushort crc = gen_crc16_fast_34((uchar *)repr); repr[34] = (uchar)(crc >> 8); repr[35] = (uchar)(crc & 0xffu); + // Check CRC-dependent constraints #if N_ACTIVE > 0 #pragma unroll for (int j = 0; j < N_ACTIVE; j++) { @@ -414,15 +483,23 @@ __kernel void hash_main( #endif } + // Check case-insensitivity constraints #if N_CASE_INSENSITIVE > 0 if (ok) { #pragma unroll for (int j = 0; j < N_CASE_INSENSITIVE; j++) { ushort bit = CASE_BITPOS[j]; - int byte = (int)(bit >> 3); + int byte_idx = (int)(bit >> 3); int bit_in_byte = 7 - (int)(bit & 7); - ushort comb = ((ushort)repr[byte] << 8) | (ushort)((byte + 1 < 36) ? repr[byte + 1] : 0); + + // Read 16 bits safely across boundary + uchar byte0 = repr[byte_idx]; + uchar byte1 = (byte_idx + 1 < 36) ? repr[byte_idx + 1] : 0; + + ushort comb = ((ushort)byte0 << 8) | (ushort)byte1; + // Extract the 6-bit value uchar val6 = (uchar)((comb >> (bit_in_byte + 3)) & 0x3fu); + if ((val6 != CASE_ALT0[j]) && (val6 != CASE_ALT1[j])) { ok = 0; break; @@ -431,6 +508,7 @@ __kernel void hash_main( } #endif + // Report result if all checks pass if (ok) { uint slot = atomic_inc(found_counter); if (slot < 1024u) { @@ -440,7 +518,6 @@ __kernel void hash_main( } } } - // --- OPTIMIZATION END --- } } } diff --git a/tests/results.json b/tests/results.json index a16c42c..b16e575 100644 --- a/tests/results.json +++ b/tests/results.json @@ -67,6 +67,40 @@ "timedOut": true } ] + }, + { + "title": "PR #25", + "timestamp": 1764879135.679, + "cases": [ + { + "name": "start 5 cs", + "hits": 1395, + "seconds": 18.928040981292725, + "rate": 73.64734688485413, + "timedOut": true + }, + { + "name": "start 5 ci", + "hits": 5298, + "seconds": 18.87300205230713, + "rate": 280.6654704598238, + "timedOut": true + }, + { + "name": "end 4 cs", + "hits": 1594, + "seconds": 19.079343795776367, + "rate": 83.49343756532369, + "timedOut": true + }, + { + "name": "end 4 ci", + "hits": 19995, + "seconds": 19.20115089416504, + "rate": 1041.2917491355113, + "timedOut": true + } + ] } ], "NVIDIA GeForce RTX 4090": [ @@ -78,7 +112,7 @@ "name": "end 5 ci", "hits": 30, "seconds": 30, - "rate": 1.0, + "rate": 1, "timedOut": true }, { @@ -92,7 +126,7 @@ "name": "start 5 ci", "hits": 30, "seconds": 30, - "rate": 1.0, + "rate": 1, "timedOut": true }, { From f134a00db7c448689f5439099478ac8513e265d2 Mon Sep 17 00:00:00 2001 From: Gusarich Date: Fri, 5 Dec 2025 00:16:00 +0300 Subject: [PATCH 2/6] feat: use `end 5 ci` as default --- tests/Benchmark.spec.ts | 4 ++-- tests/results.json | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/Benchmark.spec.ts b/tests/Benchmark.spec.ts index 02f0d8e..d41ae20 100644 --- a/tests/Benchmark.spec.ts +++ b/tests/Benchmark.spec.ts @@ -113,7 +113,7 @@ const chooseBenchCases = (names: string[]): BenchCase[] => { { name: 'start 5 cs', start: 'WERTY', caseSensitive: true }, { name: 'start 5 ci', start: 'WeRtY', caseSensitive: false }, { name: 'end 4 cs', end: 'WERT', caseSensitive: true }, - { name: 'end 4 ci', end: 'WeRt', caseSensitive: false }, + { name: 'end 5 ci', end: 'WeRtY', caseSensitive: false }, ]; const lower = names.join(' ').toLowerCase(); const isRTX3Plus = /rtx\s*(3|4|5)\d{2,3}/i.test(lower); @@ -144,7 +144,7 @@ const benchCases: BenchCase[] = (() => { { name: 'start 5 cs', start: 'WERTY', caseSensitive: true }, { name: 'start 5 ci', start: 'WeRtY', caseSensitive: false }, { name: 'end 4 cs', end: 'WERT', caseSensitive: true }, - { name: 'end 4 ci', end: 'WeRt', caseSensitive: false }, + { name: 'end 5 ci', end: 'WeRtY', caseSensitive: false }, ]; })(); const deviceNames = new Set(); diff --git a/tests/results.json b/tests/results.json index b16e575..1cd927e 100644 --- a/tests/results.json +++ b/tests/results.json @@ -70,7 +70,7 @@ }, { "title": "PR #25", - "timestamp": 1764879135.679, + "timestamp": 1764882858.415, "cases": [ { "name": "start 5 cs", @@ -94,10 +94,10 @@ "timedOut": true }, { - "name": "end 4 ci", - "hits": 19995, - "seconds": 19.20115089416504, - "rate": 1041.2917491355113, + "name": "end 5 ci", + "hits": 738, + "seconds": 19.47322678565979, + "rate": 37.84683494482443, "timedOut": true } ] From 6f883a5f46a16d0953e6d1d4e86e12c9bb4f4c37 Mon Sep 17 00:00:00 2001 From: Gusarich Date: Fri, 5 Dec 2025 00:37:35 +0300 Subject: [PATCH 3/6] tmp --- src/kernel.cl | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/src/kernel.cl b/src/kernel.cl index b6aec1b..aca11bc 100644 --- a/src/kernel.cl +++ b/src/kernel.cl @@ -408,6 +408,7 @@ __kernel void hash_main( for (int i = 0; i < 8; i++) { main_hash[i] = SWAP(main_hash[i]); } + uchar *mhb = (uchar *)main_hash; // --- Constraint Checking --- int ok = 1; @@ -418,25 +419,16 @@ __kernel void hash_main( // Early check on non-CRC constrained bytes #if N_ACTIVE_NOCRC > 0 - // Optimization: Use explicit byte extraction and rigorously preserve original logic. if (ok) { #pragma unroll for (int j = 0; j < N_ACTIVE_NOCRC; j++) { int i = PREFIX_POS_NOCRC[j]; - uchar val; - - // Replicating the original logic: - // val = (i >= 3 && i < 34) ? mhb[i - 2] : (uchar)0; (if i!=2 and 0<=i<36) + uchar val = 0; if (i == 2) { val = hash0; - } else if (i >= 3 && i < 34) { - // H1..H31. - val = GET_BYTE_LE_ARRAY(main_hash, i - 2); } else if (i >= 0 && i < 36) { - // i=0, 1, 34, 35. Original logic explicitly used 0 here. - val = 0; - } else { - val = 0; // Fallback for out of bounds + // Original logic: non-hash/CRC bytes read as 0; hash bytes via mhb. + val = (i >= 3 && i < 34) ? mhb[i - 2] : (uchar)0; } if ((val & PREFIX_MASK[i]) != PREFIX_VAL[i]) { From ef42c3e7a6e55f994b1986739b71c71702037254 Mon Sep 17 00:00:00 2001 From: Gusarich Date: Fri, 5 Dec 2025 00:47:41 +0300 Subject: [PATCH 4/6] Revert "tmp" This reverts commit 6f883a5f46a16d0953e6d1d4e86e12c9bb4f4c37. --- src/kernel.cl | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/kernel.cl b/src/kernel.cl index aca11bc..b6aec1b 100644 --- a/src/kernel.cl +++ b/src/kernel.cl @@ -408,7 +408,6 @@ __kernel void hash_main( for (int i = 0; i < 8; i++) { main_hash[i] = SWAP(main_hash[i]); } - uchar *mhb = (uchar *)main_hash; // --- Constraint Checking --- int ok = 1; @@ -419,16 +418,25 @@ __kernel void hash_main( // Early check on non-CRC constrained bytes #if N_ACTIVE_NOCRC > 0 + // Optimization: Use explicit byte extraction and rigorously preserve original logic. if (ok) { #pragma unroll for (int j = 0; j < N_ACTIVE_NOCRC; j++) { int i = PREFIX_POS_NOCRC[j]; - uchar val = 0; + uchar val; + + // Replicating the original logic: + // val = (i >= 3 && i < 34) ? mhb[i - 2] : (uchar)0; (if i!=2 and 0<=i<36) if (i == 2) { val = hash0; + } else if (i >= 3 && i < 34) { + // H1..H31. + val = GET_BYTE_LE_ARRAY(main_hash, i - 2); } else if (i >= 0 && i < 36) { - // Original logic: non-hash/CRC bytes read as 0; hash bytes via mhb. - val = (i >= 3 && i < 34) ? mhb[i - 2] : (uchar)0; + // i=0, 1, 34, 35. Original logic explicitly used 0 here. + val = 0; + } else { + val = 0; // Fallback for out of bounds } if ((val & PREFIX_MASK[i]) != PREFIX_VAL[i]) { From fe08eda19a4ec400f5e21ef7d6e74933f2f91d80 Mon Sep 17 00:00:00 2001 From: Daniil Sedov Date: Fri, 5 Dec 2025 00:54:14 +0300 Subject: [PATCH 5/6] rtx 4090 --- tests/results.json | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/results.json b/tests/results.json index 1cd927e..a975fb1 100644 --- a/tests/results.json +++ b/tests/results.json @@ -171,6 +171,40 @@ "timedOut": true } ] + }, + { + "title": "PR #25", + "timestamp": 1764885173.198, + "cases": [ + { + "name": "start 6 cs", + "hits": 283, + "seconds": 19.482248783111572, + "rate": 14.474715067002695, + "timedOut": true + }, + { + "name": "start 6 ci", + "hits": 2290, + "seconds": 19.563318490982056, + "rate": 117.0046892123717, + "timedOut": true + }, + { + "name": "end 5 cs", + "hits": 242, + "seconds": 18.74107551574707, + "rate": 12.85945407975659, + "timedOut": true + }, + { + "name": "end 5 ci", + "hits": 7166, + "seconds": 18.747441053390503, + "rate": 382.18549292113653, + "timedOut": true + } + ] } ] } From 80feda3c0e50da86325e73103acdcf23b5003974 Mon Sep 17 00:00:00 2001 From: Gusarich Date: Fri, 5 Dec 2025 00:57:23 +0300 Subject: [PATCH 6/6] feat: new benchmark png --- scripts/chart.py | 67 ++++++++++++++++++++++++++++++++----------- tests/benchmarks.png | Bin 79640 -> 80057 bytes 2 files changed, 50 insertions(+), 17 deletions(-) diff --git a/scripts/chart.py b/scripts/chart.py index 3456115..de18eac 100644 --- a/scripts/chart.py +++ b/scripts/chart.py @@ -112,33 +112,63 @@ def parse_case_name(name: str) -> tuple[str, int, bool] | None: return position, length, case_insensitive +def _extract_rates_from_entry(entry: dict) -> dict[str, float]: + """Extract normalized rates for all categories from a single JSON entry.""" + rates: dict[str, float] = {} + + for case in entry.get("cases", []): + name = case.get("name", "") + rate = case.get("rate") + + if not isinstance(rate, (int, float)): + continue + + parsed = parse_case_name(name) + if not parsed: + continue + + position, length, case_insensitive = parsed + ci_str = "ci" if case_insensitive else "cs" + category = f"{position} 5 {ci_str}" + + rates[category] = normalize_rate(rate, length, case_insensitive) + + return rates + + def extract_rates(entries: list[dict], title: str) -> dict[str, float]: """Extract normalized rates for each category from benchmark entries.""" for entry in entries: if entry.get("title") != title: continue + return _extract_rates_from_entry(entry) - rates = {} - for case in entry.get("cases", []): - name = case.get("name", "") - rate = case.get("rate") - - if not isinstance(rate, (int, float)): - continue + return {} - parsed = parse_case_name(name) - if not parsed: - continue - position, length, case_insensitive = parsed - ci_str = "ci" if case_insensitive else "cs" - category = f"{position} 5 {ci_str}" +def extract_latest_new_rates(entries: list[dict]) -> dict[str, float]: + """ + Extract normalized rates for the "new" implementation as + the latest entry (by timestamp) per device, excluding the + old implementation baseline. + """ + latest_entry: dict | None = None + latest_ts: float | None = None - rates[category] = normalize_rate(rate, length, case_insensitive) + for entry in entries: + if entry.get("title") == OLD_IMPL: + continue + ts = entry.get("timestamp") + if not isinstance(ts, (int, float)): + continue + if latest_ts is None or ts > latest_ts: + latest_ts = ts + latest_entry = entry - return rates + if latest_entry is None: + return {} - return {} + return _extract_rates_from_entry(latest_entry) def build_benchmark_data(raw_data: dict) -> list[BenchmarkResult]: @@ -147,7 +177,10 @@ def build_benchmark_data(raw_data: dict) -> list[BenchmarkResult]: for device, entries in raw_data.items(): old_rates = extract_rates(entries, OLD_IMPL) - new_rates = extract_rates(entries, NEW_IMPL) + # For the "new" implementation, always take the latest + # entry per device (by timestamp), so charts reflect the + # most recent benchmark run. + new_rates = extract_latest_new_rates(entries) if not old_rates or not new_rates: continue diff --git a/tests/benchmarks.png b/tests/benchmarks.png index d40b36f3a336efa14e3cdeb374c954897073e20f..87d6e5333bbe7bdd72bb51a7d7b9efba3e5cc0e0 100644 GIT binary patch literal 80057 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Ν2zBo!Jp0 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 dnKHgtCP!S;H{av2T$z#=gwh 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 z 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%0D(`Z6maV!rQ9Vu2C+m)WJ@XDgK%RC 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 UqpvJC^})&9R=AZVdH>n}0!nNid;kCd