-
Notifications
You must be signed in to change notification settings - Fork 58
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: Drop OpenCL, and refactor Cargo.toml for workspace use (#1046)
* chore: Drop OpenCL, and refactor Cargo.toml for workspace use - Refined GitHub GPU CI workflow by removing OpenCL Rust tests and enabling only CUDA tests - Revamped package settings to workspace level across the GitHub repository, implemented in `lurk-macros`, `lurk-metrics` and `Cargo.toml` - Removed specific dependencies `pasta-msm` and `grumpkin-msm` from `Cargo.toml`, - Reordered the features in `Cargo.toml`, removed `opencl` and some deps off `portable` for better maintainability - Cleaned up minor formatting issue in 'lurk-macros/src/lib.rs' * chore: bump rust msrv & allow CI to find it
- Loading branch information
1 parent
29ea314
commit 9f8231e
Showing
5 changed files
with
37 additions
and
63 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,13 @@ | ||
[package] | ||
name = "lurk" | ||
version = "0.3.1" | ||
authors = ["Lurk Lab Engineering <[email protected]>"] | ||
license = "MIT OR Apache-2.0" | ||
description = "Turing-Complete Zero Knowledge" | ||
edition = "2021" | ||
repository = "https://github.com/lurk-lab/lurk-rs" | ||
rust-version = "1.71.1" | ||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||
edition.workspace = true | ||
repository.workspace = true | ||
authors.workspace = true | ||
homepage.workspace = true | ||
license.workspace = true | ||
rust-version = "1.72" # allows msrv verify to work in CI | ||
|
||
[dependencies] | ||
ahash = "0.8.6" | ||
|
@@ -74,7 +74,6 @@ halo2curves = { version = "0.6.0", features = ["bits", "derive_serde"] } | |
|
||
[target.'cfg(not(target_arch = "wasm32"))'.dependencies] | ||
memmap = { version = "0.5.10", package = "memmap2" } | ||
pasta-msm = { workspace = true } | ||
proptest = { workspace = true } | ||
proptest-derive = { workspace = true } | ||
rand = "0.8.5" | ||
|
@@ -88,14 +87,6 @@ home = "0.5.5" | |
getrandom = { version = "0.2", features = ["js"] } | ||
rustyline = { version = "13.0", features = ["derive"], default-features = false } | ||
|
||
[features] | ||
default = [] | ||
opencl = ["neptune/opencl", "nova/opencl"] | ||
cuda = ["neptune/cuda", "nova/cuda"] | ||
# compile without ISA extensions | ||
portable = ["pasta-msm/portable", "nova/portable"] | ||
flamegraph = ["pprof/flamegraph", "pprof/criterion"] | ||
|
||
[dev-dependencies] | ||
assert_cmd = "2.0.12" | ||
cfg-if = "1.0.0" | ||
|
@@ -113,6 +104,13 @@ tracing-test = "0.2" | |
[build-dependencies] | ||
vergen = { version = "8", features = ["build", "git", "gitcl"] } | ||
|
||
[features] | ||
default = [] | ||
cuda = ["neptune/cuda", "nova/cuda"] | ||
# compile without ISA extensions | ||
portable = ["nova/portable"] | ||
flamegraph = ["pprof/flamegraph", "pprof/criterion"] | ||
|
||
[workspace] | ||
resolver = "2" | ||
members = ["lurk-macros", "lurk-metrics"] | ||
|
@@ -133,8 +131,6 @@ nova = { git = "https://github.com/lurk-lab/arecibo", branch = "dev", package = | |
once_cell = "1.18.0" | ||
pairing = { version = "0.23" } | ||
pasta_curves = { git = "https://github.com/lurk-lab/pasta_curves", branch = "dev" } | ||
pasta-msm = { git = "https://github.com/lurk-lab/pasta-msm", branch = "dev" } | ||
grumpkin-msm = { git = "https://github.com/lurk-lab/grumpkin-msm", branch = "dev" } | ||
proptest = "1.2.0" | ||
proptest-derive = "0.3" | ||
rand = "0.8" | ||
|
@@ -147,6 +143,16 @@ tracing = "0.1.37" | |
tracing-texray = "0.2.0" | ||
tracing-subscriber = "0.3.17" | ||
|
||
# All workspace members should inherit these keys | ||
# for package declarations. | ||
[workspace.package] | ||
authors = ["Lurk Lab Engineering <[email protected]>"] | ||
edition = "2021" | ||
homepage = "https://lurk-lang.org/" | ||
license = "MIT OR Apache-2.0" | ||
repository = "https://github.com/lurk-lab/lurk-rs" | ||
rust-version = "1.72" | ||
|
||
[[bin]] | ||
name = "lurk" | ||
path = "src/main.rs" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,13 @@ | ||
[package] | ||
name = "lurk-macros" | ||
version = "0.2.0" | ||
authors = ["porcuquine <[email protected]>"] | ||
license = "MIT OR Apache-2.0" | ||
description = "Custom derives for `lurk`" | ||
edition = "2021" | ||
repository = "https://github.com/lurk-lab/lurk-rs" | ||
edition.workspace = true | ||
repository.workspace = true | ||
authors.workspace = true | ||
homepage.workspace = true | ||
license.workspace = true | ||
rust-version.workspace = true | ||
|
||
[lib] | ||
proc-macro = true | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,13 @@ | ||
[package] | ||
name = "lurk-metrics" | ||
authors = ["Lurk Lab <[email protected]>"] | ||
version = "0.2.0" | ||
edition = "2021" | ||
license = "MIT OR Apache-2.0" | ||
description = "Metrics Sink for lurk" | ||
repository = "https://github.com/lurk-lab/lurk-rs" | ||
edition.workspace = true | ||
repository.workspace = true | ||
authors.workspace = true | ||
homepage.workspace = true | ||
license.workspace = true | ||
rust-version.workspace = true | ||
|
||
[dependencies] | ||
metrics = { workspace = true } | ||
|
9f8231e
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmarks
Table of Contents
Overview
This benchmark report shows the Fibonacci GPU benchmark.
NVIDIA L4
Intel(R) Xeon(R) CPU @ 2.20GHz
125.78 GB RAM
Workflow run: https://github.com/lurk-lab/lurk-rs/actions/runs/7506793175
Benchmark Results
LEM Fibonacci Prove - rc = 100
fib-ref=29ea314f590390d9a27bbcd8125adfabd318dcac
fib-ref=9f8231ec309611f76a4f5301df2e7f87464b1564
num-100
1.74 s
(✅ 1.00x)1.75 s
(✅ 1.01x slower)num-200
3.36 s
(✅ 1.00x)3.37 s
(✅ 1.00x slower)LEM Fibonacci Prove - rc = 600
fib-ref=29ea314f590390d9a27bbcd8125adfabd318dcac
fib-ref=9f8231ec309611f76a4f5301df2e7f87464b1564
num-100
2.03 s
(✅ 1.00x)2.03 s
(✅ 1.00x slower)num-200
3.39 s
(✅ 1.00x)3.40 s
(✅ 1.00x slower)Made with criterion-table