From: Chris Duncan Date: Wed, 12 Mar 2025 21:18:25 +0000 (-0700) Subject: Add debug logging to GPU. X-Git-Tag: v3.1.0~9^2~7 X-Git-Url: https://zoso.dev/?a=commitdiff_plain;h=c538316ba3179868849e58c28e946cc9594a541e;p=nano-pow.git Add debug logging to GPU. --- diff --git a/src/classes/gpu.ts b/src/classes/gpu.ts index dc9b00f..0d98770 100644 --- a/src/classes/gpu.ts +++ b/src/classes/gpu.ts @@ -234,6 +234,7 @@ export class NanoPowGpu { ? 0x800 : options.effort * 0x100 this.#debug = !!(options?.debug) + if (this.#debug) console.log('blockhash', hash) if (this.#debug) console.log('search options', JSON.stringify(options)) // Ensure WebGPU is initialized before calculating @@ -259,6 +260,7 @@ export class NanoPowGpu { if (this.#debug) console.log(`seed: ${seed}`) const data = await this.#dispatch(this.#searchPipeline, seed, hash, threshold, effort) nonce = data.getBigUint64(0, true) + if (this.#debug) console.log('nonce', nonce, nonce.toString(16).padStart(16, '0')) this.#busy = !data.getUint32(8) times.push(performance.now() - start) } while (this.#busy) @@ -290,6 +292,7 @@ export class NanoPowGpu { ? 0xfffffff8 : options.threshold this.#debug = !!(options?.debug) + if (this.#debug) console.log('blockhash', hash) if (this.#debug) console.log('validate options', JSON.stringify(options)) // Ensure WebGPU is initialized before calculating @@ -307,11 +310,11 @@ export class NanoPowGpu { const seed = BigInt(`0x${work}`) if (this.#debug) console.log(`work: ${work}`) const data = await this.#dispatch(this.#validatePipeline, seed, hash, threshold, 1) - const nonce = data.getBigUint64(0, true).toString(16).padStart(16, '0') - if (this.#debug) console.log(`nonce: ${nonce}`) + const nonce = data.getBigUint64(0, true) + if (this.#debug) console.log('nonce', nonce, nonce.toString(16).padStart(16, '0')) const found = !!data.getUint32(8) this.#busy = false - if (found && work !== nonce) throw new Error(`Nonce (${nonce}) found but does not match work (${work})`) + if (found && work !== nonce.toString(16).padStart(16, '0')) throw new Error(`Nonce (${nonce.toString(16).padStart(16, '0')}) found but does not match work (${work})`) return found } }