QMCPACK / qmcpack

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
http://www.qmcpack.org
Other
285 stars 135 forks source link

[AFQMC] only use afqmc-device copy overload if semantically correct #5022

Closed correaa closed 1 month ago

correaa commented 1 month ago

(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

ye-luo commented 1 month ago

Test this please