Main repository for QMCPACK, an open-source production level many-body ab initio Quantum Monte Carlo code for computing the electronic structure of atoms, molecules, and solids with full performance portable GPU support
(e.g. A is not a fancy pointer -- in continuous memory); and if not, there will be other candidates, possibly provided by Multi itself (e.g. through ADL priority)
AFQMC used to provide its own fancy memory specializations.
Some of these function do not work for iterators that are not fancy pointers themselves, giving a hard error.
Proposed changes
Use decltype to remove the overload if not semantically correct
What type(s) of changes does this code introduce?
Refactoring (no functional changes, no api changes)
Does this introduce a breaking change?
No
What systems has this change been tested on?
Ubuntu 22.04 and CUDA 12
Checklist
Yes. This PR is up to date with current the current state of 'develop'
No. Code added or changed in the PR has been clang-formatted
No. This PR adds tests to cover any new code, or to catch a bug that is being fixed
(e.g. A is not a fancy pointer -- in continuous memory); and if not, there will be other candidates, possibly provided by Multi itself (e.g. through ADL priority)
AFQMC used to provide its own fancy memory specializations. Some of these function do not work for iterators that are not fancy pointers themselves, giving a hard error.
Proposed changes
Use decltype to remove the overload if not semantically correct
What type(s) of changes does this code introduce?
Does this introduce a breaking change?
What systems has this change been tested on?
Ubuntu 22.04 and CUDA 12
Checklist