Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
519780d
Fix MSVC native cl.exe build compatibility on Windows
lorisercole Apr 28, 2026
5104ef4
Set temporary ExchCXX & IntegratorXX versions
lorisercole Apr 28, 2026
80e011e
avoid implicit declaration error in gau2grid_helper.c with clang-cl
lorisercole May 5, 2026
67f9e70
avoid newline-eof warning
lorisercole May 5, 2026
8f9b3cb
silence noisy clang/cl warnings
lorisercole May 5, 2026
512a065
update deps hashes
lorisercole May 5, 2026
716f513
avoid clang warning: strdup
lorisercole May 6, 2026
5e57b86
avoid newline-eof warning
lorisercole May 6, 2026
4e18eb1
cleanup
lorisercole May 7, 2026
f40693a
fix(msvc): add /EHsc and align MSVC warning suppressions
lorisercole Jun 5, 2026
68c54d9
fix: replace strdup with stored std::string in exception what()
lorisercole Jun 5, 2026
872a03c
chore: update IntegratorXX and ExchCXX to latest Windows-fix branches
lorisercole Jun 5, 2026
0e91984
fix(msvc): conditionally check for -Wall flag under non-MSVC compilers
lorisercole Jun 5, 2026
79b03f1
fix(msvc): remove Catch2WithMain /EHsc — target only exists with CATC…
lorisercole Jun 8, 2026
388decd
Fix C4100 unused-parameter warnings for MSVC build
lorisercole Jun 8, 2026
891a4ff
Fix C4244 implicit-conversion warnings for MSVC build
lorisercole Jun 9, 2026
6fdd340
Fix C4018/C4244 signed/unsigned and narrowing warnings for MSVC build
lorisercole Jun 9, 2026
d05d0ec
Fix C4267 size_t-to-int narrowing warnings for MSVC build
lorisercole Jun 9, 2026
8d58633
Fix C4389/C4242: suppress MSVC STL warnings; ignore build-* dirs
lorisercole Jun 9, 2026
632d541
Fix C4267 size_t narrowing warnings (round 2)
lorisercole Jun 9, 2026
4f7818e
Fix C4244 implicit-conversion warnings (round 2)
lorisercole Jun 9, 2026
66ae491
Fix C4100 unused-parameter warnings (round 2): basic_mpi_reduction_dr…
lorisercole Jun 9, 2026
0e9ae2f
Fix C4701 potentially-uninitialized variable warnings
lorisercole Jun 9, 2026
75d0c66
Use ildp local instead of inline cast in eval_xmat
lorisercole Jun 10, 2026
faa245d
Use ildvxc, ildk, ildp locals instead of inline casts in inc_vxc, inc…
lorisercole Jun 10, 2026
67e293c
Suppress MSVC STL template warnings in CMake build
lorisercole Jun 10, 2026
5ddbfbe
Fix C4389: cast uint32_t to int32_t before std::count/std::find on in…
lorisercole Jun 10, 2026
3356422
Fix C4244/C4242: replace ::toupper with lambda in std::transform
lorisercole Jun 10, 2026
1668402
Fix C4267: cast size_t/unsigned long to int32_t at narrow call sites
lorisercole Jun 10, 2026
2cde73e
Remove MSVC /wd* warning suppressions from CMakeLists.txt
lorisercole Jun 10, 2026
ba21ee8
Fix C4242: replace remaining ::toupper uses with explicit-cast lambda
lorisercole Jun 10, 2026
ed4f730
Fix remaining C4244/C4242 warnings in test files
lorisercole Jun 10, 2026
4f9ad06
Fix -Wlanguage-extension-token: guard __FUNCSIG__ from clang-cl
lorisercole Jun 10, 2026
4923a76
Fix -Wsign-compare: use size_t for loop indices compared against size…
lorisercole Jun 10, 2026
2037d6c
Fix -Wunused-local-typedef: remove unused cart_array typedef in parse…
lorisercole Jun 10, 2026
7380964
Fix -Wswitch: add default case to switch statements missing XCWeightA…
lorisercole Jun 10, 2026
78b2982
Suppress -Wunused-variable for clang-cl targets
lorisercole Jun 10, 2026
9aad3ed
Minor whitespace cleanup
lorisercole Jun 10, 2026
8393072
Update dependency hashes
lorisercole Jun 10, 2026
dc6f2cd
Fix C4013: add missing #include <stdlib.h> for exit() in gau2grid_hel…
lorisercole Jun 11, 2026
a41ac46
Fix C4018: resolve signed/unsigned mismatch in gau2grid generated C code
lorisercole Jun 11, 2026
b811855
Fix C4101: remove unreferenced local variable declarations in gau2grid
lorisercole Jun 11, 2026
eac229a
Fix C4100: silence unreferenced formal parameter warnings in gau2grid…
lorisercole Jun 11, 2026
56a0264
Fix gau2grid Python generator to produce MSVC-warning-free C code
lorisercole Jun 11, 2026
3fc8d4d
Fix gau2grid generator issues found during regeneration
lorisercole Jun 11, 2026
f56617f
Fix remaining MSVC warnings in gau2grid transform code
lorisercole Jun 11, 2026
be725f7
Suppress clang-cl unknown pragma warnings for gau2grid
lorisercole Jun 11, 2026
0be0971
Update ExchCXX to include xc-threshold warning suppression
lorisercole Jun 11, 2026
cf6f348
Update ExchCXX dependency hash
lorisercole Jun 11, 2026
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@ src/xc_integrator/local_work_driver/host/obara_saika/generator/*.x

# Build directories
build/
build*/
_build/
cmake-build-*/
10 changes: 5 additions & 5 deletions cmake/gauxc-dep-versions.cmake
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
set( GAUXC_LINALG_MODULES_REPOSITORY https://github.com/wavefunction91/linalg-cmake-modules.git )
set( GAUXC_LINALG_MODULES_REVISION 9d2c273a671d6811e9fd432f6a4fa3d915b144b8 )
set( GAUXC_LINALG_MODULES_REVISION 222364df5e7639f371bf2f37ceb0f476301101a1 )

set( GAUXC_CUB_REPOSITORY https://github.com/NVIDIA/cub.git )
set( GAUXC_CUB_REVISION 1.10.0 )

set( GAUXC_CUTLASS_REPOSITORY https://github.com/NVIDIA/cutlass.git )
set( GAUXC_CUTLASS_REVISION v2.10.0 )

set( GAUXC_EXCHCXX_REPOSITORY https://github.com/wavefunction91/ExchCXX.git )
set( GAUXC_EXCHCXX_REVISION v1.0.0 )
set( GAUXC_EXCHCXX_REPOSITORY https://github.com/lorisercole/ExchCXX.git )
set( GAUXC_EXCHCXX_REVISION 97338065120ca32d04ba77f45d615a9e92cc0d20 )

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 1369be58d7a3235dac36d75dd964fef058830622 )
set( GAUXC_INTEGRATORXX_REPOSITORY https://github.com/lorisercole/IntegratorXX.git )
set( GAUXC_INTEGRATORXX_REVISION 923125236ea5971ee9accdea39da552b8e322ff6 )

set( GAUXC_HIGHFIVE_REPOSITORY https://github.com/highfive-devs/HighFive.git )
set( GAUXC_HIGHFIVE_REVISION 805f0e13d09b47c4b01d40682621904aa3b31bb8 )
7 changes: 6 additions & 1 deletion external/gau2grid/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,12 @@ target_sources( gauxc PRIVATE


target_compile_definitions( gauxc PRIVATE $<BUILD_INTERFACE:__GG_NO_PRAGMA> )
target_include_directories( gauxc
if( CMAKE_C_COMPILER_ID MATCHES "Clang" )
# gau2grid uses __pragma(loop(ivdep)) for MSVC vectorization hints.
# clang-cl does not recognize this pragma and emits -Wunknown-pragmas.
target_compile_options( gauxc PRIVATE -Wno-unknown-pragmas )
endif()
target_include_directories( gauxc
PRIVATE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/generated_source>
)
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
#define PRAGMA_RESTRICT __restrict__

#elif defined(__clang__) && defined(_MSC_VER)
// pragmas for MSVC
// pragmas for clang-cl

#define ALIGNED_MALLOC(alignment, size) _aligned_malloc(size, alignment)
#define ALIGNED_FREE(ptr) _aligned_free(ptr)
Expand Down
46 changes: 21 additions & 25 deletions external/gau2grid/generated_source/gau2grid_deriv1.c
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,9 @@ void gg_collocation_L0_deriv1(const unsigned long npoints, const double* PRAGMA_
const double center_x = center[0];
const double center_y = center[1];
const double center_z = center[2];
double A;
double AX, AY, AZ;

// Build negative exponents
for (unsigned long i = 0; i < nprim; i++) {
for (unsigned long i = 0; i < (unsigned long)nprim; i++) {
expn1[i] = -1.0 * exponents[i];
expn2[i] = -2.0 * exponents[i];
}
Expand Down Expand Up @@ -110,7 +108,7 @@ void gg_collocation_L0_deriv1(const unsigned long npoints, const double* PRAGMA_
S1[i] = 0.0;
}
} else {
unsigned int start_shift = start * xyz_stride;
unsigned long start_shift = start * xyz_stride;

PRAGMA_VECTORIZE
for (unsigned long i = 0; i < remain; i++) {
Expand All @@ -130,7 +128,7 @@ void gg_collocation_L0_deriv1(const unsigned long npoints, const double* PRAGMA_
}

// Start exponential block loop
for (unsigned long n = 0; n < nprim; n++) {
for (unsigned long n = 0; n < (unsigned long)nprim; n++) {
const double coef = coeffs[n];
const double alpha_n1 = expn1[n];
const double alpha_n2 = expn2[n];
Expand Down Expand Up @@ -225,11 +223,9 @@ void gg_collocation_L1_deriv1(const unsigned long npoints, const double* PRAGMA_
const double center_x = center[0];
const double center_y = center[1];
const double center_z = center[2];
double A;
double AX, AY, AZ;

// Build negative exponents
for (unsigned long i = 0; i < nprim; i++) {
for (unsigned long i = 0; i < (unsigned long)nprim; i++) {
expn1[i] = -1.0 * exponents[i];
expn2[i] = -2.0 * exponents[i];
}
Expand Down Expand Up @@ -263,7 +259,7 @@ void gg_collocation_L1_deriv1(const unsigned long npoints, const double* PRAGMA_
S1[i] = 0.0;
}
} else {
unsigned int start_shift = start * xyz_stride;
unsigned long start_shift = start * xyz_stride;

PRAGMA_VECTORIZE
for (unsigned long i = 0; i < remain; i++) {
Expand All @@ -283,7 +279,7 @@ void gg_collocation_L1_deriv1(const unsigned long npoints, const double* PRAGMA_
}

// Start exponential block loop
for (unsigned long n = 0; n < nprim; n++) {
for (unsigned long n = 0; n < (unsigned long)nprim; n++) {
const double coef = coeffs[n];
const double alpha_n1 = expn1[n];
const double alpha_n2 = expn2[n];
Expand Down Expand Up @@ -440,7 +436,7 @@ void gg_collocation_L2_deriv1(const unsigned long npoints, const double* PRAGMA_
double AX, AY, AZ;

// Build negative exponents
for (unsigned long i = 0; i < nprim; i++) {
for (unsigned long i = 0; i < (unsigned long)nprim; i++) {
expn1[i] = -1.0 * exponents[i];
expn2[i] = -2.0 * exponents[i];
}
Expand Down Expand Up @@ -474,7 +470,7 @@ void gg_collocation_L2_deriv1(const unsigned long npoints, const double* PRAGMA_
S1[i] = 0.0;
}
} else {
unsigned int start_shift = start * xyz_stride;
unsigned long start_shift = start * xyz_stride;

PRAGMA_VECTORIZE
for (unsigned long i = 0; i < remain; i++) {
Expand All @@ -494,7 +490,7 @@ void gg_collocation_L2_deriv1(const unsigned long npoints, const double* PRAGMA_
}

// Start exponential block loop
for (unsigned long n = 0; n < nprim; n++) {
for (unsigned long n = 0; n < (unsigned long)nprim; n++) {
const double coef = coeffs[n];
const double alpha_n1 = expn1[n];
const double alpha_n2 = expn2[n];
Expand Down Expand Up @@ -693,7 +689,7 @@ void gg_collocation_L3_deriv1(const unsigned long npoints, const double* PRAGMA_
double AX, AY, AZ;

// Build negative exponents
for (unsigned long i = 0; i < nprim; i++) {
for (unsigned long i = 0; i < (unsigned long)nprim; i++) {
expn1[i] = -1.0 * exponents[i];
expn2[i] = -2.0 * exponents[i];
}
Expand Down Expand Up @@ -727,7 +723,7 @@ void gg_collocation_L3_deriv1(const unsigned long npoints, const double* PRAGMA_
S1[i] = 0.0;
}
} else {
unsigned int start_shift = start * xyz_stride;
unsigned long start_shift = start * xyz_stride;

PRAGMA_VECTORIZE
for (unsigned long i = 0; i < remain; i++) {
Expand All @@ -747,7 +743,7 @@ void gg_collocation_L3_deriv1(const unsigned long npoints, const double* PRAGMA_
}

// Start exponential block loop
for (unsigned long n = 0; n < nprim; n++) {
for (unsigned long n = 0; n < (unsigned long)nprim; n++) {
const double coef = coeffs[n];
const double alpha_n1 = expn1[n];
const double alpha_n2 = expn2[n];
Expand Down Expand Up @@ -1004,7 +1000,7 @@ void gg_collocation_L4_deriv1(const unsigned long npoints, const double* PRAGMA_
double AX, AY, AZ;

// Build negative exponents
for (unsigned long i = 0; i < nprim; i++) {
for (unsigned long i = 0; i < (unsigned long)nprim; i++) {
expn1[i] = -1.0 * exponents[i];
expn2[i] = -2.0 * exponents[i];
}
Expand Down Expand Up @@ -1038,7 +1034,7 @@ void gg_collocation_L4_deriv1(const unsigned long npoints, const double* PRAGMA_
S1[i] = 0.0;
}
} else {
unsigned int start_shift = start * xyz_stride;
unsigned long start_shift = start * xyz_stride;

PRAGMA_VECTORIZE
for (unsigned long i = 0; i < remain; i++) {
Expand All @@ -1058,7 +1054,7 @@ void gg_collocation_L4_deriv1(const unsigned long npoints, const double* PRAGMA_
}

// Start exponential block loop
for (unsigned long n = 0; n < nprim; n++) {
for (unsigned long n = 0; n < (unsigned long)nprim; n++) {
const double coef = coeffs[n];
const double alpha_n1 = expn1[n];
const double alpha_n2 = expn2[n];
Expand Down Expand Up @@ -1388,7 +1384,7 @@ void gg_collocation_L5_deriv1(const unsigned long npoints, const double* PRAGMA_
double AX, AY, AZ;

// Build negative exponents
for (unsigned long i = 0; i < nprim; i++) {
for (unsigned long i = 0; i < (unsigned long)nprim; i++) {
expn1[i] = -1.0 * exponents[i];
expn2[i] = -2.0 * exponents[i];
}
Expand Down Expand Up @@ -1422,7 +1418,7 @@ void gg_collocation_L5_deriv1(const unsigned long npoints, const double* PRAGMA_
S1[i] = 0.0;
}
} else {
unsigned int start_shift = start * xyz_stride;
unsigned long start_shift = start * xyz_stride;

PRAGMA_VECTORIZE
for (unsigned long i = 0; i < remain; i++) {
Expand All @@ -1442,7 +1438,7 @@ void gg_collocation_L5_deriv1(const unsigned long npoints, const double* PRAGMA_
}

// Start exponential block loop
for (unsigned long n = 0; n < nprim; n++) {
for (unsigned long n = 0; n < (unsigned long)nprim; n++) {
const double coef = coeffs[n];
const double alpha_n1 = expn1[n];
const double alpha_n2 = expn2[n];
Expand Down Expand Up @@ -1860,7 +1856,7 @@ void gg_collocation_L6_deriv1(const unsigned long npoints, const double* PRAGMA_
double AX, AY, AZ;

// Build negative exponents
for (unsigned long i = 0; i < nprim; i++) {
for (unsigned long i = 0; i < (unsigned long)nprim; i++) {
expn1[i] = -1.0 * exponents[i];
expn2[i] = -2.0 * exponents[i];
}
Expand Down Expand Up @@ -1894,7 +1890,7 @@ void gg_collocation_L6_deriv1(const unsigned long npoints, const double* PRAGMA_
S1[i] = 0.0;
}
} else {
unsigned int start_shift = start * xyz_stride;
unsigned long start_shift = start * xyz_stride;

PRAGMA_VECTORIZE
for (unsigned long i = 0; i < remain; i++) {
Expand All @@ -1914,7 +1910,7 @@ void gg_collocation_L6_deriv1(const unsigned long npoints, const double* PRAGMA_
}

// Start exponential block loop
for (unsigned long n = 0; n < nprim; n++) {
for (unsigned long n = 0; n < (unsigned long)nprim; n++) {
const double coef = coeffs[n];
const double alpha_n1 = expn1[n];
const double alpha_n2 = expn2[n];
Expand Down
Loading