Dependencies for `csprng` becoming untenable?

Hi, so I am using Opacus and PyTorch in a package I am building, and I would like to be able to ensure some level of long term support for the dependencies of the project. I want to use Opacus fully and so would like to utilise the torchcsprng package, but it is still requiring v1.8.1 of PyTorch which is now pretty old. Is there any plan to continually support torchcsprng? I see it hasn’t received much maintenance in a while, but there is a pretty loud warning from Opacus when you don’t use secure_rng, so I am not sure how best to plan the development of my package with these conflicting issues in mind. I would ideally like to use PyTorch 2.0 and the latest version of Opacus…

Thanks!

1 Like

Glad you posted about this! I’m running into this issue as well. I’m very interested in comparing the performance of the Philox PRNG to the AES-based CSPRNG implemented in torchcsprng on a DP benchmark, but can’t install the package on any of the platforms accessible to me (M3 Apple Silicon or Google CoLab, mostly running CUDA 12.2) because of incompatibilities with recent versions of CUDA, and there’s definitely no MPS support.

As far as I can tell, no other open source DP/ML library has an option for a cryptographically-secure RNG. I’ve looked primarily at jax-privacy and tensorflow-privacy.