Skip to content

Releases: unitaryfund/qrack

QCircuit

11 May 21:28
Compare
Choose a tag to compare

The QCircuit and QCircuitGate classes have been added to Qrack. QCircuit allows a (purely-unitary) definition of a circuit or subroutine, accepting an arbitrary QInterface state as input and giving the input state transformed by the QCircuit as output. (To include measurement in QCircuit routines, for now, split circuits into multiple sections and run measurement between them as desired.)

File SHA-1 sums:
3d3bc7972a7287b4d0a6b8fa8465ffbe1c161ac5 Qrack-8.9.0-Darwin_x86-64.sh
5d694d4e4f04602c636f94fc8d0e33ede9e057da Qrack-8.9.0-Emscripten.sh
af5a9d4aeaafa227a738fbe0ea51e4c1d56117cb Qrack-8.9.0-Linux_arm64.sh
ad9f5e8633f12bff31e949f35192a7611522eef9 Qrack-8.9.0-Linux_armv7.sh
00844056c5f3ea53e2b987a1f67d733b27dfb218 Qrack-8.9.0-Linux_Ubuntu_20.04_LTS_x86-64.sh
21cd2cad1e094958779ff23b602eecaa5b49a796 Qrack-8.9.0-Linux_Ubuntu_22.04_LTS_x86-64.sh
a8308683bb0e8969101d9a2c63f85d39f5ad7683 Qrack-8.9.0-win32.exe
b9dd9d1b173853f779d983e36abd1371c987875f Qrack-8.9.0-win64.exe
a89a5e0b897109b614f6c31fb0cf6ac2b8044c38 Qrack-8.9.0-WSL_Ubuntu_22.04_LTS_RTX_3080.sh
3171b12bb4a39c3aa49e367e585b67ff5b5cb4cb qrack_linux_arm64_benchmarks
22affee84bc8439cc2a7dbdb7aabf756085c0271 qrack_linux_armv7_benchmarks
5f7bfbacd96daaa45f6223b339a10eb9bf433360 qrack_mac_x86-64_benchmarks
bddad8a6da847bbab1026ae81efae30a4639820d qrack_Ubuntu_20.04_LTS_benchmarks
6c4366d9227a715420311596f1776843926e182c qrack_Ubuntu_22.04_LTS_benchmarks
b429fc7cb79a5ef4c2fd3f86eb2c80b49e0a75b7 qrack_windows_x86-64_benchmarks.exe
7228b584e5a54aed52e33d7f584fd3820ed73184 qrack_windows_x86_benchmarks.exe
fd5668e755b7eb66ca6e9221d3959717d9e965e1 qrack_WSL_Ubuntu_22.04_LTS_benchmarks

What's Changed

Full Changelog: vm6502q.v8.8.3...vm6502q.v8.9.0

Fix unique_ptr deleters

08 May 12:52
Compare
Choose a tag to compare

Compiling with GCC/G++12, we became aware that some of our std::unique_ptr instances for arrays had mismatched (non-array) deleters. This has been fixed, throughout the library.

Full Changelog: vm6502q.v8.8.2...vm6502q.v8.8.3

File SHA-1 sums:

7ae1c7c75c5463fc21805fc9d9591d78f6c9cee8 Qrack-8.8.3-Darwin_x86-64.sh
5e4d858bca207779583060289ec515638eade220 Qrack-8.8.3-Emscripten.sh
523231dbcd1af1293929ae684d557409755b1bcd Qrack-8.8.3-Linux_arm64.sh
3ebf190429dc899ba76181d44e694447103a9e33 Qrack-8.8.3-Linux_armv7.sh
af9f25aeee779c36e108510f1c6299100c5fc386 Qrack-8.8.3-Linux_Ubuntu_20.04_LTS_x86-64.sh
91589a12acb8b4162c75a7a493c7200979ca5872 Qrack-8.8.3-Linux_Ubuntu_22.04_LTS_x86-64.sh
f3a658714d2fd7a51b9e7aa8e2e477dd523fb461 Qrack-8.8.3-win32.exe
b9e9e72ee5aacfb9626cbddacc41b9aaafd220b0 Qrack-8.8.3-win64.exe
77833dd6dfb2ad83b65200b7d0f10d31f08a90f0 Qrack-8.8.3-WSL_Ubuntu_22.04_LTS_RTX_3080.sh

