Skip to content

Icicle-pqc integration - #2216

Merged
praveksharma merged 27 commits into
open-quantum-safe:mainfrom
ingonyama-zk:main
Aug 14, 2025
Merged

Icicle-pqc integration#2216
praveksharma merged 27 commits into
open-quantum-safe:mainfrom
ingonyama-zk:main

Conversation

@nonam3e

@nonam3e nonam3e commented Jul 28, 2025

Copy link
Copy Markdown
Contributor

This PR adds ICICLE PQC ML-KEM support into liboqs, requires NVIDIA GPU to run

  • Does this PR change the input/output behaviour of a cryptographic algorithm (i.e., does it change known answer test values)? (If so, a version bump will be required from x.y.z to x.(y+1).0.)
  • Does this PR change the list of algorithms available -- either adding, removing, or renaming? Does this PR otherwise change an API? (If so, PRs in fully supported downstream projects dependent on these, i.e., oqs-provider will also need to be ready for review and merge by the time this is merged.)

nonam3e and others added 22 commits July 28, 2025 16:35
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: nonam3e <timur@ingonyama.com>
* Prepare 0.14.0 release candidate 1 [full tests] [extended tests]

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>

* Update release notes with deprecation and security info [skip ci]

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>

---------

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: nonam3e <timur@ingonyama.com>
â€ĶM_ml_kem_768_icicle_cuda=OFF

Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca>
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca>
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: Abhinav Saxena <abhinav.saxena@thalesgroup.com>
Signed-off-by: nonam3e <timur@ingonyama.com>
* Added Custom Timeout to CI

Signed-off-by: Konstantinos <konstantinos.kitsios@uzh.ch>

* remove unnecessary comment

Signed-off-by: Konstantinos <konstantinos.kitsios@uzh.ch>

* Use correct syntax for timeout in jobs that span multiple files

Signed-off-by: Konstantinos <konstantinos.kitsios@uzh.ch>

---------

Signed-off-by: Konstantinos <konstantinos.kitsios@uzh.ch>
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: Aiden Fox Ivey <aiden@aidenfoxivey.com>
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: nonam3e <timur@ingonyama.com>
nonam3e added 2 commits July 28, 2025 16:36
Signed-off-by: nonam3e <timur@ingonyama.com>
Signed-off-by: nonam3e <timur@ingonyama.com>
@coveralls

coveralls commented Jul 28, 2025

Copy link
Copy Markdown

Coverage Status

coverage: 82.759% (+0.004%) from 82.755%
when pulling 8a1b2d4 on ingonyama-zk:main
into 01de36c on open-quantum-safe:main.

Comment thread src/kem/ml_kem/icicle_ml-kem-1024_icicle_cuda/icicle_ml-kem.cpp
Comment thread src/kem/ml_kem/icicle_ml-kem-512_icicle_cuda/icicle_ml-kem.cpp
Comment thread src/kem/ml_kem/icicle_ml-kem-768_icicle_cuda/icicle_ml-kem.cpp

@dstebila dstebila left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Once the license headers are added I think the code is okay. There should also be a line added to PLATFORMS.md. I assume there's no way for us to test this in CI at this point, similar to how we aren't able to test the cuPQC backend; is that right, @praveksharma?

@dstebila dstebila added the needs review Looking for a(nother) review label Aug 7, 2025
@praveksharma

Copy link
Copy Markdown
Member

I assume there's no way for us to test this in CI at this point, similar to how we aren't able to test the cuPQC backend; is that right, @praveksharma?

That is correct.

@praveksharma

Copy link
Copy Markdown
Member

There should also be a line added to PLATFORMS.md

At present PLATFORMS.md reads: "NVIDIA GPU architectures 70, 75, 80, 86, 89, and 90 with a x86_64 CPU for Linux". @nonam3e, does icicle target any GPU platforms not listed here?

@praveksharma praveksharma left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Apart from the comment about PLATFORMS.md this looks good to me, thank you @nonam3e!

@nonam3e

nonam3e commented Aug 14, 2025

Copy link
Copy Markdown
Contributor Author

There should also be a line added to PLATFORMS.md

At present PLATFORMS.md reads: "NVIDIA GPU architectures 70, 75, 80, 86, 89, and 90 with a x86_64 CPU for Linux". @nonam3e, does icicle target any GPU platforms not listed here?

Thank you for the review! ICICLE-PQC supports only NVIDIA GPU architectures 80 and above, so there’s nothing to add to PLATFORMS.md.

@praveksharma

Copy link
Copy Markdown
Member

Merging now.

@praveksharma
praveksharma merged commit 16b8629 into open-quantum-safe:main Aug 14, 2025
85 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs review Looking for a(nother) review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants