Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions .github/workflows/build_and_test_compiler_zoo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,29 @@ jobs:
image: dbwy/chemistry
strategy:
matrix:
compiler: [ {suite: gnu, version: 12} ]
compiler:
- {suite: gnu, version: 12}
- {suite: llvm, version: 19}
mpi_flag: [ON, OFF]
openmp_flag: [ON, OFF]
exclude:
- compiler: {suite: llvm, version: 14}
- compiler: {suite: llvm, version: 19}
openmp_flag: ON

steps:
- uses: actions/checkout@v4

- name: Install LLVM toolchain
if: ${{ matrix.compiler.suite == 'llvm' }}
shell: bash
run: |
set -euo pipefail
apt-get update
apt-get install -y wget gnupg lsb-release software-properties-common
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
./llvm.sh ${{ matrix.compiler.version }} -y

- name: Setup Compiler
shell: bash
run: $GITHUB_WORKSPACE/.github/workflows/scripts/compiler_setup.sh
Expand Down
8 changes: 7 additions & 1 deletion .github/workflows/scripts/compiler_setup.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
#/bin/bash
#!/bin/bash

export CSUITE=$1
export CVER=$2

if [[ "${CSUITE}" == "llvm" ]]
then
# register the specific clang version as an alternative (needed once per version)
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${CVER} 50
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${CVER} 50
update-alternatives --set clang /usr/bin/clang-${CVER}
update-alternatives --set clang++ /usr/bin/clang++-${CVER}
update-alternatives --install /usr/bin/cc cc /usr/bin/clang 30
Expand All @@ -20,3 +23,6 @@ else
exit 125
fi

echo "Selected compilers:"
echo " cc -> $(command -v cc) | $(cc --version | head -1)"
echo " c++ -> $(command -v c++) | $(c++ --version | head -1)"
2 changes: 1 addition & 1 deletion cmake/gauxc-dep-versions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ set( GAUXC_GAU2GRID_REPOSITORY https://github.com/dgasmith/gau2grid.git )
set( GAUXC_GAU2GRID_REVISION v2.0.6 )

set( GAUXC_INTEGRATORXX_REPOSITORY https://github.com/wavefunction91/IntegratorXX.git )
set( GAUXC_INTEGRATORXX_REVISION cf2917c64916583cef1081011beab3085b66e352 )
set( GAUXC_INTEGRATORXX_REVISION 1369be58d7a3235dac36d75dd964fef058830622 )

set( GAUXC_HIGHFIVE_REPOSITORY https://github.com/BlueBrain/HighFive.git )
set( GAUXC_HIGHFIVE_REVISION 805f0e13d09b47c4b01d40682621904aa3b31bb8 )
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@
#include "host/local_host_work_driver.hpp"
#include <gauxc/molgrid/defaults.hpp>
#include <stdexcept>
#ifdef GAUXC_ENABLE_OPENMP
#include <omp.h>
#endif

namespace GauXC::detail {
template <typename ValueType>
Expand Down Expand Up @@ -96,12 +98,16 @@ void ReferenceReplicatedXCHostIntegrator<ValueType>::

// Loop over tasks
const size_t ntasks = tasks.size();
#ifdef GAUXC_ENABLE_OPENMP
#pragma omp parallel
#endif
{

XCHostData<value_type> host_data; // Thread local host data

#ifdef GAUXC_ENABLE_OPENMP
#pragma omp for schedule(dynamic) reduction(+:dd_Psi[:natom * ldPsi])
#endif
for( size_t iT = 0; iT < ntasks; ++iT ) {

// Alias current task
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,13 @@
#include "integrator_util/spherical_harmonics.hpp"
#include "host/local_host_work_driver.hpp"
#include <stdexcept>
#include <omp.h>
#include "host/blas.hpp"
#include "host/util.hpp"

#ifdef GAUXC_ENABLE_OPENMP
#include <omp.h>
#endif

namespace GauXC::detail {
template <typename ValueType>
void ReferenceReplicatedXCHostIntegrator<ValueType>::
Expand Down Expand Up @@ -92,12 +95,16 @@ void ReferenceReplicatedXCHostIntegrator<ValueType>::
// Loop over tasks
const size_t ntasks = tasks.size();

#ifdef GAUXC_ENABLE_OPENMP
#pragma omp parallel
#endif
{

XCHostData<value_type> host_data; // Thread local host data

#ifdef GAUXC_ENABLE_OPENMP
#pragma omp for schedule(dynamic)
#endif
for( size_t iT = 0; iT < ntasks; ++iT ) {

// Alias current task
Expand Down