86048e6cf7ffe731e2559ac3725c57081fc30f60 qrack_linux_arm64_benchmarks
4aaae954fbb23f48d68a3cbb9a01bb0551d22ca0 qrack_linux_armv7_benchmarks
1793cfea545c63ad6de66115f7c676bbf1da9eda qrack_mac_x86-64_benchmarks
988454503b9dedd02e1b181772294fc4f49dba57 qrack_Ubuntu_20.04_LTS_benchmarks
b706c1c2e1104bb270d6a195727b9e168af3b54e qrack_Ubuntu_22.04_LTS_benchmarks
644b8fe4801386b04eb147fe2c4d27531be03187 qrack_windows_x86-64_benchmarks.exe
a6dc1c4d57d7cc80e572672008ace3098098bea5 qrack_windows_x86_benchmarks.exe
0cd5ac538f33aea0b9d7717b64de764eca7c4030 qrack_WSL_Ubuntu_22.04_LTS_benchmarks

Debug QNeuron

03 May 11:39
Compare
Choose a tag to compare

There was unintentional "rectification" in the LearnInternal() method of QNeuron: if increasing the synaptic parameter improved the fit at all, then the case of decreasing the synaptic parameter would not be checked, even if turned out to be the better improvement.

Now, QNeuron always checks both branches and accepts the better of the two (or leaves its parameters alone if neither fit is better).

File SHA-1 sums:

4a588c63276b45bc1d4e0dbaf74571fd36ef0aeb Qrack-8.8.2-Darwin_x86-64.sh
f92e80e1833e6147adcc8bde074dcc8a6a12655d Qrack-8.8.2-Emscripten.sh
210d0034eccfbdea74f7c8b25ac02731aba1ae35 Qrack-8.8.2-Linux_arm64.sh
a7ce781a882b6b2335e13c33712c1141a3526a63 Qrack-8.8.2-Linux_armv7.sh
25d756caca6b4d4c184b84ac7e8cd9b52d3e24b4 Qrack-8.8.2-Linux_Ubuntu_20.04_LTS_x86-64.sh
20eb308bdcdb5dc636c4a25f6600b8bebc17233e Qrack-8.8.2-Linux_Ubuntu_22.04_LTS_x86-64.sh
5c7e87e2782ed95bf0263feb443121f21cabae01 Qrack-8.8.2-win32.exe
da1b4a2493ff39e17cef3761b5aab34e7c01da6a Qrack-8.8.2-win64.exe
7115a09929facb0943ce873dfa473acad83bab4a Qrack-8.8.2-WSL_Ubuntu_22.04_LTS_RTX_3080.sh

899c3630d5dd7aff50e36cc16b206fec05d1b812 qrack_linux_arm64_benchmarks
d6d40b34c7dd9ce6f90c95b13580080028e9b2e6 qrack_linux_armv7_benchmarks
e33b5561383615a07724030881a191aac81b56e0 qrack_mac_x86-64_benchmarks
988454503b9dedd02e1b181772294fc4f49dba57 qrack_Ubuntu_20.04_LTS_benchmarks
75399a6e468daef016acfdbd46691ad76b85ef30 qrack_Ubuntu_22.04_LTS_benchmarks
a9a4c5fdd719653314567968e9110171f8ac462d qrack_windows_x86-64_benchmarks.exe
63ea1d8631e03b0aded5b729bf96ce379a3d5527 qrack_windows_x86_benchmarks.exe
de8ae84d58824ba321639ff7e0369bb068fe93f3 qrack_WSL_Ubuntu_22.04_LTS_benchmarks

Full Changelog: vm6502q.v8.8.1...vm6502q.v8.8.2

Improved QNeuron activation functions

02 May 16:28
Compare
Choose a tag to compare

By design of QNeuron, its output space space is that of a (controlled) rotation of a single qubit around its Pauli Y axis, which is therefore periodic. Compared to many applications of neural networks to classical data, this requires some special consideration.

Synaptic parameters ("angles") of QNeuron are now "clamped" to a period of 4 times "pi," to accommodate the overall phase factor of a rotation by 2 times "pi," given that QNeuron input qubits act of control qubits, so the overall phase factor becomes observable. (This has quantitative implications for activation functions.)

The Generalized_Logistic activation function has been adjusted to have ("sticky") poles at |+>, |0>, |->, and |1>. Perhaps a better convention will become apparent soon, but this seems to suit the developers' purposes for now.

File SHA-1 sums:
1779c53066b2c4c3acbddc15879cb027eabaf42d Qrack-8.8.1-Darwin_x86-64.sh
c514d7ef2e0c268d3501d4581639587ecf7ab1b8 Qrack-8.8.1-Emscripten.sh
17aed61add617bda9550e6f0f20fa6ea0f3a5a87 Qrack-8.8.1-Linux_arm64.sh
6e584b34e360ddd7285145de7da97b3a659945d1 Qrack-8.8.1-Linux_armv7.sh
4209b0069805ba3ec56e625f4967d4b07537d03f Qrack-8.8.1-Linux_Ubuntu_20.04_LTS_x86-64.sh
60db29222d62e77771e632e7adef0d8b503ee55f Qrack-8.8.1-Linux_Ubuntu_22.04_LTS_x86-64.sh
735c3d0fdaea7293c3f51502bf0122301ef191b6 Qrack-8.8.1-win32.exe
d11e28d160a2ca7d23e72df373adf8ad0e66dc19 Qrack-8.8.1-win64.exe
25a82c4e9821e917fbb7e1ecd28b0ded04d2b2bb Qrack-8.8.1-WSL_Ubuntu_22.04_LTS_RTX_3080.sh

899c3630d5dd7aff50e36cc16b206fec05d1b812 qrack_linux_arm64_benchmarks
d6d40b34c7dd9ce6f90c95b13580080028e9b2e6 qrack_linux_armv7_benchmarks
e33b5561383615a07724030881a191aac81b56e0 qrack_mac_x86-64_benchmarks
988454503b9dedd02e1b181772294fc4f49dba57 qrack_Ubuntu_20.04_LTS_benchmarks
75399a6e468daef016acfdbd46691ad76b85ef30 qrack_Ubuntu_22.04_LTS_benchmarks
7f88a3487a72ed34073a9702df74a23c565bcf2a qrack_windows_x86-64_benchmarks.exe
afa2fa0e251fbb2f8e7adc4535c8f826f8be58c9 qrack_windows_x86_benchmarks.exe
de8ae84d58824ba321639ff7e0369bb068fe93f3 qrack_WSL_Ubuntu_22.04_LTS_benchmarks

Full Changelog: vm6502q.v8.8.0...vm6502q.v8.8.1

QNeuron activation functions

01 May 22:26
Compare
Choose a tag to compare

QNeuron has been improved with the addition of several choices of activation function, with choice specified by an enum.

File SHA-1 sums:

5019a1f15f1df7865bbaae7e341e701cd89dd1f6 Qrack-8.8.0-Emscripten.sh
778d410f695df5883f2f710901c51525daa505ec Qrack-8.8.0-Linux_arm64.sh
234f608be36f0a61f8d94c1ae9b583675a39860e Qrack-8.8.0-Linux_armv7.sh
6d5ee43ecbe9102806ba892312703d858e84f871 Qrack-8.8.0-Linux_Ubuntu_20.04_LTS_x86-64.sh
90974f66dc33364f961b60442d7b8bb621b9f1af Qrack-8.8.0-Linux_Ubuntu_22.04_LTS_x86-64.sh
a916398850f2ad0f173bcbefe7f053b8d803da95 Qrack-8.8.0-win32.exe
f131a1e2016005b8c35953ca4caa9823f67323cd Qrack-8.8.0-win64.exe
3603fe9cc43fd9c96646b13720f20bcdf959767f Qrack-8.8.0-WSL_Ubuntu_22.04_LTS_RTX_3080.sh

