Skip to content

Conversation

@dreamATD
Copy link
Collaborator

Description

Add fptower precompiles.
Run the following commands to test:

cargo run --release --package ceno_zkvm --bin e2e -- --platform=ceno examples/target/riscv32im-ceno-zkvm-elf/release/examples/bn254_fptower_syscalls

@dreamATD dreamATD force-pushed the precompiles/fptower branch from c6e04fe to df2b45c Compare December 24, 2025 15:07
@dreamATD dreamATD force-pushed the precompiles/fptower branch from df2b45c to baa4e98 Compare December 27, 2025 03:48
@dreamATD dreamATD force-pushed the precompiles/fptower branch from 36c2b48 to 3327dce Compare January 3, 2026 20:33
Copy link
Collaborator

@hero78119 hero78119 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! just mark one TODO which will address in the future ❤️

let wits = FpOpWitCols {
is_add: cb.create_witin(|| "fp_op_is_add"),
is_sub: cb.create_witin(|| "fp_op_is_sub"),
is_mul: cb.create_witin(|| "fp_op_is_mul"),
Copy link
Collaborator

@hero78119 hero78119 Jan 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These op flags are for reused same chip for different ecall opcode but currently we still build them into different chip, so this boolean columns along with respective constraints are redundant overhead.

Its ok for now, later we tweak design to implement different opcode share same chip. Its equivalent to batch main sumcheck and I believe it will bring more performance gain in particular in GPU: less kernel invoke, less cpu/gpu execution interleaving

@hero78119 hero78119 enabled auto-merge January 4, 2026 09:04
@hero78119 hero78119 added this pull request to the merge queue Jan 4, 2026
Merged via the queue into master with commit ce97cf8 Jan 4, 2026
4 checks passed
@hero78119 hero78119 deleted the precompiles/fptower branch January 4, 2026 09:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants