Add native cube generator backed by GauXC OrbitalEvaluator#461
Draft
ConradJohnston wants to merge 1 commit into
Draft
Add native cube generator backed by GauXC OrbitalEvaluator#461ConradJohnston wants to merge 1 commit into
ConradJohnston wants to merge 1 commit into
Conversation
📊 Coverage Summary
Detailed Coverage ReportsC++ Coverage DetailsPython Coverage DetailsPybind11 Coverage Details |
e541553 to
2854b41
Compare
f0946cf to
fb6328d
Compare
Replace PySCF cubegen with a native C++ implementation that uses GauXC's OrbitalEvaluator for MO and density evaluation on cube grids, and GauXC's write_cube for file output. This eliminates: - The vendored gauxc-private/ header (no longer needed — OrbitalEvaluator is the public API for point-set evaluation) - 600+ lines of hand-rolled collocation batching, GEMM, and text formatting code (all now in GauXC upstream) GauXC pin bumped to ConradJohnston/GauXC@10f59a8 which includes OrbitalEvaluator with shell screening, pipelined collocation+GEMM, CubeGrid-native overloads, and parallel cube writer.
fb6328d to
6ac7498
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a native C++ cube file generator backed by GauXC's
OrbitalEvaluator, replacing the PySCF subprocess call for orbital and density visualization.What changed
CubeGenerator— thin wrapper that converts QDKBasisSet/Structureto GauXC types and delegates toGauXC::OrbitalEvaluator+GauXC::write_cube.OrbitalEvaluatorwith shell screening, pipelined collocation+GEMM, and parallel cube writer.gauxc-private/directory is no longer needed.API (unchanged from v1)
Performance (vs PySCF cubegen, cc-pVDZ, 208-core EPYC)
Follow-ups
backend="native"dispatch (separate PR)