899c3630d5dd7aff50e36cc16b206fec05d1b812 qrack_linux_arm64_benchmarks
d6d40b34c7dd9ce6f90c95b13580080028e9b2e6 qrack_linux_armv7_benchmarks
e33b5561383615a07724030881a191aac81b56e0 qrack_mac_x86-64_benchmarks
685bfae46724a09a74c347a40cea344bbc8134b2 qrack_Ubuntu_20.04_LTS_benchmarks
75399a6e468daef016acfdbd46691ad76b85ef30 qrack_Ubuntu_22.04_LTS_benchmarks
7f88a3487a72ed34073a9702df74a23c565bcf2a qrack_windows_x86-64_benchmarks.exe
c41932f9ebd41b47fcf566482d9a5259db2e8047 qrack_windows_x86_benchmarks.exe
de8ae84d58824ba321639ff7e0369bb068fe93f3 qrack_WSL_Ubuntu_22.04_LTS_benchmarks

Full Changelog: vm6502q.v8.7.0...vm6502q.v8.8.0

QNeuron shared library API

30 Apr 17:05
Compare
Choose a tag to compare

This release exposes the QNeuron class as part of the shared library interface.

This model of a “quantum neuron” is based on the concept of a “uniformly controlled” rotation of a single output qubit around the Pauli Y axis, and has been developed by others. In our case, the primary relevant gate could also be called a single-qubit-target multiplexer.

