You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Integrate ARM64 NUDUPL and add MASM VDF path and harden Windows CI/builds (#300)
* Windows asm/ABI and runtime fixes
* CMake: Windows + perf experiment options
* CI: perf experiments and Windows benchmarking
* ci: streamline test workflow
* build: remove perf-only CMake toggles
* core: gate AVX logging behind env flag
* asm: document Windows ABI restore
* docs: remove Windows perf notes
* Nit note in README and clean up some language in test.yaml
* Fix step name
* various workflow clean ups and fix AVX512 flag
* fix windows runners in test.yaml
* more cmake instruction issues
* harden finding boost on Mac intel
* now cmake isn't always there...
* more install cmake
* fix ASAN, remove TSAN for windows runners
* initiate windows dev env on ASAN runner
* more ASAN windows issues - harden brew handling in cibuildwheel
* giving up on ASAN
* Add required linker flag for Windows asm - fix unchecked vector access
* potentially fix bug in the 2weso test
* consolidate 2weso fail-hunting phases 40-43
Collapse the contiguous phase-40 through phase-43 debug commits into one checkpoint while preserving the net tree state before phase 44.
Co-authored-by: Cursor <cursoragent@cursor.com>
* 2weso fail hunting 44
* 2weso fail hunting 45
* 2weso fail hunting 46
* cleanup: strip 2weso debug scaffolding after Windows root-cause isolation
* ci - add an asm path to the c++ test path, fix HW headers
* ci - bring windows back around to main ubuntu/macos testing
* address cursor review issues
* everything on windows should take the asm path
* something about the windows asm path is broken
* and we are off again searching for the asm issue
* cache all the things and chase the asm issue
* look closer at the ubuntu vs windows asm changes
* Consolidate Windows asm investigation commits 1-17.
Squash iterative CI and asm-path probing changes into one reviewable checkpoint before the final CI fix commit.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Fix Windows asm CI and align optimized test coverage (#304)
* Instrument Windows asm failures and collect runtime evidence.
Add targeted Windows probes and disassembly checks to localize crash offsets and failing asm paths.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Fix Windows asm addressing to be ASLR-safe.
Convert global and table references to RIP-relative forms for Windows asm generation paths.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Stabilize Windows gcd_unsigned dispatch control flow.
Correct dispatch indexing and use explicit compare/branch selection to avoid executing table data.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Fix Windows CI probe exit-code handling.
Ensure PowerShell helpers compare integer process exit codes so successful probes do not fail the workflow.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Remove temporary Windows debug instrumentation.
Drop crash-debug hooks and probes after validation, including the final vdf_fast cleanup.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Align Windows optimized test coverage with other runners.
Run the full optimized test set in the Windows PowerShell test step by removing ad-hoc iteration args and adding prover_test with fast mode.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Clean up leftover no-op debug checks in fast path and tighten macOS-only branch selection in gcd_unsigned.
This removes empty instrumentation cleanup blocks and keeps the dispatch path logic aligned with platform-specific behavior.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Restore Windows jump-table dispatch path in gcd_unsigned.
This reverts an accidental macOS-only condition change from the prior cleanup commit that caused 1weso_test to crash on Windows CI.
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
* cleanup: finalize Windows asm follow-ups and include hygiene
Tighten Windows asm/runtime plumbing and related docs/tests while removing stale duplicate include clutter from vdf headers.
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix windows avx512 add table rip-relative access
Include CHIA_WINDOWS in the avx512_add_table addressing branch so Windows emits LEA+ADD RIP-relative access instead of absolute table addressing.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Remove unused max_test_iteration in 2weso_test.
Drop dead local state that was computed and immediately discarded to avoid implying a missing iteration guard.
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix gcd_unsigned compare against end_index
Use end_index instead of size in the jump-table compare to match the mapped index logic and avoid incorrect branch selection.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Harden callback state synchronization and update build/runtime tuning docs.
This captures the current branch updates, including the TwoWesolowski position-locking fix and related CMake/parameter/readme adjustments for current CI work.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Guard POSIX-only emulator hardware targets on Windows.
Prevent `emu_hw_test` and `emu_hw_vdf_client` from being defined on Windows so CMake does not try to compile sources that depend on POSIX headers.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Initialize FastAlgorithmCallback forms_capacity.
Set forms_capacity when allocating FastAlgorithmCallback forms so all WesolowskiCallback subclasses consistently initialize capacity metadata for safe bounds checks.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Harden macOS/Windows gcd_unsigned dispatch bounds check.
Add the same a_end_index range guard used on Linux before the CMP/JE chain so out-of-range values jump to the error path instead of falling through to a kernel label.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Define CHIAOSX for macOS CMake asm generation.
Match the Makefile behavior so compile_asm emits Mach-O-compatible assembly on Intel macOS instead of falling back to Linux/ELF code paths.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Refine Windows asm argument handling and remove unused SEH include.
Allow asm_function Windows stack-arg loading to be toggled for internal call sites, and drop dead <excpt.h> from threading since no SEH constructs are used.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Preserve non-Windows asm behavior and gate fallback logging.
Keep Linux absolute addressing and restore macOS/Linux jump-dispatch parity with main, while making detached-thread fallback logging debug-only.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Reply to Opus review with dispatch, bounds, and const-correctness fixes.
This replies to Opus review feedback by fixing macOS gcd_unsigned end-index dispatch, aligning bounds checks across platforms and callbacks, enabling Windows AVX512 CI coverage, and removing unused asm/cast paths.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Avoid synchronous fallback in TwoWesolowski prover start.
Make prover form retrieval value-based and throw on thread-start failure so TwoWesolowski recursion preserves parallel proof generation instead of silently serializing work.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Gate AVX512 IFMA dispatch on OS XSAVE/XCR0 state.
Require OSXSAVE and XCR0 ZMM/opmask state in init_avx_flags() before enabling AVX-512 IFMA to prevent illegal-instruction crashes on unsupported OS configurations.
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
0 commit comments