Add device-side ETKDG conformer pruning - #265
Conversation
Signed-off-by: Matthew Neba <mattneba4343@gmail.com>
Signed-off-by: Matthew Neba <mattneba4343@gmail.com>
Signed-off-by: Matthew Neba <mattneba4343@gmail.com>
Signed-off-by: Matthew Neba <mattneba4343@gmail.com>
|
| Filename | Overview |
|---|---|
| src/conformer/device_conformer_pruning.cpp | Builds RDKit-compatible atom maps, launches device pruning, and compacts retained coordinates and metadata. |
| src/conformer_rmsd.cu | Adds warp-level aligned RMSD, ordered greedy pruning, and retained-coordinate compaction kernels. |
| src/etkdg.cpp | Enables conformer pruning after device results are consolidated onto the target GPU. |
| src/CMakeLists.txt | Adds the device-pruning implementation and RMSD library to the ETKDG target. |
| tests/test_etkdg_device_output.cu | Expands device-output coverage for pruning behavior, symmetry, heavy atoms, interleaving, compaction, and conformer indices. |
Reviews (2): Last reviewed commit: "Minor fixes + in place retained list" | Re-trigger Greptile
|
Thanks for closing another feature gap! I'll be able to review this later today or tomorrow. Don't worry about the python build failures, I need to fix our CI from our v0.6 version bump. C++ build is the important one to look at. |
scal444
left a comment
There was a problem hiding this comment.
Looks great! A few small things, and one performance suggestion that can definitely be left to a followup, or handled here.
|
Awesome! Thanks for taking a look, will fix those issues and take another deep look before the weekend |
|
Also our CI should be fixed now so if you rebase onto or merge in |
Signed-off-by: Matthew Neba <mattneba4343@gmail.com>
|
Applied the fixes. Also applied your suggestion to use a list of the retained conformers so that we don't waste time on those no ops; although it was done in place with the list containing conformers ( |
Summary