Skip to content

Conversation

@jwaldrop107
Copy link
Member

Is this pull request associated with an issue(s)?
No.

Description
Refactors the generation of AO integrals to optional use OpenMP for threading. OpenMP is optionally included with the INTEGRALS_ENABLE_OPENMP CMake flag and controlled with OMP_NUM_THREADS.

@jwaldrop107 jwaldrop107 self-assigned this Sep 12, 2025
ryanmrichard
ryanmrichard previously approved these changes Sep 12, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR refactors the generation of AO integrals to optionally use OpenMP for threading, controlled by the INTEGRALS_ENABLE_OPENMP CMake flag and OMP_NUM_THREADS environment variable.

  • Replaces sequential shell iteration with parallelized shell combination processing
  • Adds OpenMP support with thread-safe engine allocation (one engine per thread)
  • Introduces CMake configuration for optional OpenMP dependency and CI testing

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
src/integrals/libint/libint.cpp Refactors integral computation to use OpenMP threading with per-thread engines and flattened shell iteration
CMakeLists.txt Adds INTEGRALS_ENABLE_OPENMP option and OpenMP dependency configuration
.github/workflows/pull_request.yaml Adds CI job to test OpenMP-enabled builds
.github/enable_openmp.cmake Configuration file to enable OpenMP for CI testing

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Co-authored-by: Copilot <[email protected]>
@jwaldrop107 jwaldrop107 merged commit c3c876d into master Sep 12, 2025
9 checks passed
@jwaldrop107 jwaldrop107 deleted the openmp branch September 12, 2025 22:43
@github-actions
Copy link
Contributor

🚀 [bumpr] Bumped!
New version:v0.0.34
Changes:v0.0.33...v0.0.34

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