igneum-pow 0.2.0: generator v2 draws exactly 16 load slots from instructions 1..63, a load's source from the registers written earlier and not read by a load since, the other 48 ops from the ten non-load weights; accept.rs is spec 01 section 1.4.6 (static: no stale load source, every register injected; dynamic: 64 units on the seed-keyed closed-form dataset, no constant bit, no lane-constant site, under 164 saturated, bias within 136 of 1024, distinct addresses above 245,760); a rejected candidate is replaced by the next attempt of the seed (seed || k_le32), 32 a consensus fault. Packs carry the generator version, attempt and program id. Version 1 kept as generate_v1 for the census. Packs: igneum-genesis, igneum-hourly, igneum-genesis-mh regenerated by igneum-pow export; new igneum-devnet-v4-epoch0 (devnet genesis hash, day bytes 20730). Checks: Rust 39 of 39 tests; Metal natively via the Swift port (export cross-check 3 of 3 warps, identical programs and vectors on five seeds incl. three with attempt 1, fuzz 2,000 of 2,000); CUDA emu 4 of 4 packs; OpenCL emu 2 packs x 2 configurations; Apple OpenCL 4 of 4 packs at 27.9 Mhash/s. Census 20,000: 5.225 percent rejected, accepted distinct mean 127.887. Spec 01 0.2 (1.4.2, 1.4.3, 1.4.6, 1.11, 1.15, 1.16, 1.17), igneum-pow README, the CUDA, OpenCL and Metal test notes, bench-log entry, ledger M5 and M6 Fixed. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
47 lines
5 KiB
C++
47 lines
5 KiB
C++
// Generated by igneum-pow export (generator v2) for seed "igneum-genesis". Do not edit by hand.
|
|
// Expected outputs: igneum-pow (Rust) CPU interpreter, generator v2, closed-form dataset
|
|
#pragma once
|
|
#ifdef __cplusplus
|
|
#include <cstdint>
|
|
#else
|
|
#include <stdint.h>
|
|
#endif
|
|
|
|
#define IGNEUM_VEC_WARPS 3
|
|
static const uint32_t IGNEUM_VEC_BASE[IGNEUM_VEC_WARPS] = { 0u, 4096u, 1000000u };
|
|
static const uint64_t IGNEUM_VEC_OUT[IGNEUM_VEC_WARPS][32] = {
|
|
{ // base nonce 0
|
|
0x31e7555c3dfd007full, 0x504db59fe5dbe7ecull, 0x40245e17aa00c1daull, 0x41072786c448a218ull, 0xad24c5fd54221ae1ull, 0xdb5a2d3c12002fbdull, 0x4c4f375ff4397f2bull, 0x168fd09d50861741ull,
|
|
0x37e7ff0f8ad4e164ull, 0xb8f283fcf9ec7c45ull, 0xeae42085b3de9e1bull, 0xe9485b57f2bf3e7bull, 0xe9710ec888bad149ull, 0x2f79adf888179b91ull, 0xbedccd717aaed652ull, 0xbd748a9b3e1bc54full,
|
|
0x41309662f79b53a0ull, 0x81e5230ebeefc1deull, 0xbcee43f20b08fa91ull, 0x0aedf8399a54dc49ull, 0x55e0cad163ce23eeull, 0x7500caccfdb72ebfull, 0x70e55ef021e6ae7bull, 0xc7ade69c9691176full,
|
|
0x098eb370ff045d40ull, 0x8d79439fbf37aec8ull, 0xd318d93b86a2f612ull, 0x899bc50487532ae4ull, 0x47b8a0f002c5b1bdull, 0x52dafc738fb7f023ull, 0x4fa59d427c7ad89full, 0xaab617183923ab2aull
|
|
},
|
|
{ // base nonce 4096
|
|
0x7d4a15e723d8817full, 0x2bcdf701795dec45ull, 0x7717812a29875d92ull, 0x9e49e845ba8b23c5ull, 0x6963b6c7e297f4c4ull, 0xbebcda40625761aaull, 0x6083dd36d5abf8f3ull, 0x81206a07d9bbeaa3ull,
|
|
0xd9f2a9013fd61b70ull, 0x5989d0df80bb696eull, 0x190a28c488cce037ull, 0x509d459608856838ull, 0x40f83aab28ed3347ull, 0x4042ded5f4ef3130ull, 0x64f2c36a1e9bba58ull, 0xbf0a2c66b322d325ull,
|
|
0x35e9b6f18cd7bb5dull, 0x1cca51c37a7494c2ull, 0x46e46e297ad731cbull, 0x55d054ff7d0e95a9ull, 0xc0442156654b1e3bull, 0x16d42f3229fd7a15ull, 0x21217990d564f3dfull, 0x327fbd5f661f5e5dull,
|
|
0x9156974deada88e4ull, 0x115951ae239cb392ull, 0x5ac3d4c4850de851ull, 0x2851edaffc3dc794ull, 0xf7d1aed104349d6dull, 0x87f3bca79811253full, 0x4f2d749c2fbd3546ull, 0x601afcfa08fa5865ull
|
|
},
|
|
{ // base nonce 1000000
|
|
0x9ce07319b124a0d5ull, 0x4349cd39e0d740b5ull, 0xcb681f7c18702383ull, 0xefa90e1ccc2a2b0cull, 0x116c915bca40a85full, 0x0e8323325a63a231ull, 0x7fa7607212b9129bull, 0x5fcd9021b217d391ull,
|
|
0x9441c1bcbda71988ull, 0xc3322820075d7d22ull, 0x169f475188a31b53ull, 0x9e36cadfb6db42dbull, 0x5a29514f523ca4b2ull, 0x37403b02111cae70ull, 0x2bd904fbe89dc528ull, 0x79d81ed80afd1d00ull,
|
|
0xf2a50f3cf0516787ull, 0xb3a3a65396b871b3ull, 0xb33190a0b7d859f5ull, 0x9116c7f365b8435bull, 0xf40aba86a73d8ca7ull, 0xe6fe2a11c145fcf9ull, 0x34121d9f8bf51129ull, 0xe219b2070364f3f1ull,
|
|
0x9ea4199ee8d9b61cull, 0x071e4094c8cb0c9cull, 0xb84fdc6e9e075071ull, 0xd749e28a6f0040b7ull, 0xec2f2075fd67decaull, 0x097ce985109872f9ull, 0x7091dd1d203b22feull, 0x0fcf30256ce1b4a1ull
|
|
}
|
|
};
|
|
|
|
// Dataset self-test: dataset[0..15] and dataset[IGNEUM_MASK] (268435455).
|
|
static const uint32_t IGNEUM_DS_HEAD[16] = {
|
|
0x82174c0fu, 0x577bdb9cu, 0x111053bfu, 0x2bb85514u, 0xd83e190fu, 0x8ccd9427u, 0x3f69d5e4u, 0xf3bbe1dcu,
|
|
0xb3aa7e90u, 0xc33f5f73u, 0xb83a2b10u, 0xc4d7c8ffu, 0xefa6d1a8u, 0x7029b116u, 0x5e48fab0u, 0x0ef66e40u
|
|
};
|
|
static const uint32_t IGNEUM_DS_LAST_INDEX = 268435455u;
|
|
static const uint32_t IGNEUM_DS_LAST = 0xf78c84a4u;
|
|
// 64 sampled dataset words (index, value) computed on the Mac.
|
|
#define IGNEUM_DS_SAMPLES 64
|
|
static const uint32_t IGNEUM_DS_SAMPLE_INDEX[IGNEUM_DS_SAMPLES] = {
|
|
59471966u, 217795994u, 208353206u, 42483309u, 172547758u, 148076330u, 183853158u, 214389424u, 267488061u, 169781097u, 184093494u, 153880993u, 84977930u, 46426879u, 3093825u, 225364072u, 44593546u, 260713159u, 168250303u, 52384140u, 223401610u, 45554030u, 95410555u, 175039924u, 79171087u, 267580473u, 24168642u, 37981670u, 171551130u, 195559979u, 204611762u, 140997658u, 138925853u, 86637313u, 20736778u, 219665210u, 160430336u, 264654675u, 8013395u, 228945585u, 213884386u, 104419827u, 44185464u, 142737231u, 99284897u, 132475900u, 61861762u, 132056166u, 262388043u, 91878046u, 117353561u, 124768597u, 71352993u, 190698941u, 46055428u, 55281366u, 165145231u, 106810753u, 171985651u, 232085256u, 159510492u, 40072060u, 209107596u, 39023794u
|
|
};
|
|
static const uint32_t IGNEUM_DS_SAMPLE_VALUE[IGNEUM_DS_SAMPLES] = {
|
|
0x3ef2f18du, 0xed632a6bu, 0x2daad897u, 0x1201639fu, 0x8e79ca54u, 0x488d4f3du, 0x5206fa5cu, 0xf60c5f15u, 0x5af790f7u, 0xdb48b2cau, 0x2b55a0e4u, 0xc8c5100fu, 0xe4afb4a4u, 0x35a42586u, 0xff4cb6d1u, 0x1d6cac9fu, 0x889230c1u, 0x95316e2au, 0x61b099e9u, 0x97b89bb2u, 0x05171be5u, 0x7f0157abu, 0x13825368u, 0x562ab1bfu, 0x6e3b06b8u, 0xc9b51434u, 0xc994b628u, 0x26643aa8u, 0x56ae558cu, 0xdc8fdaaau, 0x2ed21c3fu, 0x3a29b91bu, 0xfd98ca1eu, 0x44c7dd8au, 0xaab155c8u, 0x0db02165u, 0x637c813au, 0x5648617eu, 0x3e163337u, 0x64bf0ad7u, 0x43381384u, 0x824dca58u, 0xab7bf62eu, 0x10880075u, 0x292498dau, 0x925fea4du, 0x606466a0u, 0x37923fc4u, 0x3544915bu, 0x742b205du, 0x3228e7adu, 0x1ce5ec92u, 0xd7857a5cu, 0x200a560bu, 0xc29076c7u, 0x886a1a06u, 0x1f415038u, 0x60fa6028u, 0x1fb1d0f9u, 0xee203b87u, 0xa12f7ea5u, 0x6ecd91dcu, 0x260e00b4u, 0xef4a4067u
|
|
};
|