Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
cd5120c
implemented cross-platform RAM probe (#636)
Roll249 Jun 3, 2025
5fa4f60
added non-unitary Pauli gadgets (#637)
diogomaia00 Jun 4, 2025
f3baf34
patched Trotter sign and added non-unitary Trotter (#647)
TysonRayJones Jun 12, 2025
d4706b9
added controlled Trotter
TysonRayJones Jun 13, 2025
c357267
bound isCuQuantumEnabled to QuESTEnv
TysonRayJones Jun 14, 2025
f28691c
Patched quest.h generation (#645)
otbrown Jun 21, 2025
eeedec7
added environment variables (#653)
TysonRayJones Jun 25, 2025
cd01c6f
added test environment variables (#655)
TysonRayJones Jun 26, 2025
aa11c23
patched distributed validation test
TysonRayJones Jun 26, 2025
738ca89
added postMultiply functions (#657)
TysonRayJones Jun 30, 2025
378ad71
restored NUMA-awareness (#658)
TysonRayJones Jul 9, 2025
37e222e
patched broken CUDA state after malloc failure
TysonRayJones Jul 13, 2025
c49f8d2
separated API multiplications from operations
TysonRayJones Jul 19, 2025
2110b74
separated API trotterisation from operations
TysonRayJones Jul 20, 2025
e0a0e96
patched Trotterisation of order >= 4
TysonRayJones Jul 21, 2025
53c6828
added multiply projector functions
TysonRayJones Jul 22, 2025
2db00e5
renamed multiply and postmultiply functions to leftapply and rightapp…
TysonRayJones Aug 13, 2025
6eec1cf
added Trotterised time evolution (#674)
TysonRayJones Aug 19, 2025
0ecad9c
separated pauli logic from paulis.cpp
TysonRayJones Aug 20, 2025
211d4e8
renamed Trotter functions
TysonRayJones Aug 20, 2025
d4a5714
added setQuregToWeightedSum (and ToMixture)
TysonRayJones Aug 20, 2025
ab8b560
removed setQuregToSuperposition()
TysonRayJones Aug 22, 2025
851691d
optimised one-qubit Paulis to use applyCompMatr1 (#682)
TysonRayJones Sep 4, 2025
5bd864b
added news doc
TysonRayJones Sep 4, 2025
347d7e5
minor code cleanup (#672)
TysonRayJones Sep 5, 2025
be7edbb
tidied CMakeLists.txt
TysonRayJones Sep 15, 2025
60f9b3a
patched CPU performance
TysonRayJones Sep 16, 2025
2655690
updated LICENSE.txt
TysonRayJones Sep 20, 2025
cb682b2
added calculation doc
TysonRayJones Oct 9, 2025
1d7abf7
refactored all macros to config options (#685)
TysonRayJones Oct 9, 2025
f0d4bcd
bumped version to v4.2.0
TysonRayJones Oct 9, 2025
b0c66d2
updated README with EPCC lead
TysonRayJones Oct 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,7 @@ jobs:
-DENABLE_TESTING=ON
-DFLOAT_PRECISION=${{ matrix.precision }}
-DENABLE_DEPRECATED_API=${{ matrix.deprecated }}
-DDISABLE_DEPRECATION_WARNINGS=${{ matrix.deprecated }}
-DENABLE_MULTITHREADING=${{ matrix.omp }}
-DENABLE_DISTRIBUTION=${{ matrix.mpi }}
-DENABLE_CUDA=${{ matrix.cuda }}
Expand Down
10 changes: 3 additions & 7 deletions .github/workflows/test_free.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,6 @@ jobs:
build_dir: "build"
depr_dir: "build/tests/deprecated"

# run all slow, rigorous tests (because runner is free)
num_qubit_perms: 0
test_all_deploys: ON

# perform the job
steps:
- name: Get QuEST
Expand All @@ -70,15 +66,15 @@ jobs:
-DENABLE_TESTING=ON
-DENABLE_MULTITHREADING=OFF
-DENABLE_DEPRECATED_API=${{ matrix.version == 3 && 'ON' || 'OFF' }}
-DDISABLE_DEPRECATION_WARNINGS=${{ matrix.version == 3 && 'ON' || 'OFF' }}
-DFLOAT_PRECISION=${{ matrix.precision }}
-DTEST_ALL_DEPLOYMENTS=${{ env.test_all_deploys }}
-DTEST_MAX_NUM_QUBIT_PERMUTATIONS=${{ env.num_qubit_perms }}

# force 'Release' build (needed by MSVC to enable optimisations)
- name: Compile
run: cmake --build ${{ env.build_dir }} --config Release --parallel

# run v4 unit tests in random order, excluding the integration tests
# run v4 unit tests in random order, excluding the integration tests,
# using the default environment variables (e.g. test all permutations)
# TODO:
# ctest currently doesn't know of our Catch2 tags, so we
# are manually excluding each integration test by name
Expand Down
22 changes: 16 additions & 6 deletions .github/workflows/test_paid.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ jobs:

# tests will be non-comprehensive/faster to save $$$
num_qubit_perms: 10
test_all_deploys: OFF
test_all_deploys: 0

# perform the job
steps:
Expand Down Expand Up @@ -139,6 +139,12 @@ jobs:
- name: Compile
run: cmake --build ${{ env.build_dir }} --parallel

# specifying only env-vars with non-default values
- name: Configure tests with environment variables
run: |
echo "TEST_MAX_NUM_QUBIT_PERMUTATIONS=${{ env.num_qubit_perms }}" >> $GITHUB_ENV
echo "TEST_ALL_DEPLOYMENTS=${{ env.test_all_deploys }}" >> $GITHUB_ENV

# cannot use ctests when distributed, grr!
- name: Run multithreaded + distributed v4 tests (16 nodes, 4 threads eeach)
if: ${{ matrix.mpi == 'ON' }}
Expand Down Expand Up @@ -206,11 +212,11 @@ jobs:
# which will be shared between 4 MPI processes
# (no --oversubscribe flag necessary on MPICH)
num_mpi_nodes: 4
mpi_share_gpu: ON
mpi_share_gpu: 1

# we will test all combinations of deployments
# (e.g. CPU + MPI vs GPU), repeated 5 times each
test_all_deploys: ON
test_all_deploys: 1
test_repetitions: 5

# perform the job
Expand Down Expand Up @@ -255,14 +261,18 @@ jobs:
-DENABLE_CUDA=${{ matrix.cuda }}
-DENABLE_CUQUANTUM=${{ matrix.cuquantum }}
-DCMAKE_CUDA_ARCHITECTURES=${{ env.cuda_arch }}
-DTEST_ALL_DEPLOYMENTS=${{ env.test_all_deploys }}
-DTEST_NUM_MIXED_DEPLOYMENT_REPETITIONS=${{ env.test_repetitions }}
-DPERMIT_NODES_TO_SHARE_GPU=${{ env.mpi_share_gpu }}
-DCMAKE_CXX_FLAGS=${{ matrix.mpi == 'ON' && matrix.cuda == 'ON' && '-fno-lto' || '' }}

- name: Compile
run: cmake --build ${{ env.build_dir }} --parallel

# specify only env-vars with non-default values
- name: Configure tests with environment variables
run: |
echo "TEST_ALL_DEPLOYMENTS=${{ env.test_all_deploys }}" >> $GITHUB_ENV
echo "TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS=${{ env.test_repetitions }}" >> $GITHUB_ENV
echo "PERMIT_NODES_TO_SHARE_GPU=${{ env.mpi_share_gpu }}" >> $GITHUB_ENV

# cannot use ctests when distributed, grr!
- name: Run GPU + distributed v4 mixed tests (4 nodes sharing 1 GPU)
run: |
Expand Down
4 changes: 4 additions & 0 deletions AUTHORS.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@ Dr Ian Bush [consultant]
HPC

External contributors:
Diogo Pratas Maia
added non-unitary Pauli gadget (for unitaryHACK issue #594)
Mai Đức Khang
implemented RAM probe (for unitaryHACK issue #600)
James Richings
patched overflow in bitwise.hpp logic
Luc Jaulmes
Expand Down
Loading