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
74 changes: 74 additions & 0 deletions .github/workflows/libint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Polyquant configured libint build
on:
push:
branches:
- libint
schedule:
- cron: '0 1 1 * *'

jobs:
libint-build:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- {
name: "Ubuntu_Latest_GCC",
os: ubuntu-latest,
artifact: "polyquant-libint.deb",
build_type: "Release",
cc: "gcc",
cxx: "g++",
generators: "Ninja"
}
steps:
- name: checkout project
uses: actions/checkout@v4
with:
ref: 'libint'
- name: Print env
run: |
echo github.event.action: ${{ github.event.action }}
echo github.event_name: ${{ github.event_name }}
- name: Install dependencies on ubuntu
if: startsWith(matrix.config.name, 'Ubuntu_Latest_GCC')
run: |
sudo apt-get update
sudo apt-get install -y ninja-build cmake
ninja --version
cmake --version
gcc --version
sudo apt-get install -y libeigen3-dev libboost-all-dev
mkdir builddir
mkdir installdir
- name: Configure
shell: bash
working-directory: builddir
run: |
cmake \
-DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \
-DLIBINT2_ENABLE_FORTRAN=OFF \
-DLIBINT2_REALTYPE=double \
-DBUILD_TESTING=OFF \
-DLIBINT2_BUILD_SHARED_AND_STATIC_LIBS=ON \
-G "${{ matrix.config.generators }}" \
$GITHUB_WORKSPACE
- name: Build
shell: bash
working-directory: builddir
run: cmake --build . --config ${{ matrix.config.build_type }}
- name: Build deb
shell: bash
working-directory: builddir
run: cmake --build . --target package
- name: Rename deb
shell: bash
run: |
mv builddir/Libint2-2.7.2-Linux.deb ${{ matrix.config.artifact }}
- name: Upload
uses: actions/upload-artifact@v4
with:
path: ./${{ matrix.config.artifact }}
name: ${{ matrix.config.artifact }}
1 change: 0 additions & 1 deletion CMake/bilke_cmake_modules
Submodule bilke_cmake_modules deleted from 1b68d1
1 change: 0 additions & 1 deletion CMake/cmake-modules
Submodule cmake-modules deleted from d77f48
41 changes: 29 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,24 @@ message("CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}")
# set up where to find Find*.cmake files and where to put the things we build
# add_compile_options(-Wall -Wextra -pedantic -Werror -O3)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake" ${CMAKE_MODULE_PATH})
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake/cmake-modules" ${CMAKE_MODULE_PATH})
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake/bilke_cmake_modules" ${CMAKE_MODULE_PATH})

################################################################################
# linear algebra cmake modules
FetchContent_Declare( linalg_cmake_modules
GIT_REPOSITORY https://github.com/wavefunction91/linalg-cmake-modules.git
GIT_TAG main
)
FetchContent_MakeAvailable( linalg_cmake_modules )
set(CMAKE_MODULE_PATH "${linalg_cmake_modules_SOURCE_DIR}" ${CMAKE_MODULE_PATH})
################################################################################
# bilke cmake modules
FetchContent_Declare( bilke_cmake_modules
GIT_REPOSITORY https://github.com/bilke/cmake-modules.git
GIT_TAG main
)
FetchContent_MakeAvailable( bilke_cmake_modules )
set(CMAKE_MODULE_PATH "${bilke_cmake_modules_SOURCE_DIR}" ${CMAKE_MODULE_PATH})
################################################################################
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${POLYQUANT_BINARY_DIR}/lib CACHE PATH "Single output directory for building all libraries.")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${POLYQUANT_BINARY_DIR}/bin CACHE PATH "Single output directory for building all executables.")
################################################################################
Expand Down Expand Up @@ -134,26 +150,27 @@ find_package(OpenMP REQUIRED)
FetchContent_Declare(
nlohmann_json
GIT_REPOSITORY https://github.com/nlohmann/json
GIT_TAG v3.11.3)
GIT_TAG v3.12.0)
FetchContent_GetProperties(nlohmann_json)
set(JSON_BuildTests OFF)
if(NOT nlohmann_json_POPULATED)
FetchContent_Populate(nlohmann_json)
add_subdirectory(${nlohmann_json_SOURCE_DIR} ${nlohmann_json_BINARY_DIR} EXCLUDE_FROM_ALL)
endif(NOT nlohmann_json_POPULATED)
FetchContent_MakeAvailable(nlohmann_json)
# if(NOT nlohmann_json_POPULATED)
# FetchContent_Populate(nlohmann_json)
# add_subdirectory(${nlohmann_json_SOURCE_DIR} ${nlohmann_json_BINARY_DIR} EXCLUDE_FROM_ALL)
# endif(NOT nlohmann_json_POPULATED)
########################################
# curl requests to get basis sets
FetchContent_Declare(
CPR
GIT_REPOSITORY https://github.com/whoshuu/cpr.git
GIT_TAG 1.10.5)
GIT_TAG 1.11.2)
set(BUILD_CPR_TESTS OFF)
set(BUILD_CPR_TESTS_SSL OFF)
set(BUILD_TESTING OFF)
FetchContent_MakeAvailable(CPR)
########################################
# Eigen for matrix math
find_package(Eigen3 3.3 NO_MODULE)
find_package(Eigen3 3.4 NO_MODULE)
if (NOT TARGET Eigen3::Eigen)
FetchContent_Declare(
Eigen
Expand Down Expand Up @@ -238,8 +255,8 @@ set(HIGHFIVE_BUILD_DOCS OFF CACHE INTERNAL "") # Forces the value
set(HIGHFIVE_EXAMPLES OFF CACHE INTERNAL "") # Forces the value
FetchContent_Declare(
HighFive
GIT_REPOSITORY https://github.com/BlueBrain/HighFive.git
GIT_TAG v2.9.0)
GIT_REPOSITORY https://github.com/highfive-devs/highfive.git
GIT_TAG v3.0.0-beta2)
FetchContent_MakeAvailable(HighFive)
########################################
# Text Formatting
Expand All @@ -254,7 +271,7 @@ FetchContent_MakeAvailable(fmt)
FetchContent_Declare(
Catch2
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
GIT_TAG v3.6.0)
GIT_TAG v3.8.1)
FetchContent_MakeAvailable(Catch2)
set(CMAKE_MODULE_PATH "${catch2_SOURCE_DIR}/contrib" ${CMAKE_MODULE_PATH})
include(Catch)
Expand Down
3 changes: 2 additions & 1 deletion src/io/hdf5_utilities.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,8 @@ void POLYQUANT_HDF5::dump_MOs(std::string quantum_part_name, int num_ao, int num
// }
path = super_twist_group + "/eigenset_" + std::to_string(spin_idx);
// H5Easy::dump(*hdf5_file, path, flattened_mo_coeff, H5Easy::DumpMode::Overwrite);
H5Easy::dump(*hdf5_file, path, mo_coeff[spin_idx].transpose(), H5Easy::DumpMode::Overwrite);
Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic> mo_transpose = mo_coeff[spin_idx].transpose();
H5Easy::dump(*hdf5_file, path, mo_transpose, H5Easy::DumpMode::Overwrite);

path = super_twist_group + "/eigensymmlab_" + std::to_string(spin_idx);
H5Easy::dump(*hdf5_file, path, mo_symm_labels[spin_idx], H5Easy::DumpMode::Overwrite);
Expand Down
Loading