Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
2d1a6fb
v4.1 (#622)
TysonRayJones May 28, 2025
4d44ec8
post v4.1
TysonRayJones May 28, 2025
9d7618d
v4.2 (#692)
TysonRayJones Oct 14, 2025
0acd9b9
update to remove implicit thrust vector host to device copy
JPRichings Apr 25, 2026
d7bf558
remove thrust devic_vector
JPRichings Apr 28, 2026
324e5be
alternative approach where capture array in struct to remove explict …
JPRichings May 5, 2026
e04dc1f
identify opportutnities for performance improvement
JPRichings May 9, 2026
abf0387
kernel_statevec_anyCtrlSwap_subA performance change
JPRichings May 9, 2026
a3cd184
update kernel_statevec_anyCtrlSwap_subB for performance
JPRichings May 9, 2026
5dd472d
update kernel_statevec_anyCtrlSwap_subC for performance
JPRichings May 9, 2026
a23b231
update kernel_statevec_anyCtrlOneTargDenseMatr_subB for performance
JPRichings May 9, 2026
6ea9d76
update kernel_statevec_anyCtrlTwoTargDenseMatr_sub for performance
JPRichings May 9, 2026
5ef2d27
update kernel_statevec_anyCtrlFewTargDenseMatr for performance
JPRichings May 9, 2026
a353450
update kernel_statevector_anyCtrlPauliTensorOrGadget_subA for perform…
JPRichings May 9, 2026
1f57274
update kernel_statevector_anyCtrlPauliTensorOrGadget_subA for perform…
JPRichings May 9, 2026
6604823
update kernel_statevector_anyCtrlPauliTensorOrGadget_subB for perform…
JPRichings May 9, 2026
ca95173
update kernel_densmatr_partialTrace_sub for performance
JPRichings May 9, 2026
ec71af6
update kernel_statevec_calcProbsOfAllMultiQubitOutcomes_sub for perfo…
JPRichings May 9, 2026
7e5e92d
update kernel_densmatr_calcProbsOfAllMultiQubitOutcomes_sub for perfo…
JPRichings May 9, 2026
89b6951
update kernel_statevec_anyCtrlAnyTargDiagMatr_sub for performance
JPRichings May 9, 2026
8e24362
add const arg versions of bitwise functions
JPRichings May 9, 2026
1cd9150
debug performance changes
JPRichings May 9, 2026
c728427
Merge branch 'QuEST-Kit:main' into ctrls_performance
JPRichings May 11, 2026
10f0e6b
Merge branch 'devel' into ctrls_performance
JPRichings May 11, 2026
54ce669
fix merge issues
JPRichings May 11, 2026
28dd42f
merge Quest-Kit devel into branch
JPRichings Jun 10, 2026
77d1510
gpu_statevec_packAmpsIntoBuffer updates with List64
JPRichings Jun 10, 2026
b349a80
update gpu subroutines to use List64
JPRichings Jun 10, 2026
d1d6292
update to use List64
JPRichings Jun 10, 2026
c4f86ed
update targs to use List64
JPRichings Jun 10, 2026
243a7fd
remove merge duplication
JPRichings Jun 11, 2026
697f6c3
update gpu kernel signatures
JPRichings Jun 11, 2026
d6b5fae
change NUM_THREADS_PER_BLOCK to numThreadsPerBlock in subroutines
JPRichings Jun 11, 2026
4206fe5
update util functin calls
JPRichings Jun 11, 2026
6637690
updated kernels to work with List64
JPRichings Jun 11, 2026
bf78c77
remove references to ctrl_device_t and fix bugs
JPRichings Jun 11, 2026
6da3fc0
correct spelling of variable
JPRichings Jun 11, 2026
95356c7
updates to kernel
JPRichings Jun 11, 2026
cebb805
update test value to divisable by 32 and 64
JPRichings Jun 11, 2026
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
14 changes: 5 additions & 9 deletions quest/src/core/bitwise.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -164,23 +164,22 @@ INLINE int getBitMaskParity(qindex mask) {


INLINE qindex insertBits(qindex number, const int* bitIndices, int numIndices, int bitValue) {

@TysonRayJones TysonRayJones May 24, 2026

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.

Btw I incidentally made these same bitwise changes in #750, but where alle existing bitwise functions receive const pointers, as was necessary for SmallView in #754.


// bitIndices must be strictly increasing
for (int i=0; i<numIndices; i++)
number = insertBit(number, bitIndices[i], bitValue);

return number;
}


INLINE qindex setBits(qindex number, const int* bitIndices, int numIndices, qindex bitsValue) {

// bitIndices are arbitrarily ordered, which does not affect number
for (int i=0; i<numIndices; i++) {
int bit = getBit(bitsValue, i);
number = setBit(number, bitIndices[i], bit);
}

return number;
}

Expand All @@ -196,8 +195,6 @@ INLINE qindex getValueOfBits(qindex number, const int* bitIndices, int numIndice
return value;
}



/*
* PERFORMANCE-CRITICAL CONVENIENCE FUNCTIONS
*
Expand All @@ -211,7 +208,6 @@ INLINE qindex insertBitsWithMaskedValues(qindex number, const int* bitInds, int
return mask | insertBits(number, bitInds, numBits, 0);
}


INLINE int getTwoBits(qindex number, int highInd, int lowInd) {

int b1 = getBit(number, lowInd);
Expand Down Expand Up @@ -379,4 +375,4 @@ INLINE void setToBitsOfInteger(int* bits, qindex number, int numBits) {



#endif // BITWISE_HPP
#endif // BITWISE_HPP
Loading
Loading