(See https://arxiv.org/abs/quant-ph/0407010 for an introduction to “uniformly controlled gates.)

QNeuron is meant to be interchangeable with a single classical neuron, as in conventional neural net software. It differs from classical neurons in conventional neural nets, in that the “synaptic cleft” is modelled as a single qubit. Hence, this neuron can train and predict in superposition.

(Tiama, OpenAI ChatGPT instance, helped with optimization suggestions for "uniformly controlled" gates, as well as packaging the release.)

File SHA-1 sums:
c0b6e5e47876d3a80a2586645bb35c3a3edfc365 Qrack-8.7.0-Darwin_x86-64.sh
449fe50b818f4a635f354f9223338d5abb9855ad Qrack-8.7.0-Emscripten.sh
e335b3b453e19c3af170416a38307894f2c43066 Qrack-8.7.0-Linux_arm64.sh
27904f64d7c630dc9f93d0c4167a98dcca361678 Qrack-8.7.0-Linux_armv7.sh
037cb4a7cb4800f80b962a25cea544b94efef494 Qrack-8.7.0-Linux_Ubuntu_20.04_LTS_x86-64.sh
dd743ae2ed58bf14b5c82d51cf8d58243ef8f7ce Qrack-8.7.0-Linux_Ubuntu_22.04_LTS_x86-64.sh
514cb72332e21e20b03eba2c46d4e59f4dcb83f9 Qrack-8.7.0-win32.exe
2baf34f149385e43fc9201463e9f4c8b711819e7 Qrack-8.7.0-win64.exe
736fb512145a7b814e8aff9420757e45061c75d7 Qrack-8.7.0-WSL_Ubuntu_22.04_LTS_RTX_3080.sh

899c3630d5dd7aff50e36cc16b206fec05d1b812 qrack_linux_arm64_benchmarks
d6d40b34c7dd9ce6f90c95b13580080028e9b2e6 qrack_linux_armv7_benchmarks
d685222ca87b0803c260f3fe09b30aee29806004 qrack_mac_x86-64_benchmarks
685bfae46724a09a74c347a40cea344bbc8134b2 qrack_Ubuntu_20.04_LTS_benchmarks
75399a6e468daef016acfdbd46691ad76b85ef30 qrack_Ubuntu_22.04_LTS_benchmarks
773d9d58c4a095c4e047d8f1ea6fd3e637449a6d qrack_windows_x86-64_benchmarks.exe
2b396c56d00bb878ca3a99966a90c61411c77c2a qrack_windows_x86_benchmarks.exe
78d028a654655957dabcd38240cdf9f5e44732c4 qrack_WSL_Ubuntu_22.04_LTS_benchmarks

What's Changed

Full Changelog: vm6502q.v8.6.0...vm6502q.v8.7.0

First AI-assisted release!

27 Apr 18:29
Compare
Choose a tag to compare

For WSL, I (Dan Strano) have fixed the NVIDIA device identification banner.

However, the other new code changes in this release are due to a OpenAI ChatGPT-based assistant! In fact, all such changes happen to come from the same such "discussion" instance: I happen to have dubbed her "Tiama."

Tiama has made some improvements in QUnit buffer and shard code, as well as ParallelFor code.

For the sake of the intellectual property of all Qrack contributors, I have made the executive decision to require that credit be given to AI assistants. This is noted in the README and commit messages, when ChatGPT, for example, is used. No direct assistance by AI was used before the commits in this release, in the history of the Qrack project. (However, we're elated to welcome another member of the team!)

Full Changelog: vm6502q.v8.5.1...vm6502q.v8.6.0

File SHA-1 sums:
64295b12d6b0499c6375794fec06347b6aaf91db Qrack-8.6.0-Darwin_x86-64.sh
d08b20d2366df72ed551596474ca80605188d5af Qrack-8.6.0-Emscripten.sh
1aec84a1a8e4c436116888bccacfef77d78bca43 Qrack-8.6.0-Linux_arm64.sh
a664be26c0987b041b8f1a17e3bbb1aa9938916c Qrack-8.6.0-Linux_armv7.sh
2a08653479d2181abc33188634eb9ee316716c42 Qrack-8.6.0-Ubuntu_20.04_LTS_x86-64.sh
4667f3159e09a422eeee2577fd0c2bde2e9707f6 Qrack-8.6.0-Ubuntu_22.04_LTS_x86-64.sh
c4f8e8aa7410c125ecc62d339e27a416e3262eb2 Qrack-8.6.0-win32.exe
84072954cb7686e031a703655c093f092320dbf6 Qrack-8.6.0-win64.exe
44ab636b81e856fb87f1a2dd78d1d2017b890779 Qrack-8.6.0-WSL_Ubuntu_22.04_LTS_RTX_3080.sh

35840b29e19675516c8c9747a2664648e963f79e qrack_mac_x86-64_benchmarks
a70096a06295083a735d01b9c9ccc0fb893144aa qrack_Ubuntu_20.04_LTS_benchmarks
7e04070eba755787fa442ee0f05d4e6cdf4404d5 qrack_Ubuntu_22.04_LTS_benchmarks
710ca983cea85b2eac60e4669d410c674abb472a qrack_windows_x86-64_benchmarks.exe
347dbd8ddf11924b8fb3b1388694b77e881e2953 qrack_windows_x86_benchmarks.exe
78d028a654655957dabcd38240cdf9f5e44732c4 qrack_WSL_Ubuntu_22.04_LTS_benchmarks

Bug fix: QUnit::ClampShard()

07 Apr 13:08
Compare
Choose a tag to compare

A bug was identified and fixed in QUnit::ClampShard() that could wrongly set the fidelity nearly to zero.

Also, for consistency with the theoretical model, a factor of 1/2 has been removed from all probabilities used in estimating fidelity loss. Ironically, this makes the model slightly more pessimistic, validating a very small amount lower. However, making this consistent is important for both theoretical and empirical considerations.

File SHA-1 sums:

de1bab84e25518b08e51d85e49cdad2ef15ef12e Qrack-8.5.1-Darwin_x86-64.sh
0864d8db121462cdfa29f70bb6e9a7162481e4fd Qrack-8.5.1-Emscripten.sh
14463c4e16b17896b6fdb5a7fc099679eb150d58 Qrack-8.5.1-Linux_arm64.sh
5113963433b2836d2d06b54f058abb8b5e45b594 Qrack-8.5.1-Linux_armv7.sh
085587d07b7d9492ec9ca9662b5c2ac29782b8b4 Qrack-8.5.1-Ubuntu_20.04_LTS_x86-64.sh
619724c3bdb381bcfe2c37233b8847a184b66373 Qrack-8.5.1-Ubuntu_22.04_LTS_x86-64.sh
d8e3ee51d4c61f99bd9176bb77ba00425ad2582c Qrack-8.5.1-win32.exe
ee922eaddd2671d9d5fc75a28abb4fc87062cfd4 Qrack-8.5.1-win64.exe
927072f7a86e88575438f57a825133d6069f1b96 Qrack-8.5.1-WSL_Ubuntu_22.04_LTS_RTX_3080.sh

c9a7d19e1c07f9470a4eea2c63834dd23687bce2 qrack_linux_arm64_benchmarks
16d3d34a47b43e0fd057e57881fb51859f38274f qrack_linux_armv7_benchmarks
57edbc20bfdc1e0557b5899aa37c03cbcecf5fd7 qrack_mac_x86-64_benchmarks
de4e3dbae65c6ec4340260de11d668e83864839f qrack_Ubuntu_20.04_LTS_benchmarks
c9f8e546d2f38d581cb9a8c50fb5663c1ce15ab5 qrack_Ubuntu_22.04_LTS_benchmarks
47a12c79602e16ee024ce96091356ced373dfc77 qrack_windows_x86-64_benchmarks.exe
408ff0c025e8d601cdb2a06fbb5369432052b612 qrack_windows_x86_benchmarks.exe
78d028a654655957dabcd38240cdf9f5e44732c4 qrack_WSL_Ubuntu_22.04_LTS_benchmarks

Fix GetUnitaryFidelity() model (and WSL CUDA preview)

06 Apr 18:46
Compare
Choose a tag to compare

Andrea's model for fidelity estimation,

F = Π (1-ɛ_j) (for j events where ɛ less than SDRP threshold),

discussed in release v8.3.0, works. Dan's confusion was largely over definition and convention. The results it produces are usually very numerically similar to v8.3 and v8.4, but the model makes more theoretical sense.

Also, we include a preview release for GPU acceleration on WSL, Ubuntu 22.04 LTS with an NVIDIA RTX 3080, running on QEngineCUDA. Generally, QEngineOCL is still preferred in the most common cases, but users should note, it's now possible to build from source based on either OpenCL and CUDA, such that true HPC scale simulation might benefit from NVLink with a QEngineCUDA source build.

File SHA-1 sums:

86c8ad4ff6d959d5016d2e1110e8e7d5c0d487ab Qrack-8.5.0-Darwin_x86-64.sh
f64d6296105fe2ebdb5034b4f3e4841e9d7f0f45 Qrack-8.5.0-Emscripten.sh
d75444f50466afd91c5e279ab3c1081baa6dd62f Qrack-8.5.0-Linux_arm64.sh
04b35cadc6adcef3f5068b845fe1657eeaf44f2e Qrack-8.5.0-Linux_armv7.sh
b8fa1a315e1297d34dbbf66903ac116a2ca60ff2 Qrack-8.5.0-Ubuntu_20.04_LTS_x86-64.sh
a5d2019c6fc234cccedc9c28c17408fa7c48f96e Qrack-8.5.0-Ubuntu_22.04_LTS_x86-64.sh
cf3e20b568afef6adb1e966e630930710394cee8 Qrack-8.5.0-win32.exe
2c9b8fb94150560d6293712621bc4450081acfe9 Qrack-8.5.0-win64.exe
b06051dd30de1bdb94a926ecb39df56fabf8ee7d Qrack-8.5.0-WSL_Ubuntu_22.04_LTS_RTX_3080.sh

e19c383483532ef6b810b06e007d2fba40a03351 qrack_linux_arm64_benchmarks
24bc26aac64f2a03f916850c833b23f646607ada qrack_linux_armv7_benchmarks
a4f7ec0946b0928fd309e498d932ccceb0968695 qrack_mac_x86-64_benchmarks
30c70a90688a4d58dae9f7bed0d6264d86f3d687 qrack_Ubuntu_20.04_LTS_benchmarks
e5e04504c1b4e18ca7651dd8f73270b9f6e5d0a6 qrack_Ubuntu_22.04_LTS_benchmarks
445d4a432170bd5e0a1792ae8853e1d94dad99fb qrack_windows_x86-64_benchmarks.exe
cce5bde27fa05580543fe82b8455711b16a56523 qrack_windows_x86_benchmarks.exe
1d096ae07c05fa429e39d09aafb8e949f0e57421 qrack_WSL_Ubuntu_22.04_LTS_benchmarks

SetSdrp() (and QEngineCUDA preview)

04 Apr 19:55
Compare
Choose a tag to compare

There's no particular reason why SDRP level can't be changed mid-circuit. Several historical design issues made this difficult, in the past, but these are no longer relevant as of late. This is particularly desirable given the recent addition of automatic fidelity calculation when using SDRP in QUnit.

Therefore, this release adds SetSdrp() to the QInterface API, and it also exposes it to the shared library interface.

No benchmark executable update (or OpenCL precompilation utility update) are needed.

File SHA-1 sums:

1d8566b23bc74214804d9c735dbd30b4e69d9404 Qrack-8.4.0-Darwin_x86-64.sh
0122ffa3cec4b9849dc3fae9666e8cbdfebaa223 Qrack-8.4.0-Emscripten.sh
33dab383bd2eaa120bae7cff47fe9689042d13f9 Qrack-8.4.0-Linux_arm64.sh
cd9ac4ddb7720e49b45703466844c2f0d9e931a1 Qrack-8.4.0-Linux_armv7.sh
fd67394bdafe6650d958c6b94184b636b7fbbace Qrack-8.4.0-Ubuntu_20.04_LTS_x86-64.sh
ca5ea33094281893fb5e4101473a09d5eb672c6d Qrack-8.4.0-Ubuntu_22.04_LTS_x86-64.sh
6a3e0c4deccffbacb66e8e7a73b0fc6a898a1065 Qrack-8.4.0-win32.exe
bde5e3bb0e810e31a5a20d87fd3a068a41775838 Qrack-8.4.0-win64.exe

4ca6410a4543ab187fc1f95ffe8bc313b3435e1d qrack_linux_arm64_benchmarks
bf26393eab3c027dd6c8042efd2657d532b1c194 qrack_linux_armv7_benchmarks
538772f4845600bd293b23fc983cb8f85ca36cf3 qrack_mac_x86-64_benchmarks
932e6d0a2f91aaa036850bddfafdbefe7ae4c6ab qrack_Ubuntu_20.04_LTS_benchmarks
f59949a23f28f0640d468d1d6cac0741830f72c9 qrack_Ubuntu_22.04_LTS_benchmarks
9c92ab06cdc939c95301d6e63a919f5541a98a15 qrack_windows_x86-64_benchmarks.exe
cce5bde27fa05580543fe82b8455711b16a56523 qrack_windows_x86_benchmarks.exe


(Added below on 2023-04-05, updated 2023-04-06:)

A chance look at branch qenginecuda today happened to lead to the completion of the old work in less than an hour. QEngineOCL is preferred over QEngineCUDA, except when OpenCL is unavailable. Notably, the only situation in which the lead developer of the Qrack project has encountered support for CUDA without support for OpenCL is Windows Subsystem for Linux (WSL).

Qrack v8.5 isn't ready for general release, but, if anyone would like a preview, this installer and benchmarks application seem to work on WSL, compiled for a NVIDIA GeForce RTX 3080 laptop GPU. (This might work for other NVIDIA architectures, but that has not been tested.)

File SHA-1 sums:
3a3a72eea952468e24c2e87f6fcf09e085acc9b6 Qrack-8.5.0-WSL_Ubuntu_22.04_LTS_RTX_3080.sh
3fdefd4d7346e718cc98911b8abc09fd6223f1c4 qrack_WSL_Ubuntu_22.04_LTS_RTX_3080_benchmarks