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
283 stars 135 forks source link

Allow directly select openmp offload code path. #5030

Closed ye-luo closed 1 month ago

ye-luo commented 1 month ago

Proposed changes

Somehow this change should have been introduced when DiracDeterminantBatched was added. <slaterdeterminant gpu="omptarget"> can be used to hit the offload code path in a CUDA+OpenMP offload build. The CUDA one is default.

What type(s) of changes does this code introduce?

Does this introduce a breaking change?

What systems has this change been tested on?

Polaris

Checklist

ye-luo commented 1 month ago

Test this please

ye-luo commented 1 month ago

Test this please

ye-luo commented 1 month ago

Can you see a place to print the available candidate values in standard output? e.g. " Using "omptarget" implementation. "cpu", "sycl" also available. "

What you suggested seems to complicating our printout. Users are not expected to select specific implementation but relying on default. So they don't need to see additional info in the standard output. In the manual, I'm thinking of documenting the general behavior of gpu option in the GPU section and then having each occurrence pointing to it. Probably a light task on a boring day.