Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: use OSS ICICLE for GPU acceleration (version v3.2.2) #1451

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

ivokub
Copy link
Collaborator

@ivokub ivokub commented Mar 24, 2025

Description

Link against the OSS version of ICICLE. Also update some changed APIs

Type of change

  • New feature (non-breaking change which adds functionality)

How has this been tested?

Tested an example ECDSA circuit locally. It is not committed as we don't have GPU accelerated CI anyway and it requires a setup.

Checklist:

  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • I did not modify files generated from templates
  • golangci-lint does not output errors locally
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

@ivokub ivokub added the consolidate strengthen an existing feature label Mar 24, 2025
@ivokub ivokub requested review from gbotrel and Copilot March 24, 2025 14:46
@ivokub ivokub self-assigned this Mar 24, 2025

Choose a reason for hiding this comment

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

Pull Request Overview

This PR updates the project to link against the OSS version of ICICLE (v3.2.2) for GPU acceleration. Key changes include updating the import paths from icicle/v3 to icicle-gnark/v3, modifying the device warmup logic to create and use a stream, and updating documentation links accordingly.

Reviewed Changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
backend/groth16/bn254/icicle/icicle.go Updated ICICLE import paths to the new OSS repo
backend/groth16/bn254/icicle/device.go Modified device warmup logic to incorporate stream creation
backend/backend.go Updated documentation links to reflect new repo
README.md Revised repository link for prerequisites
backend/groth16/bn254/icicle/provingkey.go Updated core import path to use icicle-gnark
Files not reviewed (1)
  • go.mod: Language not supported
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
consolidate strengthen an existing feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant