Skip to content

Commit 5859bb9

Browse files
migrate mod-builder
1 parent d52e573 commit 5859bb9

File tree

13 files changed

+71
-35
lines changed

13 files changed

+71
-35
lines changed

Cargo.lock

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,9 @@ num-traits = { version = "0.2.19", default-features = false }
251251
ff = { version = "0.13.1", default-features = false }
252252
sha2 = { version = "0.10", default-features = false }
253253

254+
# specific to CUDA and GPU
255+
cuda-runtime-sys = "0.3.0-alpha.1"
256+
254257
# For local development. Add to your `.cargo/config.toml`
255258
# [patch."https://github.com/Plonky3/Plonky3.git"]
256259
# p3-field = { path = "../Plonky3/field" }

crates/circuits/mod-builder/Cargo.toml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,25 @@ rand.workspace = true
2121
num-bigint.workspace = true
2222
num-traits.workspace = true
2323
tracing.workspace = true
24-
2524
itertools.workspace = true
2625

26+
# CUDA dependencies (only included when cuda feature is enabled)
27+
stark-backend-gpu = { workspace = true, optional = true }
28+
cuda-runtime-sys = { workspace = true, optional = true }
29+
2730
[dev-dependencies]
2831
openvm-circuit-primitives = { workspace = true }
2932
openvm-pairing-guest = { workspace = true, features = ["halo2curves"] }
3033
halo2curves-axiom = { workspace = true }
3134
openvm-circuit = { workspace = true, features = ["test-utils"] }
3235

3336
[features]
34-
default = []
37+
default = ["cuda"]
38+
cuda = [
39+
"dep:stark-backend-gpu",
40+
"dep:cuda-runtime-sys",
41+
"openvm-circuit-primitives/cuda",
42+
]
3543
parallel = ["openvm-stark-backend/parallel"]
3644
test-utils = [
3745
"dep:halo2curves-axiom",

tracegen-gpu/cuda/src/mod_builder/field_expression.cu renamed to crates/circuits/mod-builder/cuda/src/field_expression.cu

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#include "fp.h"
22
#include "launcher.cuh"
3-
#include "mod_builder/bigint_ops.cuh"
4-
#include "mod_builder/expr_codec.cuh"
5-
#include "mod_builder/meta.cuh"
6-
#include "mod_builder/overflow_ops.cuh"
7-
#include "mod_builder/records.cuh"
8-
#include "mod_builder/rv32_vec_heap_router.cuh"
3+
#include "../include/bigint_ops.cuh"
4+
#include "../include/expr_codec.cuh"
5+
#include "../include/meta.cuh"
6+
#include "../include/overflow_ops.cuh"
7+
#include "../include/records.cuh"
8+
#include "../include/rv32_vec_heap_router.cuh"
99
#include "trace_access.h"
1010
#include <cstdint>
1111

File renamed without changes.

tracegen-gpu/src/mod_builder/field_expression/chip.rs renamed to crates/circuits/mod-builder/src/cuda_field_expression/chip.rs

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ use cuda_runtime_sys::{cudaDeviceSetLimit, cudaLimit};
77
use num_bigint::BigUint;
88
use num_traits::{FromBytes, One};
99
use openvm_circuit::utils::next_power_of_two_or_zero;
10-
use openvm_mod_circuit_builder::{
11-
utils::biguint_to_limbs_vec, FieldExpressionCoreAir, SymbolicExpr,
10+
use openvm_circuit_primitives::{
11+
bitwise_op_lookup::cuda::BitwiseOperationLookupChipGPU,
12+
var_range::cuda::VariableRangeCheckerChipGPU,
1213
};
1314
use openvm_stark_backend::p3_air::BaseAir;
1415
use stark_backend_gpu::{
@@ -20,16 +21,15 @@ use stark_backend_gpu::{
2021
prelude::F,
2122
};
2223

23-
use super::{
24-
constants::*,
25-
cuda::field_expression::tracegen,
26-
types::{ExprMeta, ExprNode, FieldExprMeta, FieldExpressionChipGPU},
27-
};
2824
use crate::{
29-
mod_builder::expr_op::ExprOp,
30-
primitives::{
31-
bitwise_op_lookup::BitwiseOperationLookupChipGPU, var_range::VariableRangeCheckerChipGPU,
25+
cuda_abi::field_expression::tracegen,
26+
cuda_field_expression::{
27+
constants::{ExprType, LIMB_BITS, MAX_LIMBS},
28+
expr_op::ExprOp,
3229
},
30+
utils::biguint_to_limbs_vec,
31+
ExprMeta, ExprNode, FieldExprMeta, FieldExpressionChipGPU, FieldExpressionCoreAir,
32+
SymbolicExpr,
3333
};
3434

3535
impl FieldExpressionChipGPU {
@@ -336,7 +336,6 @@ impl FieldExpressionChipGPU {
336336
}
337337

338338
fn calculate_ast_depth(expr: &SymbolicExpr) -> u32 {
339-
use openvm_mod_circuit_builder::SymbolicExpr;
340339
match expr {
341340
SymbolicExpr::Input(_) | SymbolicExpr::Var(_) | SymbolicExpr::Const(_, _, _) => 1,
342341
SymbolicExpr::Add(left, right)

tracegen-gpu/src/mod_builder/field_expression/constants.rs renamed to crates/circuits/mod-builder/src/cuda_field_expression/constants.rs

File renamed without changes.

tracegen-gpu/src/mod_builder/expr_op.rs renamed to crates/circuits/mod-builder/src/cuda_field_expression/expr_op.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::mod_builder::field_expression::ExprNode;
1+
use crate::ExprNode;
22

33
#[repr(C)]
44
#[derive(Debug, Clone, Copy)]
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
mod chip;
2+
mod constants;
3+
mod expr_op;
4+
mod types;
5+
6+
pub use types::*;

tracegen-gpu/src/mod_builder/field_expression/types.rs renamed to crates/circuits/mod-builder/src/cuda_field_expression/types.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
use std::sync::Arc;
22

3+
use openvm_circuit_primitives::{
4+
bitwise_op_lookup::cuda::BitwiseOperationLookupChipGPU,
5+
var_range::cuda::VariableRangeCheckerChipGPU,
6+
};
37
use stark_backend_gpu::cuda::d_buffer::DeviceBuffer;
48

59
use crate::{
6-
mod_builder::{expr_op::ExprOp, field_expression::constants::LIMB_BITS},
7-
primitives::{
8-
bitwise_op_lookup::BitwiseOperationLookupChipGPU, var_range::VariableRangeCheckerChipGPU,
9-
},
10+
cuda_field_expression::{constants::LIMB_BITS, expr_op::ExprOp},
11+
FieldExpressionCoreAir,
1012
};
1113

1214
#[repr(C)]
@@ -75,7 +77,7 @@ unsafe impl Send for FieldExprMeta {}
7577
unsafe impl Sync for FieldExprMeta {}
7678

7779
pub struct FieldExpressionChipGPU {
78-
pub air: openvm_mod_circuit_builder::FieldExpressionCoreAir,
80+
pub air: FieldExpressionCoreAir,
7981
pub records: Arc<DeviceBuffer<u8>>,
8082
pub num_records: usize,
8183
pub record_stride: usize,

0 commit comments

Comments
 (0)