When I try to run more than one numAmps=2^31 per GPU, I get the following error:
terminate called after throwing an instance of 'thrust::THRUST_200805_400200_NS::system::system_error'
what(): parallel_for failed: hipErrorInvalidConfiguration: invalid configuration argument
This happens when I try, for example:
- 32 qubits on one GPU
- 33 qubits on 2 GPUs
- 34 qubits on 4 GPUs
I'm running this on a GPU with 192 GB of memory, so memory capacity should not be an issue, as the above runs would require 128 GB per GPU.
Note that I can run the following:
- 32 qubits on 2 GPUs
- 33 qubits on 4 GPUs
- 34 qubits on 8 GPUs
So, it works as long as numAmps<=2^31 per GPU.
I suspect the issue is that somewhere the numAmps per GPU overflows int32_t or uint32_t
When I try to run more than one
numAmps=2^31per GPU, I get the following error:terminate called after throwing an instance of 'thrust::THRUST_200805_400200_NS::system::system_error'what(): parallel_for failed: hipErrorInvalidConfiguration: invalid configuration argumentThis happens when I try, for example:
I'm running this on a GPU with 192 GB of memory, so memory capacity should not be an issue, as the above runs would require 128 GB per GPU.
Note that I can run the following:
So, it works as long as
numAmps<=2^31per GPU.I suspect the issue is that somewhere the numAmps per GPU overflows
int32_toruint32_t