Skip to content

Conversation

@wavefunction91
Copy link
Owner

No description provided.

Mason Wheeler and others added 8 commits July 16, 2025 11:17
…for Windows compatibility

Update basis test files: rename 6-31g* to 6-31g-star for compatibility

----
#### AI description  (iteration 1)
#### PR Classification
Code cleanup for compatibility.

#### PR Summary
Renamed basis test files for compatibility purposes.
- `tests/standards.cxx`: Updated the basis set file path from `6-31g*` to `6-31g-star`.
Implements RKS MGGA Gradients on both host and device.

Related work items: #29086, #29087
Initial implementation of UKS gradients in GauXC. Also implements UKS + MGGA on GPU.

----
#### AI description  (iteration 1)
#### PR Classification
New feature

#### PR Summary
This pull request implements UKS gradients for both CPU and GPU in the GauXC library.
- `src/xc_integrator/local_work_driver/device/cuda/kernels/uvvars.cu`: Removed multiple UKS kernel functions and replaced them with includes for `uvvars_lda.hpp`, `uvvars_gga.hpp`, and `uvvars_mgga.hpp`.

Related work items: #29266, #31050
…ation

This pull request integrates the calculation of psi and phix for LightAIMD with ddX for solvation calculations. It also updates the integratorxx version and integrate becke radial grid.

Related work items: #25169
#### AI description  (iteration 1)
#### PR Classification
Bug fix to address memory over-allocation in specific cases.

#### PR Summary
This pull request fixes a memory over-allocation issue by adjusting memory size calculations to include alignment padding.
- `src/xc_integrator/local_work_driver/device/cuda/scheme1_cutlass_data_base.cxx`: Adjusted memory size calculations to include alignment padding for `int32_t`, `int64_t`, `double*`, and `cutlass::gemm::GemmCoord` types. Improved memory allocation logic and added alignment considerations in various functions.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #33314
This PR enables the use of spherical functions for the GPU implementation (without the need for extra intermediates!)

----
#### AI description  (iteration 1)
#### PR Classification
This PR implements a new feature by adding full GPU support for spherical SNK integrals.

#### PR Summary
The changes introduce specialized spherical code paths in multiple GPU kernel files and update dispatcher and template instantiations to select between spherical and cartesian formulations based on shell purity.
- In files such as `src/xc_integrator/local_work_driver/device/cuda/obara_saika/src/integral_*.cu` and corresponding header files, direct element indexing is replaced with precomputed variables (e.g. `Xik_0`) and new boolean flags (`sph`, `pure_bra`, `pure_ket`) to enable spherical processing.
- Dispatcher functions and template instantiations (e.g. `AM20_sph`, `AM11_sph`, `AM10_swap_sph`) have been updated to conditionally route GPU tasks to spherical or cartesian kernels.
- In `src/xc_integrator/local_work_driver/device/cuda/obara_saika/src/task_map_base.hu`, new spherical transformation utilities (`tform_l2` and `itform_l2`) are added for proper basis conversion.
- Integrator headers (e.g. in `incore_replicated_xc_device_integrator_exx.hpp`) now include shell purity checks to enforce consistent spherical treatment across the codebase.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #35115
Add eval_fxc_contraction for CPSCF calculation (both host and device codes)

----
#### AI description  (iteration 1)
#### PR Classification
This pull request implements a new feature by adding comprehensive support for evaluating FXC contraction in the XC integrators.

#### PR Summary
The changes introduce a complete FXC contraction implementation for LDA, GGA, and MGGA functionals into both host and device integrators, including new device kernels, host routines, interface updates, and a second‐derivative test.
- **`src/xc_integrator/local_work_driver/device/common/zmat_fxc.hpp` and `kernels/zmat_fxc.cu`**: New device kernels for evaluating FXC contraction across various XC approximations.
- **`src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_fxc_contraction.hpp`**: A host-side reference implementation of FXC contraction has been added.
- **Multiple files (e.g., device work driver headers, shell-batched and replicated integrator modules)**: Updated APIs and interfaces to integrate FXC contraction routines (including new functions like `inc_fxc` and `symmetrize_fxc`).
- **`tests/2nd_derivative_test.cxx`**: A new test has been added to validate the second derivative (FXC contraction) calculations.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #34303
After addition of weight derivative, the error of exc_grad of LiF can reduced from 10^-7 to 10^-8 compared to finite difference result.
Translational Invariance is enforced now.

There are now two screen thresholds related to weight. One is the thresh for calculation of partitioning weight (ssf_weight_tol), the other is the thresh of w*eps*den when calculating the contribution of weight derivative (
w_times_f_thresh).
Now we set w_times_f_thresh=1e-12, ssf_weight_tol=1e-13 (original value is 1e-10) to let the CPU/GPU difference become negligible ( rel diff ~ 1e-12) and the gradient result error below 1e-8

----
#### AI description  (iteration 1)
#### PR Classification
This pull request introduces a new CPU implementation for computing weight first derivatives and optimizes exc_grad evaluation using translational invariance.

#### PR Summary
The PR adds new functions for calculating the 1st derivative of molecular partition weights (for both Becke and SSF schemes), including contracted derivative forms, and integrates these into exc_grad evaluation.
- `src/xc_integrator/local_work_driver/host/reference/weights.cxx` and `weights.hpp`: Implement and declare the new Becke/SSF weight derivative and contracted derivative functions.
- `src/xc_integrator/local_work_driver/host/local_host_work_driver.{cxx,.hpp}`: Expose and route the derivative evaluation API through the local work driver.
- `src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_exc_grad.hpp`: Update exc_grad computation to include contributions from the weight derivatives via translational invariance.
- `tests/weight_derivative_test.cxx`: Add new tests that validate the derivative implementations against finite-difference references.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #36009
This PR prepares the public 1.0 release of GauXC

----
Release candidate update featuring extensive license header modifications and documentation enhancements.

This pull request prepares the 1.0 release candidate by updating the project version and rebranding the codebase.
- **`CMakeLists.txt`**: Project version changed from 0.0.1 to 1.0.0.
- **Source and header files (`src/`, `include/`, and `tests/`)**: Updated copyright notices,
  adding “(c) 2024-2025, Microsoft Corporation” alongside the existing UC/LBNL text.
- **Documentation**: New files added including `NOTICE.md`, `CONTRIBUTORS.md`, `CONTRIBUTING.md`, `SECURITY.md`, and `CODE_OF_CONDUCT.md`.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #37162
@wavefunction91 wavefunction91 merged commit 7bc93c4 into master Sep 8, 2025
10 checks passed
@wavefunction91 wavefunction91 deleted the release/1.0 branch September 8, 2025 20:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants