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

Implement AccelMatrixUpdateOMPTarget wrapper #5025

Closed ye-luo closed 1 month ago

ye-luo commented 1 month ago

Review after #5024

Proposed changes

AccelMatrixUpdateOMPTarget matches AccelMatrixUpdateCUDA implementation.

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

Does this introduce a breaking change?

What systems has this change been tested on?

eypc-server

Checklist

ye-luo commented 1 month ago

Do you intend much more refactoring for omp target delayed update and connected code?

Actually this is the last omptarget bit. I already connected it to MatrixDelayedUpdateCUDA template and OMPTarget delayed update is fully working. I still need to rename/refactoring MatrixDelayedUpdateCUDA and DiracDeterminantBatched and remove MatrixUpdateOMPTarget to wrap up the work.

ye-luo commented 1 month ago

Test this please

prckent commented 1 month ago

Quick Q: Any spare bandwidth to add a test for the beta[ib] != 0 paths?

ye-luo commented 1 month ago

Quick Q: Any spare bandwidth to add a test for the beta[ib] != 0 paths?

Will make a PR also relaxing incx!=1 and add unit tests. Regarding beta[ib] != 0 it is being used namely indirectly tested but I will get it unit tested.