From 22d01a3503d641cadea5812fdbf193b5fefb4189 Mon Sep 17 00:00:00 2001 From: Mason Wheeler Date: Fri, 27 Dec 2024 22:33:17 +0000 Subject: [PATCH 1/9] Merged PR 5281: Update basis test files: rename 6-31g* to 6-31g-star 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`. --- tests/basis/new/{6-31g*.g94 => 6-31g-star.g94} | 0 tests/basis/old/{6-31g*.g94 => 6-31g-star.g94} | 0 tests/standards.cxx | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) rename tests/basis/new/{6-31g*.g94 => 6-31g-star.g94} (100%) rename tests/basis/old/{6-31g*.g94 => 6-31g-star.g94} (100%) diff --git a/tests/basis/new/6-31g*.g94 b/tests/basis/new/6-31g-star.g94 similarity index 100% rename from tests/basis/new/6-31g*.g94 rename to tests/basis/new/6-31g-star.g94 diff --git a/tests/basis/old/6-31g*.g94 b/tests/basis/old/6-31g-star.g94 similarity index 100% rename from tests/basis/old/6-31g*.g94 rename to tests/basis/old/6-31g-star.g94 diff --git a/tests/standards.cxx b/tests/standards.cxx index 6ca6473a..570115de 100644 --- a/tests/standards.cxx +++ b/tests/standards.cxx @@ -1406,7 +1406,7 @@ Molecule make_ubiquitin() { BasisSet make_631Gd( const Molecule& mol, SphericalType sph ) { - std::string basis_path = GAUXC_REF_DATA_PATH "/../basis/old/6-31g*.g94"; + std::string basis_path = GAUXC_REF_DATA_PATH "/../basis/old/6-31g-star.g94"; return parse_basis( mol, basis_path, sph ); } From b070234932106037f4c9b3f338c9b8e13e71de19 Mon Sep 17 00:00:00 2001 From: David Williams-Young Date: Fri, 10 Jan 2025 03:07:37 +0000 Subject: [PATCH 2/9] Merged PR 5214: Implement RKS MGGA gradients Implements RKS MGGA Gradients on both host and device. Related work items: #29086, #29087 --- .gitignore | 1 + cmake/gauxc-dep-versions.cmake | 2 +- include/gauxc/shell.hpp | 5 - .../device/common/collocation_device.hpp | 6 + .../device/common/increment_exc_grad.hpp | 2 + ...ion_shell_to_task_kernels_cartesian_l0.hpp | 6 +- ..._to_task_kernels_cartesian_l0_gradient.hpp | 6 +- ...l_to_task_kernels_cartesian_l0_hessian.hpp | 26 +- ...l_to_task_kernels_cartesian_l0_lapgrad.hpp | 204 +++++ ...to_task_kernels_cartesian_l0_laplacian.hpp | 18 +- ...ion_shell_to_task_kernels_cartesian_l1.hpp | 6 +- ..._to_task_kernels_cartesian_l1_gradient.hpp | 52 +- ...l_to_task_kernels_cartesian_l1_hessian.hpp | 107 ++- ...l_to_task_kernels_cartesian_l1_lapgrad.hpp | 281 +++++++ ...to_task_kernels_cartesian_l1_laplacian.hpp | 77 +- ...ion_shell_to_task_kernels_cartesian_l2.hpp | 27 +- ..._to_task_kernels_cartesian_l2_gradient.hpp | 120 +-- ...l_to_task_kernels_cartesian_l2_hessian.hpp | 226 +++-- ...l_to_task_kernels_cartesian_l2_lapgrad.hpp | 396 +++++++++ ...to_task_kernels_cartesian_l2_laplacian.hpp | 166 ++-- ...ion_shell_to_task_kernels_cartesian_l3.hpp | 52 +- ..._to_task_kernels_cartesian_l3_gradient.hpp | 199 +++-- ...l_to_task_kernels_cartesian_l3_hessian.hpp | 385 +++++---- ...l_to_task_kernels_cartesian_l3_lapgrad.hpp | 561 +++++++++++++ ...to_task_kernels_cartesian_l3_laplacian.hpp | 285 ++++--- ...ion_shell_to_task_kernels_cartesian_l4.hpp | 75 +- ..._to_task_kernels_cartesian_l4_gradient.hpp | 297 ++++--- ...l_to_task_kernels_cartesian_l4_hessian.hpp | 590 ++++++++----- ...l_to_task_kernels_cartesian_l4_lapgrad.hpp | 785 ++++++++++++++++++ ...to_task_kernels_cartesian_l4_laplacian.hpp | 440 ++++++---- ...ion_shell_to_task_kernels_spherical_l0.hpp | 6 +- ..._to_task_kernels_spherical_l0_gradient.hpp | 6 +- ...l_to_task_kernels_spherical_l0_hessian.hpp | 26 +- ...l_to_task_kernels_spherical_l0_lapgrad.hpp | 204 +++++ ...to_task_kernels_spherical_l0_laplacian.hpp | 18 +- ...ion_shell_to_task_kernels_spherical_l1.hpp | 6 +- ..._to_task_kernels_spherical_l1_gradient.hpp | 52 +- ...l_to_task_kernels_spherical_l1_hessian.hpp | 107 ++- ...l_to_task_kernels_spherical_l1_lapgrad.hpp | 281 +++++++ ...to_task_kernels_spherical_l1_laplacian.hpp | 77 +- ...ion_shell_to_task_kernels_spherical_l2.hpp | 30 +- ..._to_task_kernels_spherical_l2_gradient.hpp | 112 ++- ...l_to_task_kernels_spherical_l2_hessian.hpp | 207 +++-- ...l_to_task_kernels_spherical_l2_lapgrad.hpp | 382 +++++++++ ...to_task_kernels_spherical_l2_laplacian.hpp | 157 ++-- ...ion_shell_to_task_kernels_spherical_l3.hpp | 46 +- ..._to_task_kernels_spherical_l3_gradient.hpp | 162 ++-- ...l_to_task_kernels_spherical_l3_hessian.hpp | 317 ++++--- ...l_to_task_kernels_spherical_l3_lapgrad.hpp | 510 ++++++++++++ ...to_task_kernels_spherical_l3_laplacian.hpp | 247 ++++-- ...ion_shell_to_task_kernels_spherical_l4.hpp | 60 +- ..._to_task_kernels_spherical_l4_gradient.hpp | 213 +++-- ...l_to_task_kernels_spherical_l4_hessian.hpp | 440 +++++++--- ...l_to_task_kernels_spherical_l4_lapgrad.hpp | 659 +++++++++++++++ ...to_task_kernels_spherical_l4_laplacian.hpp | 350 ++++++-- .../scripts/generate_shell_to_task.py | 303 ++++--- .../templates/collocation_device_template.cu | 89 +- .../collocation_shell_to_task_kernels.hpp | 46 +- ...ocation_shell_to_task_kernels_template.hpp | 8 + .../device/cuda/kernels/collocation_device.cu | 168 +++- .../collocation_shell_to_task_kernels.hpp | 16 + .../device/cuda/kernels/increment_exc_grad.cu | 163 +++- .../device/local_device_work_driver.cxx | 2 + .../device/local_device_work_driver.hpp | 2 + .../device/local_device_work_driver_pimpl.hpp | 2 + .../local_work_driver/device/scheme1_base.cxx | 40 +- .../local_work_driver/device/scheme1_base.hpp | 2 + ...plicated_xc_device_integrator_exc_grad.hpp | 32 +- ...replicated_xc_host_integrator_exc_grad.hpp | 278 +++---- .../xc_data/device/xc_device_aos_data.cxx | 27 +- .../xc_data/device/xc_device_aos_data.hpp | 3 + .../xc_data/device/xc_device_data.hpp | 7 +- .../xc_data/device/xc_device_task.hpp | 3 + tests/collocation.cxx | 8 + tests/collocation_common.hpp | 7 +- tests/collocation_cuda.hpp | 82 +- tests/collocation_host.hpp | 39 +- .../benzene_m062x_def2-svp_ufg_ssf.hdf5 | Bin 0 -> 247416 bytes tests/ref_data/water_cc-pVDZ_collocation.bin | Bin 783828 -> 1090740 bytes tests/xc_integrator.cxx | 7 + 80 files changed, 9031 insertions(+), 2381 deletions(-) create mode 100644 src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0_lapgrad.hpp create mode 100644 src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1_lapgrad.hpp create mode 100644 src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2_lapgrad.hpp create mode 100644 src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3_lapgrad.hpp create mode 100644 src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4_lapgrad.hpp create mode 100644 src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0_lapgrad.hpp create mode 100644 src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1_lapgrad.hpp create mode 100644 src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2_lapgrad.hpp create mode 100644 src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3_lapgrad.hpp create mode 100644 src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4_lapgrad.hpp create mode 100644 tests/ref_data/benzene_m062x_def2-svp_ufg_ssf.hdf5 diff --git a/.gitignore b/.gitignore index d92d4623..65b35b0d 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ src/xc_integrator/local_work_driver/host/obara_saika/test/*.x src/xc_integrator/local_work_driver/host/obara_saika/generator/integral* src/xc_integrator/local_work_driver/host/obara_saika/generator/obara* src/xc_integrator/local_work_driver/host/obara_saika/generator/*.x +*.swp diff --git a/cmake/gauxc-dep-versions.cmake b/cmake/gauxc-dep-versions.cmake index cd3969d8..48326a83 100644 --- a/cmake/gauxc-dep-versions.cmake +++ b/cmake/gauxc-dep-versions.cmake @@ -11,7 +11,7 @@ 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 21a4700a826ec0beae1311a1d59677393bcb168f ) +set( GAUXC_EXCHCXX_REVISION f932a1bd3a0ff9d5b1de4cfe7fe86bfb1f20cb74 ) set( GAUXC_GAU2GRID_REPOSITORY https://github.com/dgasmith/gau2grid.git ) set( GAUXC_GAU2GRID_REVISION v2.0.6 ) diff --git a/include/gauxc/shell.hpp b/include/gauxc/shell.hpp index f75a4949..7332e3ce 100644 --- a/include/gauxc/shell.hpp +++ b/include/gauxc/shell.hpp @@ -225,7 +225,6 @@ class alignas(256) Shell { }; -#if 0 template inline std::ostream& operator<<( std::ostream& os, const Shell& sh ) { os << "GauXC::Shell:( O={" @@ -234,9 +233,6 @@ inline std::ostream& operator<<( std::ostream& os, const Shell& sh ) { os << " "; os << " {l=" << sh.l() << ",sph=" << sh.pure() << "}"; os << std::endl; - os << " {cr=" << sh.cutoff_radius() << ",cv=" << sh.cutoff_val() - <<",mr=" << sh.max_radius() << ",mv=" << sh.max_val() << "}"; - os << std::endl; for(auto i=0ul; i& sh ) { return os; } -#endif } diff --git a/src/xc_integrator/local_work_driver/device/common/collocation_device.hpp b/src/xc_integrator/local_work_driver/device/common/collocation_device.hpp index 92144ad0..ed20f5e0 100644 --- a/src/xc_integrator/local_work_driver/device/common/collocation_device.hpp +++ b/src/xc_integrator/local_work_driver/device/common/collocation_device.hpp @@ -95,4 +95,10 @@ void eval_collocation_shell_to_task_laplacian( XCDeviceTask* device_tasks, device_queue queue ); +void eval_collocation_shell_to_task_lapgrad( + uint32_t max_l, + AngularMomentumShellToTaskBatch* l_batched_shell_to_task, + XCDeviceTask* device_tasks, + device_queue queue ); + } // namespace GauXC diff --git a/src/xc_integrator/local_work_driver/device/common/increment_exc_grad.hpp b/src/xc_integrator/local_work_driver/device/common/increment_exc_grad.hpp index be924bb8..aee0fe91 100644 --- a/src/xc_integrator/local_work_driver/device/common/increment_exc_grad.hpp +++ b/src/xc_integrator/local_work_driver/device/common/increment_exc_grad.hpp @@ -17,6 +17,8 @@ void increment_exc_grad_lda( size_t nshell, ShellToTaskDevice* shell_to_task, XCDeviceTask* device_tasks, double* EXC_GRAD, device_queue ); void increment_exc_grad_gga( size_t nshell, ShellToTaskDevice* shell_to_task, XCDeviceTask* device_tasks, double* EXC_GRAD, device_queue ); +void increment_exc_grad_mgga( size_t nshell, bool need_lapl, ShellToTaskDevice* shell_to_task, + XCDeviceTask* device_tasks, double* EXC_GRAD, device_queue ); } diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0.hpp index f8a97e8c..0f7b9c11 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0.hpp @@ -64,7 +64,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_eval = task->bf + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -93,7 +92,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel } - + // Common Subexpressions + // Evaluate basis function basis_eval[ipt + 0*npts] = radial_eval; @@ -105,6 +105,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel + + #if 0 // Evaluate the angular part of bfn diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0_gradient.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0_gradient.hpp index 9c6dcbfe..8149e8cc 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0_gradient.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0_gradient.hpp @@ -67,7 +67,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -99,7 +98,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; - + // Common Subexpressions + // Evaluate basis function basis_eval[ipt + 0*npts] = radial_eval; @@ -119,6 +119,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel + + #if 0 // Evaluate the angular part of bfn diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0_hessian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0_hessian.hpp index f6b3e63d..ba4ba1da 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0_hessian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0_hessian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_cartesian_hessian_0( +__global__ __launch_bounds__(256,2) void collocation_device_shell_to_task_kernel_cartesian_hessian_0( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[8][detail::shell_nprim_max + 1]; + __shared__ double coeff[8][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; @@ -108,7 +107,12 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = radial_eval_alpha_squared*(x*x); + const auto x1 = radial_eval_alpha_squared*x; + const auto x2 = radial_eval_alpha_squared*(y*y); + const auto x3 = radial_eval_alpha_squared*(z*z); + // Evaluate basis function basis_eval[ipt + 0*npts] = radial_eval; @@ -125,22 +129,24 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_z_eval[ipt + 0*npts] = radial_eval_alpha*z; // Evaluate second derivative of bfn wrt xx - basis_xx_eval[ipt + 0*npts] = radial_eval_alpha + radial_eval_alpha_squared*x*x; + basis_xx_eval[ipt + 0*npts] = radial_eval_alpha + x0; // Evaluate second derivative of bfn wrt xy - basis_xy_eval[ipt + 0*npts] = radial_eval_alpha_squared*x*y; + basis_xy_eval[ipt + 0*npts] = x1*y; // Evaluate second derivative of bfn wrt xz - basis_xz_eval[ipt + 0*npts] = radial_eval_alpha_squared*x*z; + basis_xz_eval[ipt + 0*npts] = x1*z; // Evaluate second derivative of bfn wrt yy - basis_yy_eval[ipt + 0*npts] = radial_eval_alpha + radial_eval_alpha_squared*y*y; + basis_yy_eval[ipt + 0*npts] = radial_eval_alpha + x2; // Evaluate second derivative of bfn wrt yz basis_yz_eval[ipt + 0*npts] = radial_eval_alpha_squared*y*z; // Evaluate second derivative of bfn wrt zz - basis_zz_eval[ipt + 0*npts] = radial_eval_alpha + radial_eval_alpha_squared*z*z; + basis_zz_eval[ipt + 0*npts] = radial_eval_alpha + x3; + + diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0_lapgrad.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0_lapgrad.hpp new file mode 100644 index 00000000..8eb30d65 --- /dev/null +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0_lapgrad.hpp @@ -0,0 +1,204 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once +#include "collocation_device_constants.hpp" +#include "device/xc_device_task.hpp" +#include "device_specific/cuda_device_constants.hpp" +#include "device/common/shell_to_task.hpp" +#include + +namespace GauXC { + + +__global__ __launch_bounds__(256,2) void collocation_device_shell_to_task_kernel_cartesian_lapgrad_0( + uint32_t nshell, + ShellToTaskDevice* __restrict__ shell_to_task, + XCDeviceTask* __restrict__ device_tasks +) { + + + __shared__ double alpha[8][detail::shell_nprim_max + 1]; + __shared__ double coeff[8][detail::shell_nprim_max + 1]; + double* my_alpha = alpha[threadIdx.x/32]; + double* my_coeff = coeff[threadIdx.x/32]; + + for( auto ish = blockIdx.z; ish < nshell; ish += gridDim.z ) { + const uint32_t ntasks = shell_to_task[ish].ntask; + const auto shell = shell_to_task[ish].shell_device; + const auto task_idx = shell_to_task[ish].task_idx_device; + const auto task_shell_offs = shell_to_task[ish].task_shell_offs_device; + + + // Load Shell Data into registers / SM + const uint32_t nprim = shell->nprim(); + const double3 O = *reinterpret_cast(shell->O_data()); + + const int global_warp_id = (threadIdx.x + blockIdx.x*blockDim.x) / cuda::warp_size; + const int nwarp_global = max((blockDim.x*gridDim.x) / cuda::warp_size,1); + + // Read in coeffs/exps into SM on first warp + { + auto* coeff_gm = shell->coeff_data(); + auto* alpha_gm = shell->alpha_data(); + static_assert( detail::shell_nprim_max == cuda::warp_size ); + const int warp_rank = threadIdx.x % cuda::warp_size; + my_alpha[warp_rank] = alpha_gm[warp_rank]; + my_coeff[warp_rank] = coeff_gm[warp_rank]; + } + + // Loop over tasks assigned to shells + // Place each task on a different warp + schedule across blocks + for( int itask = global_warp_id; itask < ntasks; itask += nwarp_global ) { + + const auto* task = device_tasks + task_idx[itask]; + const auto* __restrict__ points_x = task->points_x; + const auto* __restrict__ points_y = task->points_y; + const auto* __restrict__ points_z = task->points_z; + const uint32_t npts = task->npts; + const size_t shoff = task_shell_offs[itask] * npts; + + auto* __restrict__ basis_eval = task->bf + shoff; + auto* __restrict__ basis_x_eval = task->dbfx + shoff; + auto* __restrict__ basis_y_eval = task->dbfy + shoff; + auto* __restrict__ basis_z_eval = task->dbfz + shoff; + auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; + auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; + auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; + auto* __restrict__ basis_yy_eval = task->d2bfyy + shoff; + auto* __restrict__ basis_yz_eval = task->d2bfyz + shoff; + auto* __restrict__ basis_zz_eval = task->d2bfzz + shoff; + auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; + auto* __restrict__ basis_lapl_x_eval = task->d3bflapl_x + shoff; + auto* __restrict__ basis_lapl_y_eval = task->d3bflapl_y + shoff; + auto* __restrict__ basis_lapl_z_eval = task->d3bflapl_z + shoff; + + // Loop over points in task + // Assign each point to separate thread within the warp + #pragma unroll 1 + for( int ipt = threadIdx.x % cuda::warp_size; ipt < npts; ipt += cuda::warp_size ) { + //const double3 point = points[ipt]; + double3 point; + point.x = points_x[ipt]; + point.y = points_y[ipt]; + point.z = points_z[ipt]; + + + const auto x = point.x - O.x; + const auto y = point.y - O.y; + const auto z = point.z - O.z; + const auto rsq = x*x + y*y + z*z; + + // Evaluate radial part of bfn + double radial_eval = 0.; + double radial_eval_alpha = 0.; + double radial_eval_alpha_squared = 0.; + double radial_eval_alpha_cubed = 0.; + + #pragma unroll 1 + for( uint32_t i = 0; i < nprim; ++i ) { + const auto a = my_alpha[i]; + const auto e = my_coeff[i] * std::exp( - a * rsq ); + + radial_eval += e; + radial_eval_alpha += a * e; + radial_eval_alpha_squared += a * a * e; + radial_eval_alpha_cubed += a * a * a * e; + } + + radial_eval_alpha *= -2; + radial_eval_alpha_squared *= 4; + radial_eval_alpha_cubed *= -8; + + // Common Subexpressions + const auto x0 = x*x; + const auto x1 = radial_eval_alpha_squared*x0; + const auto x2 = radial_eval_alpha_squared*x; + const auto x3 = y*y; + const auto x4 = radial_eval_alpha_squared*x3; + const auto x5 = radial_eval_alpha_squared*y; + const auto x6 = z*z; + const auto x7 = radial_eval_alpha_squared*x6; + const auto x8 = radial_eval_alpha_cubed*x; + const auto x9 = radial_eval_alpha_cubed*y; + const auto x10 = radial_eval_alpha_cubed*z; + + + // Evaluate basis function + basis_eval[ipt + 0*npts] = radial_eval; + + + + // Evaluate first derivative of bfn wrt x + basis_x_eval[ipt + 0*npts] = radial_eval_alpha*x; + + // Evaluate first derivative of bfn wrt y + basis_y_eval[ipt + 0*npts] = radial_eval_alpha*y; + + // Evaluate first derivative of bfn wrt z + basis_z_eval[ipt + 0*npts] = radial_eval_alpha*z; + + // Evaluate second derivative of bfn wrt xx + basis_xx_eval[ipt + 0*npts] = radial_eval_alpha + x1; + + // Evaluate second derivative of bfn wrt xy + basis_xy_eval[ipt + 0*npts] = x2*y; + + // Evaluate second derivative of bfn wrt xz + basis_xz_eval[ipt + 0*npts] = x2*z; + + // Evaluate second derivative of bfn wrt yy + basis_yy_eval[ipt + 0*npts] = radial_eval_alpha + x4; + + // Evaluate second derivative of bfn wrt yz + basis_yz_eval[ipt + 0*npts] = x5*z; + + // Evaluate second derivative of bfn wrt zz + basis_zz_eval[ipt + 0*npts] = radial_eval_alpha + x7; + + // Evaluate Laplacian of bfn + basis_lapl_eval[ipt + 0*npts] = 3.0*radial_eval_alpha + x1 + x4 + x7; + + // Evaluate Laplacian gradient of bfn (dx) + basis_lapl_x_eval[ipt + 0*npts] = radial_eval_alpha_cubed*(x*x*x) + 5.0*x2 + x3*x8 + x6*x8; + // Evaluate Laplacian gradient of bfn (dy) + basis_lapl_y_eval[ipt + 0*npts] = radial_eval_alpha_cubed*(y*y*y) + x0*x9 + 5.0*x5 + x6*x9; + // Evaluate Laplacian gradient of bfn (dz) + basis_lapl_z_eval[ipt + 0*npts] = radial_eval_alpha_cubed*(z*z*z) + 5.0*radial_eval_alpha_squared*z + x0*x10 + x10*x3; + + + + +#if 0 + // Evaluate the angular part of bfn + + + + double ang_eval_0; + + + ang_eval_0 = radial_eval; + basis_eval[ipt + 0*npts] = ang_eval_0; + + + double dang_eval_x_0, dang_eval_y_0, dang_eval_z_0; + + dang_eval_x_0 = radial_eval_alpha*x; + dang_eval_y_0 = radial_eval_alpha*y; + dang_eval_z_0 = radial_eval_alpha*z; + basis_x_eval[ipt + 0*npts] = dang_eval_x_0; + basis_y_eval[ipt + 0*npts] = dang_eval_y_0; + basis_z_eval[ipt + 0*npts] = dang_eval_z_0; + +#endif + } // Loop over points within task + } // Loop over tasks + + } // Loop over shells +} // end kernel + +} // namespace GauXC diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0_laplacian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0_laplacian.hpp index 06bfc86a..e711fbcb 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0_laplacian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l0_laplacian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_cartesian_laplacian_0( +__global__ __launch_bounds__(256,2) void collocation_device_shell_to_task_kernel_cartesian_laplacian_0( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[8][detail::shell_nprim_max + 1]; + __shared__ double coeff[8][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; // Loop over points in task @@ -103,7 +102,12 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = radial_eval_alpha_squared*(x*x); + const auto x1 = radial_eval_alpha_squared*x; + const auto x2 = radial_eval_alpha_squared*(y*y); + const auto x3 = radial_eval_alpha_squared*(z*z); + // Evaluate basis function basis_eval[ipt + 0*npts] = radial_eval; @@ -119,8 +123,10 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel // Evaluate first derivative of bfn wrt z basis_z_eval[ipt + 0*npts] = radial_eval_alpha*z; + // Evaluate Laplacian of bfn - basis_lapl_eval[ipt + 0*npts] = 3*radial_eval_alpha + radial_eval_alpha_squared*x*x + radial_eval_alpha_squared*y*y + radial_eval_alpha_squared*z*z; + basis_lapl_eval[ipt + 0*npts] = 3.0*radial_eval_alpha + x0 + x2 + x3; + diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1.hpp index db904d1c..b0f970bf 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1.hpp @@ -64,7 +64,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_eval = task->bf + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -93,7 +92,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel } - + // Common Subexpressions + // Evaluate basis function basis_eval[ipt + 0*npts] = radial_eval*x; @@ -107,6 +107,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel + + #if 0 // Evaluate the angular part of bfn diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1_gradient.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1_gradient.hpp index 6838f2fa..27b1d0c8 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1_gradient.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1_gradient.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_cartesian_gradient_1( +__global__ __launch_bounds__(256,2) void collocation_device_shell_to_task_kernel_cartesian_gradient_1( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[8][detail::shell_nprim_max + 1]; + __shared__ double coeff[8][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -67,7 +67,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -99,7 +98,12 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; - + // Common Subexpressions + const auto x0 = radial_eval_alpha*x; + const auto x1 = x0*y; + const auto x2 = x0*z; + const auto x3 = radial_eval_alpha*y*z; + // Evaluate basis function basis_eval[ipt + 0*npts] = radial_eval*x; @@ -109,19 +113,21 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = radial_eval + radial_eval_alpha*x*x; - basis_x_eval[ipt + 1*npts] = radial_eval_alpha*x*y; - basis_x_eval[ipt + 2*npts] = radial_eval_alpha*x*z; + basis_x_eval[ipt + 0*npts] = radial_eval + radial_eval_alpha*(x*x); + basis_x_eval[ipt + 1*npts] = x1; + basis_x_eval[ipt + 2*npts] = x2; // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = radial_eval_alpha*x*y; - basis_y_eval[ipt + 1*npts] = radial_eval + radial_eval_alpha*y*y; - basis_y_eval[ipt + 2*npts] = radial_eval_alpha*y*z; + basis_y_eval[ipt + 0*npts] = x1; + basis_y_eval[ipt + 1*npts] = radial_eval + radial_eval_alpha*(y*y); + basis_y_eval[ipt + 2*npts] = x3; // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = radial_eval_alpha*x*z; - basis_z_eval[ipt + 1*npts] = radial_eval_alpha*y*z; - basis_z_eval[ipt + 2*npts] = radial_eval + radial_eval_alpha*z*z; + basis_z_eval[ipt + 0*npts] = x2; + basis_z_eval[ipt + 1*npts] = x3; + basis_z_eval[ipt + 2*npts] = radial_eval + radial_eval_alpha*(z*z); + + @@ -149,15 +155,15 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_1, dang_eval_y_1, dang_eval_z_1; double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; - dang_eval_x_0 = radial_eval + radial_eval_alpha*x*x; - dang_eval_y_0 = radial_eval_alpha*x*y; - dang_eval_z_0 = radial_eval_alpha*x*z; - dang_eval_x_1 = radial_eval_alpha*x*y; - dang_eval_y_1 = radial_eval + radial_eval_alpha*y*y; - dang_eval_z_1 = radial_eval_alpha*y*z; - dang_eval_x_2 = radial_eval_alpha*x*z; - dang_eval_y_2 = radial_eval_alpha*y*z; - dang_eval_z_2 = radial_eval + radial_eval_alpha*z*z; + dang_eval_x_0 = radial_eval + radial_eval_alpha*(x*x); + dang_eval_y_0 = x1; + dang_eval_z_0 = x2; + dang_eval_x_1 = x1; + dang_eval_y_1 = radial_eval + radial_eval_alpha*(y*y); + dang_eval_z_1 = x3; + dang_eval_x_2 = x2; + dang_eval_y_2 = x3; + dang_eval_z_2 = radial_eval + radial_eval_alpha*(z*z); basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1_hessian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1_hessian.hpp index 26f5bc7c..0be60294 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1_hessian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1_hessian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_cartesian_hessian_1( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_cartesian_hessian_1( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; @@ -108,7 +107,31 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = x*x; + const auto x1 = radial_eval_alpha*x; + const auto x2 = x1*y; + const auto x3 = x1*z; + const auto x4 = y*y; + const auto x5 = y*z; + const auto x6 = radial_eval_alpha*x5; + const auto x7 = z*z; + const auto x8 = 3.0*radial_eval_alpha; + const auto x9 = radial_eval_alpha_squared*x0; + const auto x10 = radial_eval_alpha + x9; + const auto x11 = x10*y; + const auto x12 = x10*z; + const auto x13 = radial_eval_alpha_squared*x4; + const auto x14 = radial_eval_alpha + x13; + const auto x15 = x*x14; + const auto x16 = radial_eval_alpha_squared*x*x5; + const auto x17 = radial_eval_alpha_squared*x7; + const auto x18 = radial_eval_alpha + x17; + const auto x19 = x*x18; + const auto x20 = x14*z; + const auto x21 = x18*y; + const auto x22 = 5.0*radial_eval_alpha + x13 + x17 + x9; + // Evaluate basis function basis_eval[ipt + 0*npts] = radial_eval*x; @@ -118,49 +141,51 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = radial_eval + radial_eval_alpha*x*x; - basis_x_eval[ipt + 1*npts] = radial_eval_alpha*x*y; - basis_x_eval[ipt + 2*npts] = radial_eval_alpha*x*z; + basis_x_eval[ipt + 0*npts] = radial_eval + radial_eval_alpha*x0; + basis_x_eval[ipt + 1*npts] = x2; + basis_x_eval[ipt + 2*npts] = x3; // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = radial_eval_alpha*x*y; - basis_y_eval[ipt + 1*npts] = radial_eval + radial_eval_alpha*y*y; - basis_y_eval[ipt + 2*npts] = radial_eval_alpha*y*z; + basis_y_eval[ipt + 0*npts] = x2; + basis_y_eval[ipt + 1*npts] = radial_eval + radial_eval_alpha*x4; + basis_y_eval[ipt + 2*npts] = x6; // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = radial_eval_alpha*x*z; - basis_z_eval[ipt + 1*npts] = radial_eval_alpha*y*z; - basis_z_eval[ipt + 2*npts] = radial_eval + radial_eval_alpha*z*z; + basis_z_eval[ipt + 0*npts] = x3; + basis_z_eval[ipt + 1*npts] = x6; + basis_z_eval[ipt + 2*npts] = radial_eval + radial_eval_alpha*x7; // Evaluate second derivative of bfn wrt xx - basis_xx_eval[ipt + 0*npts] = x*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 1*npts] = y*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 2*npts] = z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); + basis_xx_eval[ipt + 0*npts] = x*(x8 + x9); + basis_xx_eval[ipt + 1*npts] = x11; + basis_xx_eval[ipt + 2*npts] = x12; // Evaluate second derivative of bfn wrt xy - basis_xy_eval[ipt + 0*npts] = y*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xy_eval[ipt + 1*npts] = x*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_xy_eval[ipt + 2*npts] = radial_eval_alpha_squared*x*y*z; + basis_xy_eval[ipt + 0*npts] = x11; + basis_xy_eval[ipt + 1*npts] = x15; + basis_xy_eval[ipt + 2*npts] = x16; // Evaluate second derivative of bfn wrt xz - basis_xz_eval[ipt + 0*npts] = z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xz_eval[ipt + 1*npts] = radial_eval_alpha_squared*x*y*z; - basis_xz_eval[ipt + 2*npts] = x*(radial_eval_alpha + radial_eval_alpha_squared*z*z); + basis_xz_eval[ipt + 0*npts] = x12; + basis_xz_eval[ipt + 1*npts] = x16; + basis_xz_eval[ipt + 2*npts] = x19; // Evaluate second derivative of bfn wrt yy - basis_yy_eval[ipt + 0*npts] = x*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 1*npts] = y*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 2*npts] = z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); + basis_yy_eval[ipt + 0*npts] = x15; + basis_yy_eval[ipt + 1*npts] = y*(x13 + x8); + basis_yy_eval[ipt + 2*npts] = x20; // Evaluate second derivative of bfn wrt yz - basis_yz_eval[ipt + 0*npts] = radial_eval_alpha_squared*x*y*z; - basis_yz_eval[ipt + 1*npts] = z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yz_eval[ipt + 2*npts] = y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); + basis_yz_eval[ipt + 0*npts] = x16; + basis_yz_eval[ipt + 1*npts] = x20; + basis_yz_eval[ipt + 2*npts] = x21; // Evaluate second derivative of bfn wrt zz - basis_zz_eval[ipt + 0*npts] = x*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 1*npts] = y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 2*npts] = z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); + basis_zz_eval[ipt + 0*npts] = x19; + basis_zz_eval[ipt + 1*npts] = x21; + basis_zz_eval[ipt + 2*npts] = z*(x17 + x8); + + @@ -187,15 +212,15 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_1, dang_eval_y_1, dang_eval_z_1; double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; - dang_eval_x_0 = radial_eval + radial_eval_alpha*x*x; - dang_eval_y_0 = radial_eval_alpha*x*y; - dang_eval_z_0 = radial_eval_alpha*x*z; - dang_eval_x_1 = radial_eval_alpha*x*y; - dang_eval_y_1 = radial_eval + radial_eval_alpha*y*y; - dang_eval_z_1 = radial_eval_alpha*y*z; - dang_eval_x_2 = radial_eval_alpha*x*z; - dang_eval_y_2 = radial_eval_alpha*y*z; - dang_eval_z_2 = radial_eval + radial_eval_alpha*z*z; + dang_eval_x_0 = radial_eval + radial_eval_alpha*x0; + dang_eval_y_0 = x2; + dang_eval_z_0 = x3; + dang_eval_x_1 = x2; + dang_eval_y_1 = radial_eval + radial_eval_alpha*x4; + dang_eval_z_1 = x6; + dang_eval_x_2 = x3; + dang_eval_y_2 = x6; + dang_eval_z_2 = radial_eval + radial_eval_alpha*x7; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1_lapgrad.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1_lapgrad.hpp new file mode 100644 index 00000000..f973c971 --- /dev/null +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1_lapgrad.hpp @@ -0,0 +1,281 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once +#include "collocation_device_constants.hpp" +#include "device/xc_device_task.hpp" +#include "device_specific/cuda_device_constants.hpp" +#include "device/common/shell_to_task.hpp" +#include + +namespace GauXC { + + +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_cartesian_lapgrad_1( + uint32_t nshell, + ShellToTaskDevice* __restrict__ shell_to_task, + XCDeviceTask* __restrict__ device_tasks +) { + + + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; + double* my_alpha = alpha[threadIdx.x/32]; + double* my_coeff = coeff[threadIdx.x/32]; + + for( auto ish = blockIdx.z; ish < nshell; ish += gridDim.z ) { + const uint32_t ntasks = shell_to_task[ish].ntask; + const auto shell = shell_to_task[ish].shell_device; + const auto task_idx = shell_to_task[ish].task_idx_device; + const auto task_shell_offs = shell_to_task[ish].task_shell_offs_device; + + + // Load Shell Data into registers / SM + const uint32_t nprim = shell->nprim(); + const double3 O = *reinterpret_cast(shell->O_data()); + + const int global_warp_id = (threadIdx.x + blockIdx.x*blockDim.x) / cuda::warp_size; + const int nwarp_global = max((blockDim.x*gridDim.x) / cuda::warp_size,1); + + // Read in coeffs/exps into SM on first warp + { + auto* coeff_gm = shell->coeff_data(); + auto* alpha_gm = shell->alpha_data(); + static_assert( detail::shell_nprim_max == cuda::warp_size ); + const int warp_rank = threadIdx.x % cuda::warp_size; + my_alpha[warp_rank] = alpha_gm[warp_rank]; + my_coeff[warp_rank] = coeff_gm[warp_rank]; + } + + // Loop over tasks assigned to shells + // Place each task on a different warp + schedule across blocks + for( int itask = global_warp_id; itask < ntasks; itask += nwarp_global ) { + + const auto* task = device_tasks + task_idx[itask]; + const auto* __restrict__ points_x = task->points_x; + const auto* __restrict__ points_y = task->points_y; + const auto* __restrict__ points_z = task->points_z; + const uint32_t npts = task->npts; + const size_t shoff = task_shell_offs[itask] * npts; + + auto* __restrict__ basis_eval = task->bf + shoff; + auto* __restrict__ basis_x_eval = task->dbfx + shoff; + auto* __restrict__ basis_y_eval = task->dbfy + shoff; + auto* __restrict__ basis_z_eval = task->dbfz + shoff; + auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; + auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; + auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; + auto* __restrict__ basis_yy_eval = task->d2bfyy + shoff; + auto* __restrict__ basis_yz_eval = task->d2bfyz + shoff; + auto* __restrict__ basis_zz_eval = task->d2bfzz + shoff; + auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; + auto* __restrict__ basis_lapl_x_eval = task->d3bflapl_x + shoff; + auto* __restrict__ basis_lapl_y_eval = task->d3bflapl_y + shoff; + auto* __restrict__ basis_lapl_z_eval = task->d3bflapl_z + shoff; + + // Loop over points in task + // Assign each point to separate thread within the warp + #pragma unroll 1 + for( int ipt = threadIdx.x % cuda::warp_size; ipt < npts; ipt += cuda::warp_size ) { + //const double3 point = points[ipt]; + double3 point; + point.x = points_x[ipt]; + point.y = points_y[ipt]; + point.z = points_z[ipt]; + + + const auto x = point.x - O.x; + const auto y = point.y - O.y; + const auto z = point.z - O.z; + const auto rsq = x*x + y*y + z*z; + + // Evaluate radial part of bfn + double radial_eval = 0.; + double radial_eval_alpha = 0.; + double radial_eval_alpha_squared = 0.; + double radial_eval_alpha_cubed = 0.; + + #pragma unroll 1 + for( uint32_t i = 0; i < nprim; ++i ) { + const auto a = my_alpha[i]; + const auto e = my_coeff[i] * std::exp( - a * rsq ); + + radial_eval += e; + radial_eval_alpha += a * e; + radial_eval_alpha_squared += a * a * e; + radial_eval_alpha_cubed += a * a * a * e; + } + + radial_eval_alpha *= -2; + radial_eval_alpha_squared *= 4; + radial_eval_alpha_cubed *= -8; + + // Common Subexpressions + const auto x0 = x*x; + const auto x1 = x0; + const auto x2 = radial_eval_alpha*x; + const auto x3 = x2*y; + const auto x4 = x2*z; + const auto x5 = y*y; + const auto x6 = x5; + const auto x7 = y*z; + const auto x8 = radial_eval_alpha*x7; + const auto x9 = z*z; + const auto x10 = x9; + const auto x11 = 3.0*radial_eval_alpha; + const auto x12 = radial_eval_alpha_squared*x1; + const auto x13 = radial_eval_alpha + x12; + const auto x14 = x13*y; + const auto x15 = x13*z; + const auto x16 = radial_eval_alpha_squared*x6; + const auto x17 = radial_eval_alpha + x16; + const auto x18 = x*x17; + const auto x19 = radial_eval_alpha_squared*x*x7; + const auto x20 = radial_eval_alpha_squared*x10; + const auto x21 = radial_eval_alpha + x20; + const auto x22 = x*x21; + const auto x23 = x17*z; + const auto x24 = x21*y; + const auto x25 = 5.0*radial_eval_alpha; + const auto x26 = x16 + x20 + x25; + const auto x27 = x12 + x26; + const auto x28 = 3.0*radial_eval_alpha_squared; + const auto x29 = radial_eval_alpha_cubed*(x*x*x); + const auto x30 = radial_eval_alpha_cubed*x6 + radial_eval_alpha_squared; + const auto x31 = radial_eval_alpha_cubed*x10 + radial_eval_alpha_squared; + const auto x32 = 5.0*radial_eval_alpha_squared; + const auto x33 = x*x30 + x*x31 + x*x32 + x29; + const auto x34 = radial_eval_alpha_cubed*(y*y*y); + const auto x35 = radial_eval_alpha_cubed*x1 + radial_eval_alpha_squared; + const auto x36 = x31*y + x32*y + x34 + x35*y; + const auto x37 = x12 + x25; + const auto x38 = radial_eval_alpha_cubed*(z*z*z); + const auto x39 = x30*z + x32*z + x35*z + x38; + + + // Evaluate basis function + basis_eval[ipt + 0*npts] = radial_eval*x; + basis_eval[ipt + 1*npts] = radial_eval*y; + basis_eval[ipt + 2*npts] = radial_eval*z; + + + + // Evaluate first derivative of bfn wrt x + basis_x_eval[ipt + 0*npts] = radial_eval + radial_eval_alpha*x1; + basis_x_eval[ipt + 1*npts] = x3; + basis_x_eval[ipt + 2*npts] = x4; + + // Evaluate first derivative of bfn wrt y + basis_y_eval[ipt + 0*npts] = x3; + basis_y_eval[ipt + 1*npts] = radial_eval + radial_eval_alpha*x6; + basis_y_eval[ipt + 2*npts] = x8; + + // Evaluate first derivative of bfn wrt z + basis_z_eval[ipt + 0*npts] = x4; + basis_z_eval[ipt + 1*npts] = x8; + basis_z_eval[ipt + 2*npts] = radial_eval + radial_eval_alpha*x10; + + // Evaluate second derivative of bfn wrt xx + basis_xx_eval[ipt + 0*npts] = x*(x11 + x12); + basis_xx_eval[ipt + 1*npts] = x14; + basis_xx_eval[ipt + 2*npts] = x15; + + // Evaluate second derivative of bfn wrt xy + basis_xy_eval[ipt + 0*npts] = x14; + basis_xy_eval[ipt + 1*npts] = x18; + basis_xy_eval[ipt + 2*npts] = x19; + + // Evaluate second derivative of bfn wrt xz + basis_xz_eval[ipt + 0*npts] = x15; + basis_xz_eval[ipt + 1*npts] = x19; + basis_xz_eval[ipt + 2*npts] = x22; + + // Evaluate second derivative of bfn wrt yy + basis_yy_eval[ipt + 0*npts] = x18; + basis_yy_eval[ipt + 1*npts] = y*(x11 + x16); + basis_yy_eval[ipt + 2*npts] = x23; + + // Evaluate second derivative of bfn wrt yz + basis_yz_eval[ipt + 0*npts] = x19; + basis_yz_eval[ipt + 1*npts] = x23; + basis_yz_eval[ipt + 2*npts] = x24; + + // Evaluate second derivative of bfn wrt zz + basis_zz_eval[ipt + 0*npts] = x22; + basis_zz_eval[ipt + 1*npts] = x24; + basis_zz_eval[ipt + 2*npts] = z*(x11 + x20); + + // Evaluate Laplacian of bfn + basis_lapl_eval[ipt + 0*npts] = x*x27; + basis_lapl_eval[ipt + 1*npts] = x27*y; + basis_lapl_eval[ipt + 2*npts] = x27*z; + + // Evaluate Laplacian gradient of bfn (dx) + basis_lapl_x_eval[ipt + 0*npts] = x*(x*x28 + x29) + x0*x30 + x0*x31 + x1*x28 + x26; + basis_lapl_x_eval[ipt + 1*npts] = x33*y; + basis_lapl_x_eval[ipt + 2*npts] = x33*z; + // Evaluate Laplacian gradient of bfn (dy) + basis_lapl_y_eval[ipt + 0*npts] = x*x36; + basis_lapl_y_eval[ipt + 1*npts] = x20 + x28*x6 + x31*x5 + x35*x5 + x37 + y*(x28*y + x34); + basis_lapl_y_eval[ipt + 2*npts] = x36*z; + // Evaluate Laplacian gradient of bfn (dz) + basis_lapl_z_eval[ipt + 0*npts] = x*x39; + basis_lapl_z_eval[ipt + 1*npts] = x39*y; + basis_lapl_z_eval[ipt + 2*npts] = x10*x28 + x16 + x30*x9 + x35*x9 + x37 + z*(x28*z + x38); + + + + +#if 0 + // Evaluate the angular part of bfn + + + + double ang_eval_0; + double ang_eval_1; + double ang_eval_2; + + + ang_eval_0 = radial_eval*x; + ang_eval_1 = radial_eval*y; + ang_eval_2 = radial_eval*z; + basis_eval[ipt + 0*npts] = ang_eval_0; + basis_eval[ipt + 1*npts] = ang_eval_1; + basis_eval[ipt + 2*npts] = ang_eval_2; + + + double dang_eval_x_0, dang_eval_y_0, dang_eval_z_0; + double dang_eval_x_1, dang_eval_y_1, dang_eval_z_1; + double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; + + dang_eval_x_0 = radial_eval + radial_eval_alpha*x1; + dang_eval_y_0 = x3; + dang_eval_z_0 = x4; + dang_eval_x_1 = x3; + dang_eval_y_1 = radial_eval + radial_eval_alpha*x6; + dang_eval_z_1 = x8; + dang_eval_x_2 = x4; + dang_eval_y_2 = x8; + dang_eval_z_2 = radial_eval + radial_eval_alpha*x10; + basis_x_eval[ipt + 0*npts] = dang_eval_x_0; + basis_y_eval[ipt + 0*npts] = dang_eval_y_0; + basis_z_eval[ipt + 0*npts] = dang_eval_z_0; + basis_x_eval[ipt + 1*npts] = dang_eval_x_1; + basis_y_eval[ipt + 1*npts] = dang_eval_y_1; + basis_z_eval[ipt + 1*npts] = dang_eval_z_1; + basis_x_eval[ipt + 2*npts] = dang_eval_x_2; + basis_y_eval[ipt + 2*npts] = dang_eval_y_2; + basis_z_eval[ipt + 2*npts] = dang_eval_z_2; + +#endif + } // Loop over points within task + } // Loop over tasks + + } // Loop over shells +} // end kernel + +} // namespace GauXC diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1_laplacian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1_laplacian.hpp index aa5cb4de..ce6ea4d8 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1_laplacian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l1_laplacian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_cartesian_laplacian_1( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_cartesian_laplacian_1( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; // Loop over points in task @@ -103,7 +102,31 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = x*x; + const auto x1 = radial_eval_alpha*x; + const auto x2 = x1*y; + const auto x3 = x1*z; + const auto x4 = y*y; + const auto x5 = y*z; + const auto x6 = radial_eval_alpha*x5; + const auto x7 = z*z; + const auto x8 = 3.0*radial_eval_alpha; + const auto x9 = radial_eval_alpha_squared*x0; + const auto x10 = radial_eval_alpha + x9; + const auto x11 = x10*y; + const auto x12 = x10*z; + const auto x13 = radial_eval_alpha_squared*x4; + const auto x14 = radial_eval_alpha + x13; + const auto x15 = x*x14; + const auto x16 = radial_eval_alpha_squared*x*x5; + const auto x17 = radial_eval_alpha_squared*x7; + const auto x18 = radial_eval_alpha + x17; + const auto x19 = x*x18; + const auto x20 = x14*z; + const auto x21 = x18*y; + const auto x22 = 5.0*radial_eval_alpha + x13 + x17 + x9; + // Evaluate basis function basis_eval[ipt + 0*npts] = radial_eval*x; @@ -113,24 +136,26 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = radial_eval + radial_eval_alpha*x*x; - basis_x_eval[ipt + 1*npts] = radial_eval_alpha*x*y; - basis_x_eval[ipt + 2*npts] = radial_eval_alpha*x*z; + basis_x_eval[ipt + 0*npts] = radial_eval + radial_eval_alpha*x0; + basis_x_eval[ipt + 1*npts] = x2; + basis_x_eval[ipt + 2*npts] = x3; // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = radial_eval_alpha*x*y; - basis_y_eval[ipt + 1*npts] = radial_eval + radial_eval_alpha*y*y; - basis_y_eval[ipt + 2*npts] = radial_eval_alpha*y*z; + basis_y_eval[ipt + 0*npts] = x2; + basis_y_eval[ipt + 1*npts] = radial_eval + radial_eval_alpha*x4; + basis_y_eval[ipt + 2*npts] = x6; // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = radial_eval_alpha*x*z; - basis_z_eval[ipt + 1*npts] = radial_eval_alpha*y*z; - basis_z_eval[ipt + 2*npts] = radial_eval + radial_eval_alpha*z*z; + basis_z_eval[ipt + 0*npts] = x3; + basis_z_eval[ipt + 1*npts] = x6; + basis_z_eval[ipt + 2*npts] = radial_eval + radial_eval_alpha*x7; + // Evaluate Laplacian of bfn - basis_lapl_eval[ipt + 0*npts] = x*(5*radial_eval_alpha + radial_eval_alpha_squared*x*x + radial_eval_alpha_squared*y*y + radial_eval_alpha_squared*z*z); - basis_lapl_eval[ipt + 1*npts] = y*(5*radial_eval_alpha + radial_eval_alpha_squared*x*x + radial_eval_alpha_squared*y*y + radial_eval_alpha_squared*z*z); - basis_lapl_eval[ipt + 2*npts] = z*(5*radial_eval_alpha + radial_eval_alpha_squared*x*x + radial_eval_alpha_squared*y*y + radial_eval_alpha_squared*z*z); + basis_lapl_eval[ipt + 0*npts] = x*x22; + basis_lapl_eval[ipt + 1*npts] = x22*y; + basis_lapl_eval[ipt + 2*npts] = x22*z; + @@ -157,15 +182,15 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_1, dang_eval_y_1, dang_eval_z_1; double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; - dang_eval_x_0 = radial_eval + radial_eval_alpha*x*x; - dang_eval_y_0 = radial_eval_alpha*x*y; - dang_eval_z_0 = radial_eval_alpha*x*z; - dang_eval_x_1 = radial_eval_alpha*x*y; - dang_eval_y_1 = radial_eval + radial_eval_alpha*y*y; - dang_eval_z_1 = radial_eval_alpha*y*z; - dang_eval_x_2 = radial_eval_alpha*x*z; - dang_eval_y_2 = radial_eval_alpha*y*z; - dang_eval_z_2 = radial_eval + radial_eval_alpha*z*z; + dang_eval_x_0 = radial_eval + radial_eval_alpha*x0; + dang_eval_y_0 = x2; + dang_eval_z_0 = x3; + dang_eval_x_1 = x2; + dang_eval_y_1 = radial_eval + radial_eval_alpha*x4; + dang_eval_z_1 = x6; + dang_eval_x_2 = x3; + dang_eval_y_2 = x6; + dang_eval_z_2 = radial_eval + radial_eval_alpha*x7; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2.hpp index b50b7c21..5ebdac11 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2.hpp @@ -64,7 +64,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_eval = task->bf + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -93,15 +92,17 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel } - + // Common Subexpressions + const auto x0 = radial_eval*x; + // Evaluate basis function - basis_eval[ipt + 0*npts] = radial_eval*x*x; - basis_eval[ipt + 1*npts] = radial_eval*x*y; - basis_eval[ipt + 2*npts] = radial_eval*x*z; - basis_eval[ipt + 3*npts] = radial_eval*y*y; + basis_eval[ipt + 0*npts] = radial_eval*(x*x); + basis_eval[ipt + 1*npts] = x0*y; + basis_eval[ipt + 2*npts] = x0*z; + basis_eval[ipt + 3*npts] = radial_eval*(y*y); basis_eval[ipt + 4*npts] = radial_eval*y*z; - basis_eval[ipt + 5*npts] = radial_eval*z*z; + basis_eval[ipt + 5*npts] = radial_eval*(z*z); @@ -110,6 +111,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel + + #if 0 // Evaluate the angular part of bfn @@ -121,17 +124,17 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = radial_eval*x*x; - ang_eval_1 = radial_eval*x*y; - ang_eval_2 = radial_eval*x*z; - ang_eval_3 = radial_eval*y*y; + ang_eval_0 = radial_eval*(x*x); + ang_eval_1 = x0*y; + ang_eval_2 = x0*z; + ang_eval_3 = radial_eval*(y*y); basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; ang_eval_0 = radial_eval*y*z; - ang_eval_1 = radial_eval*z*z; + ang_eval_1 = radial_eval*(z*z); basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2_gradient.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2_gradient.hpp index 4c640ddd..7d953754 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2_gradient.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2_gradient.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_cartesian_gradient_2( +__global__ __launch_bounds__(256,2) void collocation_device_shell_to_task_kernel_cartesian_gradient_2( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[8][detail::shell_nprim_max + 1]; + __shared__ double coeff[8][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -67,7 +67,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -99,41 +98,56 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; - + // Common Subexpressions + const auto x0 = x*x; + const auto x1 = radial_eval*x; + const auto x2 = y*y; + const auto x3 = radial_eval*y; + const auto x4 = z*z; + const auto x5 = radial_eval + radial_eval_alpha*x0; + const auto x6 = radial_eval_alpha*x; + const auto x7 = x6*y*z; + const auto x8 = radial_eval_alpha*y; + const auto x9 = radial_eval + radial_eval_alpha*x2; + const auto x10 = radial_eval_alpha*z; + const auto x11 = radial_eval + radial_eval_alpha*x4; + // Evaluate basis function - basis_eval[ipt + 0*npts] = radial_eval*x*x; - basis_eval[ipt + 1*npts] = radial_eval*x*y; - basis_eval[ipt + 2*npts] = radial_eval*x*z; - basis_eval[ipt + 3*npts] = radial_eval*y*y; - basis_eval[ipt + 4*npts] = radial_eval*y*z; - basis_eval[ipt + 5*npts] = radial_eval*z*z; + basis_eval[ipt + 0*npts] = radial_eval*x0; + basis_eval[ipt + 1*npts] = x1*y; + basis_eval[ipt + 2*npts] = x1*z; + basis_eval[ipt + 3*npts] = radial_eval*x2; + basis_eval[ipt + 4*npts] = x3*z; + basis_eval[ipt + 5*npts] = radial_eval*x4; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = x*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 1*npts] = y*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 2*npts] = z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 3*npts] = radial_eval_alpha*x*y*y; - basis_x_eval[ipt + 4*npts] = radial_eval_alpha*x*y*z; - basis_x_eval[ipt + 5*npts] = radial_eval_alpha*x*z*z; + basis_x_eval[ipt + 0*npts] = radial_eval_alpha*(x*x*x) + 2.0*x1; + basis_x_eval[ipt + 1*npts] = x5*y; + basis_x_eval[ipt + 2*npts] = x5*z; + basis_x_eval[ipt + 3*npts] = x2*x6; + basis_x_eval[ipt + 4*npts] = x7; + basis_x_eval[ipt + 5*npts] = x4*x6; // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = radial_eval_alpha*x*x*y; - basis_y_eval[ipt + 1*npts] = x*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 2*npts] = radial_eval_alpha*x*y*z; - basis_y_eval[ipt + 3*npts] = y*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 4*npts] = z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 5*npts] = radial_eval_alpha*y*z*z; + basis_y_eval[ipt + 0*npts] = x0*x8; + basis_y_eval[ipt + 1*npts] = x*x9; + basis_y_eval[ipt + 2*npts] = x7; + basis_y_eval[ipt + 3*npts] = radial_eval_alpha*(y*y*y) + 2.0*x3; + basis_y_eval[ipt + 4*npts] = x9*z; + basis_y_eval[ipt + 5*npts] = x4*x8; // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = radial_eval_alpha*x*x*z; - basis_z_eval[ipt + 1*npts] = radial_eval_alpha*x*y*z; - basis_z_eval[ipt + 2*npts] = x*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 3*npts] = radial_eval_alpha*y*y*z; - basis_z_eval[ipt + 4*npts] = y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 5*npts] = z*(2*radial_eval + radial_eval_alpha*z*z); + basis_z_eval[ipt + 0*npts] = x0*x10; + basis_z_eval[ipt + 1*npts] = x7; + basis_z_eval[ipt + 2*npts] = x*x11; + basis_z_eval[ipt + 3*npts] = x10*x2; + basis_z_eval[ipt + 4*npts] = x11*y; + basis_z_eval[ipt + 5*npts] = z*(2.0*radial_eval + radial_eval_alpha*(z*z)); + + @@ -150,17 +164,17 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = radial_eval*x*x; - ang_eval_1 = radial_eval*x*y; - ang_eval_2 = radial_eval*x*z; - ang_eval_3 = radial_eval*y*y; + ang_eval_0 = radial_eval*x0; + ang_eval_1 = x1*y; + ang_eval_2 = x1*z; + ang_eval_3 = radial_eval*x2; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = radial_eval*y*z; - ang_eval_1 = radial_eval*z*z; + ang_eval_0 = x3*z; + ang_eval_1 = radial_eval*x4; basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; @@ -170,18 +184,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = x*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = radial_eval_alpha*x*x*y; - dang_eval_z_0 = radial_eval_alpha*x*x*z; - dang_eval_x_1 = y*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = x*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = radial_eval_alpha*x*y*z; - dang_eval_x_2 = z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_2 = radial_eval_alpha*x*y*z; - dang_eval_z_2 = x*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_3 = radial_eval_alpha*x*y*y; - dang_eval_y_3 = y*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = radial_eval_alpha*y*y*z; + dang_eval_x_0 = radial_eval_alpha*(x*x*x) + 2.0*x1; + dang_eval_y_0 = x0*x8; + dang_eval_z_0 = x0*x10; + dang_eval_x_1 = x5*y; + dang_eval_y_1 = x*x9; + dang_eval_z_1 = x7; + dang_eval_x_2 = x5*z; + dang_eval_y_2 = x7; + dang_eval_z_2 = x*x11; + dang_eval_x_3 = x2*x6; + dang_eval_y_3 = radial_eval_alpha*(y*y*y) + 2.0*x3; + dang_eval_z_3 = x10*x2; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -195,12 +209,12 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = radial_eval_alpha*x*y*z; - dang_eval_y_0 = z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = y*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = radial_eval_alpha*x*z*z; - dang_eval_y_1 = radial_eval_alpha*y*z*z; - dang_eval_z_1 = z*(2*radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x7; + dang_eval_y_0 = x9*z; + dang_eval_z_0 = x11*y; + dang_eval_x_1 = x4*x6; + dang_eval_y_1 = x4*x8; + dang_eval_z_1 = z*(2.0*radial_eval + radial_eval_alpha*(z*z)); basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2_hessian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2_hessian.hpp index d4b05d5e..7ae4bacc 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2_hessian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2_hessian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_cartesian_hessian_2( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_cartesian_hessian_2( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; @@ -108,89 +107,138 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = x*x; + const auto x1 = x*y; + const auto x2 = x*z; + const auto x3 = y*y; + const auto x4 = y*z; + const auto x5 = z*z; + const auto x6 = 2.0*radial_eval; + const auto x7 = x*x*x; + const auto x8 = radial_eval + radial_eval_alpha*x0; + const auto x9 = radial_eval_alpha*x; + const auto x10 = x4*x9; + const auto x11 = radial_eval_alpha*y; + const auto x12 = radial_eval_alpha*x3; + const auto x13 = radial_eval + x12; + const auto x14 = y*y*y; + const auto x15 = radial_eval_alpha*z; + const auto x16 = radial_eval_alpha*x5; + const auto x17 = radial_eval + x16; + const auto x18 = z*z*z; + const auto x19 = 4.0*radial_eval_alpha; + const auto x20 = radial_eval_alpha_squared*x0; + const auto x21 = radial_eval_alpha + x20; + const auto x22 = x0*x19 + x0*x21 + x6; + const auto x23 = 3.0*radial_eval_alpha; + const auto x24 = x20 + x23; + const auto x25 = x21*x3; + const auto x26 = x21*x4; + const auto x27 = x21*x5; + const auto x28 = radial_eval_alpha_squared*x7 + 2.0*x9; + const auto x29 = radial_eval_alpha_squared*x14 + 2.0*x11; + const auto x30 = radial_eval_alpha_squared*x3; + const auto x31 = radial_eval_alpha + x30; + const auto x32 = x2*x31; + const auto x33 = radial_eval_alpha_squared*x5; + const auto x34 = radial_eval_alpha + x33; + const auto x35 = x1*x34; + const auto x36 = radial_eval_alpha_squared*x18 + 2.0*x15; + const auto x37 = x0*x31; + const auto x38 = x23 + x30; + const auto x39 = x19*x3 + x3*x31 + x6; + const auto x40 = x31*x5; + const auto x41 = x0*x34; + const auto x42 = x23 + x33; + const auto x43 = x3*x34; + const auto x44 = x19*x5 + x34*x5 + x6; + const auto x45 = 7.0*radial_eval_alpha + x20 + x30 + x33; + // Evaluate basis function - basis_eval[ipt + 0*npts] = radial_eval*x*x; - basis_eval[ipt + 1*npts] = radial_eval*x*y; - basis_eval[ipt + 2*npts] = radial_eval*x*z; - basis_eval[ipt + 3*npts] = radial_eval*y*y; - basis_eval[ipt + 4*npts] = radial_eval*y*z; - basis_eval[ipt + 5*npts] = radial_eval*z*z; + basis_eval[ipt + 0*npts] = radial_eval*x0; + basis_eval[ipt + 1*npts] = radial_eval*x1; + basis_eval[ipt + 2*npts] = radial_eval*x2; + basis_eval[ipt + 3*npts] = radial_eval*x3; + basis_eval[ipt + 4*npts] = radial_eval*x4; + basis_eval[ipt + 5*npts] = radial_eval*x5; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = x*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 1*npts] = y*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 2*npts] = z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 3*npts] = radial_eval_alpha*x*y*y; - basis_x_eval[ipt + 4*npts] = radial_eval_alpha*x*y*z; - basis_x_eval[ipt + 5*npts] = radial_eval_alpha*x*z*z; + basis_x_eval[ipt + 0*npts] = radial_eval_alpha*x7 + x*x6; + basis_x_eval[ipt + 1*npts] = x8*y; + basis_x_eval[ipt + 2*npts] = x8*z; + basis_x_eval[ipt + 3*npts] = x3*x9; + basis_x_eval[ipt + 4*npts] = x10; + basis_x_eval[ipt + 5*npts] = x5*x9; // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = radial_eval_alpha*x*x*y; - basis_y_eval[ipt + 1*npts] = x*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 2*npts] = radial_eval_alpha*x*y*z; - basis_y_eval[ipt + 3*npts] = y*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 4*npts] = z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 5*npts] = radial_eval_alpha*y*z*z; + basis_y_eval[ipt + 0*npts] = x0*x11; + basis_y_eval[ipt + 1*npts] = x*x13; + basis_y_eval[ipt + 2*npts] = x10; + basis_y_eval[ipt + 3*npts] = radial_eval_alpha*x14 + x6*y; + basis_y_eval[ipt + 4*npts] = x13*z; + basis_y_eval[ipt + 5*npts] = x11*x5; // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = radial_eval_alpha*x*x*z; - basis_z_eval[ipt + 1*npts] = radial_eval_alpha*x*y*z; - basis_z_eval[ipt + 2*npts] = x*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 3*npts] = radial_eval_alpha*y*y*z; - basis_z_eval[ipt + 4*npts] = y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 5*npts] = z*(2*radial_eval + radial_eval_alpha*z*z); + basis_z_eval[ipt + 0*npts] = x0*x15; + basis_z_eval[ipt + 1*npts] = x10; + basis_z_eval[ipt + 2*npts] = x*x17; + basis_z_eval[ipt + 3*npts] = x15*x3; + basis_z_eval[ipt + 4*npts] = x17*y; + basis_z_eval[ipt + 5*npts] = radial_eval_alpha*x18 + x6*z; // Evaluate second derivative of bfn wrt xx - basis_xx_eval[ipt + 0*npts] = 2*radial_eval + 5*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x; - basis_xx_eval[ipt + 1*npts] = x*y*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 2*npts] = x*z*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 3*npts] = y*y*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 4*npts] = y*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 5*npts] = z*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); + basis_xx_eval[ipt + 0*npts] = x22; + basis_xx_eval[ipt + 1*npts] = x1*x24; + basis_xx_eval[ipt + 2*npts] = x2*x24; + basis_xx_eval[ipt + 3*npts] = x25; + basis_xx_eval[ipt + 4*npts] = x26; + basis_xx_eval[ipt + 5*npts] = x27; // Evaluate second derivative of bfn wrt xy - basis_xy_eval[ipt + 0*npts] = x*y*(2*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xy_eval[ipt + 1*npts] = radial_eval + radial_eval_alpha*x*x + radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y; - basis_xy_eval[ipt + 2*npts] = y*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xy_eval[ipt + 3*npts] = x*y*(2*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_xy_eval[ipt + 4*npts] = x*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_xy_eval[ipt + 5*npts] = radial_eval_alpha_squared*x*y*z*z; + basis_xy_eval[ipt + 0*npts] = x28*y; + basis_xy_eval[ipt + 1*npts] = radial_eval_alpha_squared*x0*x3 + x12 + x8; + basis_xy_eval[ipt + 2*npts] = x26; + basis_xy_eval[ipt + 3*npts] = x*x29; + basis_xy_eval[ipt + 4*npts] = x32; + basis_xy_eval[ipt + 5*npts] = radial_eval_alpha_squared*x1*x5; // Evaluate second derivative of bfn wrt xz - basis_xz_eval[ipt + 0*npts] = x*z*(2*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xz_eval[ipt + 1*npts] = y*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xz_eval[ipt + 2*npts] = radial_eval + radial_eval_alpha*x*x + radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z; - basis_xz_eval[ipt + 3*npts] = radial_eval_alpha_squared*x*y*y*z; - basis_xz_eval[ipt + 4*npts] = x*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_xz_eval[ipt + 5*npts] = x*z*(2*radial_eval_alpha + radial_eval_alpha_squared*z*z); + basis_xz_eval[ipt + 0*npts] = x28*z; + basis_xz_eval[ipt + 1*npts] = x26; + basis_xz_eval[ipt + 2*npts] = radial_eval_alpha_squared*x0*x5 + x16 + x8; + basis_xz_eval[ipt + 3*npts] = radial_eval_alpha_squared*x2*x3; + basis_xz_eval[ipt + 4*npts] = x35; + basis_xz_eval[ipt + 5*npts] = x*x36; // Evaluate second derivative of bfn wrt yy - basis_yy_eval[ipt + 0*npts] = x*x*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 1*npts] = x*y*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 2*npts] = x*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 3*npts] = 2*radial_eval + 5*radial_eval_alpha*y*y + radial_eval_alpha_squared*y*y*y*y; - basis_yy_eval[ipt + 4*npts] = y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 5*npts] = z*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); + basis_yy_eval[ipt + 0*npts] = x37; + basis_yy_eval[ipt + 1*npts] = x1*x38; + basis_yy_eval[ipt + 2*npts] = x32; + basis_yy_eval[ipt + 3*npts] = x39; + basis_yy_eval[ipt + 4*npts] = x38*x4; + basis_yy_eval[ipt + 5*npts] = x40; // Evaluate second derivative of bfn wrt yz - basis_yz_eval[ipt + 0*npts] = radial_eval_alpha_squared*x*x*y*z; - basis_yz_eval[ipt + 1*npts] = x*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yz_eval[ipt + 2*npts] = x*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_yz_eval[ipt + 3*npts] = y*z*(2*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yz_eval[ipt + 4*npts] = radial_eval + radial_eval_alpha*y*y + radial_eval_alpha*z*z + radial_eval_alpha_squared*y*y*z*z; - basis_yz_eval[ipt + 5*npts] = y*z*(2*radial_eval_alpha + radial_eval_alpha_squared*z*z); + basis_yz_eval[ipt + 0*npts] = radial_eval_alpha_squared*x0*x4; + basis_yz_eval[ipt + 1*npts] = x32; + basis_yz_eval[ipt + 2*npts] = x35; + basis_yz_eval[ipt + 3*npts] = x29*z; + basis_yz_eval[ipt + 4*npts] = radial_eval_alpha_squared*x3*x5 + x13 + x16; + basis_yz_eval[ipt + 5*npts] = x36*y; // Evaluate second derivative of bfn wrt zz - basis_zz_eval[ipt + 0*npts] = x*x*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 1*npts] = x*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 2*npts] = x*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 3*npts] = y*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 4*npts] = y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 5*npts] = 2*radial_eval + 5*radial_eval_alpha*z*z + radial_eval_alpha_squared*z*z*z*z; + basis_zz_eval[ipt + 0*npts] = x41; + basis_zz_eval[ipt + 1*npts] = x35; + basis_zz_eval[ipt + 2*npts] = x2*x42; + basis_zz_eval[ipt + 3*npts] = x43; + basis_zz_eval[ipt + 4*npts] = x4*x42; + basis_zz_eval[ipt + 5*npts] = x44; + + @@ -206,17 +254,17 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = radial_eval*x*x; - ang_eval_1 = radial_eval*x*y; - ang_eval_2 = radial_eval*x*z; - ang_eval_3 = radial_eval*y*y; + ang_eval_0 = radial_eval*x0; + ang_eval_1 = radial_eval*x1; + ang_eval_2 = radial_eval*x2; + ang_eval_3 = radial_eval*x3; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = radial_eval*y*z; - ang_eval_1 = radial_eval*z*z; + ang_eval_0 = radial_eval*x4; + ang_eval_1 = radial_eval*x5; basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; @@ -226,18 +274,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = x*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = radial_eval_alpha*x*x*y; - dang_eval_z_0 = radial_eval_alpha*x*x*z; - dang_eval_x_1 = y*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = x*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = radial_eval_alpha*x*y*z; - dang_eval_x_2 = z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_2 = radial_eval_alpha*x*y*z; - dang_eval_z_2 = x*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_3 = radial_eval_alpha*x*y*y; - dang_eval_y_3 = y*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = radial_eval_alpha*y*y*z; + dang_eval_x_0 = radial_eval_alpha*x7 + x*x6; + dang_eval_y_0 = x0*x11; + dang_eval_z_0 = x0*x15; + dang_eval_x_1 = x8*y; + dang_eval_y_1 = x*x13; + dang_eval_z_1 = x10; + dang_eval_x_2 = x8*z; + dang_eval_y_2 = x10; + dang_eval_z_2 = x*x17; + dang_eval_x_3 = x3*x9; + dang_eval_y_3 = radial_eval_alpha*x14 + x6*y; + dang_eval_z_3 = x15*x3; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -251,12 +299,12 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = radial_eval_alpha*x*y*z; - dang_eval_y_0 = z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = y*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = radial_eval_alpha*x*z*z; - dang_eval_y_1 = radial_eval_alpha*y*z*z; - dang_eval_z_1 = z*(2*radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x10; + dang_eval_y_0 = x13*z; + dang_eval_z_0 = x17*y; + dang_eval_x_1 = x5*x9; + dang_eval_y_1 = x11*x5; + dang_eval_z_1 = radial_eval_alpha*x18 + x6*z; basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2_lapgrad.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2_lapgrad.hpp new file mode 100644 index 00000000..7f52190a --- /dev/null +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2_lapgrad.hpp @@ -0,0 +1,396 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once +#include "collocation_device_constants.hpp" +#include "device/xc_device_task.hpp" +#include "device_specific/cuda_device_constants.hpp" +#include "device/common/shell_to_task.hpp" +#include + +namespace GauXC { + + +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_cartesian_lapgrad_2( + uint32_t nshell, + ShellToTaskDevice* __restrict__ shell_to_task, + XCDeviceTask* __restrict__ device_tasks +) { + + + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; + double* my_alpha = alpha[threadIdx.x/32]; + double* my_coeff = coeff[threadIdx.x/32]; + + for( auto ish = blockIdx.z; ish < nshell; ish += gridDim.z ) { + const uint32_t ntasks = shell_to_task[ish].ntask; + const auto shell = shell_to_task[ish].shell_device; + const auto task_idx = shell_to_task[ish].task_idx_device; + const auto task_shell_offs = shell_to_task[ish].task_shell_offs_device; + + + // Load Shell Data into registers / SM + const uint32_t nprim = shell->nprim(); + const double3 O = *reinterpret_cast(shell->O_data()); + + const int global_warp_id = (threadIdx.x + blockIdx.x*blockDim.x) / cuda::warp_size; + const int nwarp_global = max((blockDim.x*gridDim.x) / cuda::warp_size,1); + + // Read in coeffs/exps into SM on first warp + { + auto* coeff_gm = shell->coeff_data(); + auto* alpha_gm = shell->alpha_data(); + static_assert( detail::shell_nprim_max == cuda::warp_size ); + const int warp_rank = threadIdx.x % cuda::warp_size; + my_alpha[warp_rank] = alpha_gm[warp_rank]; + my_coeff[warp_rank] = coeff_gm[warp_rank]; + } + + // Loop over tasks assigned to shells + // Place each task on a different warp + schedule across blocks + for( int itask = global_warp_id; itask < ntasks; itask += nwarp_global ) { + + const auto* task = device_tasks + task_idx[itask]; + const auto* __restrict__ points_x = task->points_x; + const auto* __restrict__ points_y = task->points_y; + const auto* __restrict__ points_z = task->points_z; + const uint32_t npts = task->npts; + const size_t shoff = task_shell_offs[itask] * npts; + + auto* __restrict__ basis_eval = task->bf + shoff; + auto* __restrict__ basis_x_eval = task->dbfx + shoff; + auto* __restrict__ basis_y_eval = task->dbfy + shoff; + auto* __restrict__ basis_z_eval = task->dbfz + shoff; + auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; + auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; + auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; + auto* __restrict__ basis_yy_eval = task->d2bfyy + shoff; + auto* __restrict__ basis_yz_eval = task->d2bfyz + shoff; + auto* __restrict__ basis_zz_eval = task->d2bfzz + shoff; + auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; + auto* __restrict__ basis_lapl_x_eval = task->d3bflapl_x + shoff; + auto* __restrict__ basis_lapl_y_eval = task->d3bflapl_y + shoff; + auto* __restrict__ basis_lapl_z_eval = task->d3bflapl_z + shoff; + + // Loop over points in task + // Assign each point to separate thread within the warp + #pragma unroll 1 + for( int ipt = threadIdx.x % cuda::warp_size; ipt < npts; ipt += cuda::warp_size ) { + //const double3 point = points[ipt]; + double3 point; + point.x = points_x[ipt]; + point.y = points_y[ipt]; + point.z = points_z[ipt]; + + + const auto x = point.x - O.x; + const auto y = point.y - O.y; + const auto z = point.z - O.z; + const auto rsq = x*x + y*y + z*z; + + // Evaluate radial part of bfn + double radial_eval = 0.; + double radial_eval_alpha = 0.; + double radial_eval_alpha_squared = 0.; + double radial_eval_alpha_cubed = 0.; + + #pragma unroll 1 + for( uint32_t i = 0; i < nprim; ++i ) { + const auto a = my_alpha[i]; + const auto e = my_coeff[i] * std::exp( - a * rsq ); + + radial_eval += e; + radial_eval_alpha += a * e; + radial_eval_alpha_squared += a * a * e; + radial_eval_alpha_cubed += a * a * a * e; + } + + radial_eval_alpha *= -2; + radial_eval_alpha_squared *= 4; + radial_eval_alpha_cubed *= -8; + + // Common Subexpressions + const auto x0 = x*x; + const auto x1 = x0; + const auto x2 = x*y; + const auto x3 = x*z; + const auto x4 = y*y; + const auto x5 = x4; + const auto x6 = y*z; + const auto x7 = z*z; + const auto x8 = x7; + const auto x9 = 2.0*radial_eval; + const auto x10 = x*x*x; + const auto x11 = radial_eval + radial_eval_alpha*x1; + const auto x12 = radial_eval_alpha*x; + const auto x13 = x12*x6; + const auto x14 = radial_eval_alpha*y; + const auto x15 = radial_eval_alpha*x5; + const auto x16 = radial_eval + x15; + const auto x17 = y*y*y; + const auto x18 = radial_eval_alpha*z; + const auto x19 = radial_eval_alpha*x8; + const auto x20 = radial_eval + x19; + const auto x21 = z*z*z; + const auto x22 = 4.0*radial_eval_alpha; + const auto x23 = radial_eval_alpha_squared*x1; + const auto x24 = radial_eval_alpha + x23; + const auto x25 = x1*x22 + x1*x24 + x9; + const auto x26 = 3.0*radial_eval_alpha; + const auto x27 = x23 + x26; + const auto x28 = x24*x5; + const auto x29 = x24*x6; + const auto x30 = x24*x8; + const auto x31 = 2.0*x12; + const auto x32 = radial_eval_alpha_squared*x10 + x31; + const auto x33 = 2.0*x14; + const auto x34 = radial_eval_alpha_squared*x17 + x33; + const auto x35 = radial_eval_alpha_squared*x5; + const auto x36 = radial_eval_alpha + x35; + const auto x37 = x3*x36; + const auto x38 = radial_eval_alpha_squared*x8; + const auto x39 = radial_eval_alpha + x38; + const auto x40 = x2*x39; + const auto x41 = 2.0*x18; + const auto x42 = radial_eval_alpha_squared*x21 + x41; + const auto x43 = x1*x36; + const auto x44 = x26 + x35; + const auto x45 = x22*x5 + x36*x5 + x9; + const auto x46 = x36*x8; + const auto x47 = x1*x39; + const auto x48 = x26 + x38; + const auto x49 = x39*x5; + const auto x50 = x22*x8 + x39*x8 + x9; + const auto x51 = x35 + x38; + const auto x52 = 7.0*radial_eval_alpha + x23 + x51; + const auto x53 = 2.0*x; + const auto x54 = radial_eval_alpha_cubed*x5 + radial_eval_alpha_squared; + const auto x55 = x1*x54; + const auto x56 = radial_eval_alpha_cubed*x8 + radial_eval_alpha_squared; + const auto x57 = x1*x56; + const auto x58 = radial_eval_alpha_squared*x; + const auto x59 = radial_eval_alpha_cubed*x10; + const auto x60 = 3.0*x58 + x59; + const auto x61 = 2.0*radial_eval_alpha_squared; + const auto x62 = x*x60 + x0*x54 + x0*x56 + x1*x61 + x22 + 3.0*x24 + x51; + const auto x63 = 4.0*x58; + const auto x64 = x5*x54; + const auto x65 = x5*x56; + const auto x66 = x54*x8; + const auto x67 = x56*x8; + const auto x68 = radial_eval_alpha_squared*y; + const auto x69 = 4.0*x68; + const auto x70 = radial_eval_alpha_cubed*x1 + radial_eval_alpha_squared; + const auto x71 = x1*x70; + const auto x72 = radial_eval_alpha_cubed*x17; + const auto x73 = 3.0*x68 + x72; + const auto x74 = x22 + x23; + const auto x75 = 3.0*x36 + x38 + x4*x56 + x4*x70 + x5*x61 + x73*y + x74; + const auto x76 = 2.0*y; + const auto x77 = x5*x70; + const auto x78 = x70*x8; + const auto x79 = radial_eval_alpha_squared*z; + const auto x80 = 4.0*x79; + const auto x81 = radial_eval_alpha_cubed*x21; + const auto x82 = 3.0*x79 + x81; + const auto x83 = x35 + 3.0*x39 + x54*x7 + x61*x8 + x7*x70 + x74 + x82*z; + const auto x84 = 2.0*z; + + + // Evaluate basis function + basis_eval[ipt + 0*npts] = radial_eval*x1; + basis_eval[ipt + 1*npts] = radial_eval*x2; + basis_eval[ipt + 2*npts] = radial_eval*x3; + basis_eval[ipt + 3*npts] = radial_eval*x5; + basis_eval[ipt + 4*npts] = radial_eval*x6; + basis_eval[ipt + 5*npts] = radial_eval*x8; + + + + // Evaluate first derivative of bfn wrt x + basis_x_eval[ipt + 0*npts] = radial_eval_alpha*x10 + x*x9; + basis_x_eval[ipt + 1*npts] = x11*y; + basis_x_eval[ipt + 2*npts] = x11*z; + basis_x_eval[ipt + 3*npts] = x12*x5; + basis_x_eval[ipt + 4*npts] = x13; + basis_x_eval[ipt + 5*npts] = x12*x8; + + // Evaluate first derivative of bfn wrt y + basis_y_eval[ipt + 0*npts] = x1*x14; + basis_y_eval[ipt + 1*npts] = x*x16; + basis_y_eval[ipt + 2*npts] = x13; + basis_y_eval[ipt + 3*npts] = radial_eval_alpha*x17 + x9*y; + basis_y_eval[ipt + 4*npts] = x16*z; + basis_y_eval[ipt + 5*npts] = x14*x8; + + // Evaluate first derivative of bfn wrt z + basis_z_eval[ipt + 0*npts] = x1*x18; + basis_z_eval[ipt + 1*npts] = x13; + basis_z_eval[ipt + 2*npts] = x*x20; + basis_z_eval[ipt + 3*npts] = x18*x5; + basis_z_eval[ipt + 4*npts] = x20*y; + basis_z_eval[ipt + 5*npts] = radial_eval_alpha*x21 + x9*z; + + // Evaluate second derivative of bfn wrt xx + basis_xx_eval[ipt + 0*npts] = x25; + basis_xx_eval[ipt + 1*npts] = x2*x27; + basis_xx_eval[ipt + 2*npts] = x27*x3; + basis_xx_eval[ipt + 3*npts] = x28; + basis_xx_eval[ipt + 4*npts] = x29; + basis_xx_eval[ipt + 5*npts] = x30; + + // Evaluate second derivative of bfn wrt xy + basis_xy_eval[ipt + 0*npts] = x32*y; + basis_xy_eval[ipt + 1*npts] = radial_eval_alpha_squared*x1*x5 + x11 + x15; + basis_xy_eval[ipt + 2*npts] = x29; + basis_xy_eval[ipt + 3*npts] = x*x34; + basis_xy_eval[ipt + 4*npts] = x37; + basis_xy_eval[ipt + 5*npts] = radial_eval_alpha_squared*x2*x8; + + // Evaluate second derivative of bfn wrt xz + basis_xz_eval[ipt + 0*npts] = x32*z; + basis_xz_eval[ipt + 1*npts] = x29; + basis_xz_eval[ipt + 2*npts] = radial_eval_alpha_squared*x1*x8 + x11 + x19; + basis_xz_eval[ipt + 3*npts] = radial_eval_alpha_squared*x3*x5; + basis_xz_eval[ipt + 4*npts] = x40; + basis_xz_eval[ipt + 5*npts] = x*x42; + + // Evaluate second derivative of bfn wrt yy + basis_yy_eval[ipt + 0*npts] = x43; + basis_yy_eval[ipt + 1*npts] = x2*x44; + basis_yy_eval[ipt + 2*npts] = x37; + basis_yy_eval[ipt + 3*npts] = x45; + basis_yy_eval[ipt + 4*npts] = x44*x6; + basis_yy_eval[ipt + 5*npts] = x46; + + // Evaluate second derivative of bfn wrt yz + basis_yz_eval[ipt + 0*npts] = radial_eval_alpha_squared*x1*x6; + basis_yz_eval[ipt + 1*npts] = x37; + basis_yz_eval[ipt + 2*npts] = x40; + basis_yz_eval[ipt + 3*npts] = x34*z; + basis_yz_eval[ipt + 4*npts] = radial_eval_alpha_squared*x5*x8 + x16 + x19; + basis_yz_eval[ipt + 5*npts] = x42*y; + + // Evaluate second derivative of bfn wrt zz + basis_zz_eval[ipt + 0*npts] = x47; + basis_zz_eval[ipt + 1*npts] = x40; + basis_zz_eval[ipt + 2*npts] = x3*x48; + basis_zz_eval[ipt + 3*npts] = x49; + basis_zz_eval[ipt + 4*npts] = x48*x6; + basis_zz_eval[ipt + 5*npts] = x50; + + // Evaluate Laplacian of bfn + basis_lapl_eval[ipt + 0*npts] = x25 + x43 + x47; + basis_lapl_eval[ipt + 1*npts] = x2*x52; + basis_lapl_eval[ipt + 2*npts] = x3*x52; + basis_lapl_eval[ipt + 3*npts] = x28 + x45 + x49; + basis_lapl_eval[ipt + 4*npts] = x52*x6; + basis_lapl_eval[ipt + 5*npts] = x30 + x46 + x50; + + // Evaluate Laplacian gradient of bfn (dx) + basis_lapl_x_eval[ipt + 0*npts] = 6.0*x*x24 + x*x55 + x*x57 + x1*x60 + 6.0*x12 + x36*x53 + x39*x53; + basis_lapl_x_eval[ipt + 1*npts] = x62*y; + basis_lapl_x_eval[ipt + 2*npts] = x62*z; + basis_lapl_x_eval[ipt + 3*npts] = x*x64 + x*x65 + x31 + x5*x60 + x5*x63; + basis_lapl_x_eval[ipt + 4*npts] = x6*(x*x54 + x*x56 + 7.0*x58 + x59); + basis_lapl_x_eval[ipt + 5*npts] = x*x66 + x*x67 + x31 + x60*x8 + x63*x8; + // Evaluate Laplacian gradient of bfn (dy) + basis_lapl_y_eval[ipt + 0*npts] = x1*x69 + x1*x73 + x33 + x57*y + x71*y; + basis_lapl_y_eval[ipt + 1*npts] = x*x75; + basis_lapl_y_eval[ipt + 2*npts] = x3*(x56*y + 7.0*x68 + x70*y + x72); + basis_lapl_y_eval[ipt + 3*npts] = 6.0*x14 + x24*x76 + 6.0*x36*y + x39*x76 + x5*x73 + x65*y + x77*y; + basis_lapl_y_eval[ipt + 4*npts] = x75*z; + basis_lapl_y_eval[ipt + 5*npts] = x33 + x67*y + x69*x8 + x73*x8 + x78*y; + // Evaluate Laplacian gradient of bfn (dz) + basis_lapl_z_eval[ipt + 0*npts] = x1*x80 + x1*x82 + x41 + x55*z + x71*z; + basis_lapl_z_eval[ipt + 1*npts] = x2*(x54*z + x70*z + 7.0*x79 + x81); + basis_lapl_z_eval[ipt + 2*npts] = x*x83; + basis_lapl_z_eval[ipt + 3*npts] = x41 + x5*x80 + x5*x82 + x64*z + x77*z; + basis_lapl_z_eval[ipt + 4*npts] = x83*y; + basis_lapl_z_eval[ipt + 5*npts] = 6.0*x18 + x24*x84 + x36*x84 + 6.0*x39*z + x66*z + x78*z + x8*x82; + + + + +#if 0 + // Evaluate the angular part of bfn + + + + double ang_eval_0; + double ang_eval_1; + double ang_eval_2; + double ang_eval_3; + + + ang_eval_0 = radial_eval*x1; + ang_eval_1 = radial_eval*x2; + ang_eval_2 = radial_eval*x3; + ang_eval_3 = radial_eval*x5; + basis_eval[ipt + 0*npts] = ang_eval_0; + basis_eval[ipt + 1*npts] = ang_eval_1; + basis_eval[ipt + 2*npts] = ang_eval_2; + basis_eval[ipt + 3*npts] = ang_eval_3; + + ang_eval_0 = radial_eval*x6; + ang_eval_1 = radial_eval*x8; + basis_eval[ipt + 4*npts] = ang_eval_0; + basis_eval[ipt + 5*npts] = ang_eval_1; + + + double dang_eval_x_0, dang_eval_y_0, dang_eval_z_0; + double dang_eval_x_1, dang_eval_y_1, dang_eval_z_1; + double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; + double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; + + dang_eval_x_0 = radial_eval_alpha*x10 + x*x9; + dang_eval_y_0 = x1*x14; + dang_eval_z_0 = x1*x18; + dang_eval_x_1 = x11*y; + dang_eval_y_1 = x*x16; + dang_eval_z_1 = x13; + dang_eval_x_2 = x11*z; + dang_eval_y_2 = x13; + dang_eval_z_2 = x*x20; + dang_eval_x_3 = x12*x5; + dang_eval_y_3 = radial_eval_alpha*x17 + x9*y; + dang_eval_z_3 = x18*x5; + basis_x_eval[ipt + 0*npts] = dang_eval_x_0; + basis_y_eval[ipt + 0*npts] = dang_eval_y_0; + basis_z_eval[ipt + 0*npts] = dang_eval_z_0; + basis_x_eval[ipt + 1*npts] = dang_eval_x_1; + basis_y_eval[ipt + 1*npts] = dang_eval_y_1; + basis_z_eval[ipt + 1*npts] = dang_eval_z_1; + basis_x_eval[ipt + 2*npts] = dang_eval_x_2; + basis_y_eval[ipt + 2*npts] = dang_eval_y_2; + basis_z_eval[ipt + 2*npts] = dang_eval_z_2; + basis_x_eval[ipt + 3*npts] = dang_eval_x_3; + basis_y_eval[ipt + 3*npts] = dang_eval_y_3; + basis_z_eval[ipt + 3*npts] = dang_eval_z_3; + + dang_eval_x_0 = x13; + dang_eval_y_0 = x16*z; + dang_eval_z_0 = x20*y; + dang_eval_x_1 = x12*x8; + dang_eval_y_1 = x14*x8; + dang_eval_z_1 = radial_eval_alpha*x21 + x9*z; + basis_x_eval[ipt + 4*npts] = dang_eval_x_0; + basis_y_eval[ipt + 4*npts] = dang_eval_y_0; + basis_z_eval[ipt + 4*npts] = dang_eval_z_0; + basis_x_eval[ipt + 5*npts] = dang_eval_x_1; + basis_y_eval[ipt + 5*npts] = dang_eval_y_1; + basis_z_eval[ipt + 5*npts] = dang_eval_z_1; + +#endif + } // Loop over points within task + } // Loop over tasks + + } // Loop over shells +} // end kernel + +} // namespace GauXC diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2_laplacian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2_laplacian.hpp index 7e3b759f..c183db2e 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2_laplacian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l2_laplacian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_cartesian_laplacian_2( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_cartesian_laplacian_2( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; // Loop over points in task @@ -103,49 +102,98 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = x*x; + const auto x1 = x*y; + const auto x2 = x*z; + const auto x3 = y*y; + const auto x4 = y*z; + const auto x5 = z*z; + const auto x6 = 2.0*radial_eval; + const auto x7 = x*x*x; + const auto x8 = radial_eval + radial_eval_alpha*x0; + const auto x9 = radial_eval_alpha*x; + const auto x10 = x4*x9; + const auto x11 = radial_eval_alpha*y; + const auto x12 = radial_eval_alpha*x3; + const auto x13 = radial_eval + x12; + const auto x14 = y*y*y; + const auto x15 = radial_eval_alpha*z; + const auto x16 = radial_eval_alpha*x5; + const auto x17 = radial_eval + x16; + const auto x18 = z*z*z; + const auto x19 = 4.0*radial_eval_alpha; + const auto x20 = radial_eval_alpha_squared*x0; + const auto x21 = radial_eval_alpha + x20; + const auto x22 = x0*x19 + x0*x21 + x6; + const auto x23 = 3.0*radial_eval_alpha; + const auto x24 = x20 + x23; + const auto x25 = x21*x3; + const auto x26 = x21*x4; + const auto x27 = x21*x5; + const auto x28 = radial_eval_alpha_squared*x7 + 2.0*x9; + const auto x29 = radial_eval_alpha_squared*x14 + 2.0*x11; + const auto x30 = radial_eval_alpha_squared*x3; + const auto x31 = radial_eval_alpha + x30; + const auto x32 = x2*x31; + const auto x33 = radial_eval_alpha_squared*x5; + const auto x34 = radial_eval_alpha + x33; + const auto x35 = x1*x34; + const auto x36 = radial_eval_alpha_squared*x18 + 2.0*x15; + const auto x37 = x0*x31; + const auto x38 = x23 + x30; + const auto x39 = x19*x3 + x3*x31 + x6; + const auto x40 = x31*x5; + const auto x41 = x0*x34; + const auto x42 = x23 + x33; + const auto x43 = x3*x34; + const auto x44 = x19*x5 + x34*x5 + x6; + const auto x45 = 7.0*radial_eval_alpha + x20 + x30 + x33; + // Evaluate basis function - basis_eval[ipt + 0*npts] = radial_eval*x*x; - basis_eval[ipt + 1*npts] = radial_eval*x*y; - basis_eval[ipt + 2*npts] = radial_eval*x*z; - basis_eval[ipt + 3*npts] = radial_eval*y*y; - basis_eval[ipt + 4*npts] = radial_eval*y*z; - basis_eval[ipt + 5*npts] = radial_eval*z*z; + basis_eval[ipt + 0*npts] = radial_eval*x0; + basis_eval[ipt + 1*npts] = radial_eval*x1; + basis_eval[ipt + 2*npts] = radial_eval*x2; + basis_eval[ipt + 3*npts] = radial_eval*x3; + basis_eval[ipt + 4*npts] = radial_eval*x4; + basis_eval[ipt + 5*npts] = radial_eval*x5; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = x*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 1*npts] = y*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 2*npts] = z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 3*npts] = radial_eval_alpha*x*y*y; - basis_x_eval[ipt + 4*npts] = radial_eval_alpha*x*y*z; - basis_x_eval[ipt + 5*npts] = radial_eval_alpha*x*z*z; + basis_x_eval[ipt + 0*npts] = radial_eval_alpha*x7 + x*x6; + basis_x_eval[ipt + 1*npts] = x8*y; + basis_x_eval[ipt + 2*npts] = x8*z; + basis_x_eval[ipt + 3*npts] = x3*x9; + basis_x_eval[ipt + 4*npts] = x10; + basis_x_eval[ipt + 5*npts] = x5*x9; // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = radial_eval_alpha*x*x*y; - basis_y_eval[ipt + 1*npts] = x*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 2*npts] = radial_eval_alpha*x*y*z; - basis_y_eval[ipt + 3*npts] = y*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 4*npts] = z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 5*npts] = radial_eval_alpha*y*z*z; + basis_y_eval[ipt + 0*npts] = x0*x11; + basis_y_eval[ipt + 1*npts] = x*x13; + basis_y_eval[ipt + 2*npts] = x10; + basis_y_eval[ipt + 3*npts] = radial_eval_alpha*x14 + x6*y; + basis_y_eval[ipt + 4*npts] = x13*z; + basis_y_eval[ipt + 5*npts] = x11*x5; // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = radial_eval_alpha*x*x*z; - basis_z_eval[ipt + 1*npts] = radial_eval_alpha*x*y*z; - basis_z_eval[ipt + 2*npts] = x*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 3*npts] = radial_eval_alpha*y*y*z; - basis_z_eval[ipt + 4*npts] = y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 5*npts] = z*(2*radial_eval + radial_eval_alpha*z*z); + basis_z_eval[ipt + 0*npts] = x0*x15; + basis_z_eval[ipt + 1*npts] = x10; + basis_z_eval[ipt + 2*npts] = x*x17; + basis_z_eval[ipt + 3*npts] = x15*x3; + basis_z_eval[ipt + 4*npts] = x17*y; + basis_z_eval[ipt + 5*npts] = radial_eval_alpha*x18 + x6*z; + // Evaluate Laplacian of bfn - basis_lapl_eval[ipt + 0*npts] = 2*radial_eval + 7*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x + radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*x*x*z*z; - basis_lapl_eval[ipt + 1*npts] = x*y*(7*radial_eval_alpha + radial_eval_alpha_squared*x*x + radial_eval_alpha_squared*y*y + radial_eval_alpha_squared*z*z); - basis_lapl_eval[ipt + 2*npts] = x*z*(7*radial_eval_alpha + radial_eval_alpha_squared*x*x + radial_eval_alpha_squared*y*y + radial_eval_alpha_squared*z*z); - basis_lapl_eval[ipt + 3*npts] = 2*radial_eval + 7*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*y*y*y*y + radial_eval_alpha_squared*y*y*z*z; - basis_lapl_eval[ipt + 4*npts] = y*z*(7*radial_eval_alpha + radial_eval_alpha_squared*x*x + radial_eval_alpha_squared*y*y + radial_eval_alpha_squared*z*z); - basis_lapl_eval[ipt + 5*npts] = 2*radial_eval + 7*radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z + radial_eval_alpha_squared*y*y*z*z + radial_eval_alpha_squared*z*z*z*z; + basis_lapl_eval[ipt + 0*npts] = x22 + x37 + x41; + basis_lapl_eval[ipt + 1*npts] = x1*x45; + basis_lapl_eval[ipt + 2*npts] = x2*x45; + basis_lapl_eval[ipt + 3*npts] = x25 + x39 + x43; + basis_lapl_eval[ipt + 4*npts] = x4*x45; + basis_lapl_eval[ipt + 5*npts] = x27 + x40 + x44; + @@ -161,17 +209,17 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = radial_eval*x*x; - ang_eval_1 = radial_eval*x*y; - ang_eval_2 = radial_eval*x*z; - ang_eval_3 = radial_eval*y*y; + ang_eval_0 = radial_eval*x0; + ang_eval_1 = radial_eval*x1; + ang_eval_2 = radial_eval*x2; + ang_eval_3 = radial_eval*x3; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = radial_eval*y*z; - ang_eval_1 = radial_eval*z*z; + ang_eval_0 = radial_eval*x4; + ang_eval_1 = radial_eval*x5; basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; @@ -181,18 +229,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = x*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = radial_eval_alpha*x*x*y; - dang_eval_z_0 = radial_eval_alpha*x*x*z; - dang_eval_x_1 = y*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = x*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = radial_eval_alpha*x*y*z; - dang_eval_x_2 = z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_2 = radial_eval_alpha*x*y*z; - dang_eval_z_2 = x*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_3 = radial_eval_alpha*x*y*y; - dang_eval_y_3 = y*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = radial_eval_alpha*y*y*z; + dang_eval_x_0 = radial_eval_alpha*x7 + x*x6; + dang_eval_y_0 = x0*x11; + dang_eval_z_0 = x0*x15; + dang_eval_x_1 = x8*y; + dang_eval_y_1 = x*x13; + dang_eval_z_1 = x10; + dang_eval_x_2 = x8*z; + dang_eval_y_2 = x10; + dang_eval_z_2 = x*x17; + dang_eval_x_3 = x3*x9; + dang_eval_y_3 = radial_eval_alpha*x14 + x6*y; + dang_eval_z_3 = x15*x3; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -206,12 +254,12 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = radial_eval_alpha*x*y*z; - dang_eval_y_0 = z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = y*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = radial_eval_alpha*x*z*z; - dang_eval_y_1 = radial_eval_alpha*y*z*z; - dang_eval_z_1 = z*(2*radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x10; + dang_eval_y_0 = x13*z; + dang_eval_z_0 = x17*y; + dang_eval_x_1 = x5*x9; + dang_eval_y_1 = x11*x5; + dang_eval_z_1 = radial_eval_alpha*x18 + x6*z; basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3.hpp index 9b180257..ab3c6845 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3.hpp @@ -64,7 +64,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_eval = task->bf + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -93,19 +92,26 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel } - + // Common Subexpressions + const auto x0 = radial_eval*y; + const auto x1 = x*x; + const auto x2 = radial_eval*z; + const auto x3 = radial_eval*x; + const auto x4 = y*y; + const auto x5 = z*z; + // Evaluate basis function - basis_eval[ipt + 0*npts] = radial_eval*x*x*x; - basis_eval[ipt + 1*npts] = radial_eval*x*x*y; - basis_eval[ipt + 2*npts] = radial_eval*x*x*z; - basis_eval[ipt + 3*npts] = radial_eval*x*y*y; - basis_eval[ipt + 4*npts] = radial_eval*x*y*z; - basis_eval[ipt + 5*npts] = radial_eval*x*z*z; - basis_eval[ipt + 6*npts] = radial_eval*y*y*y; - basis_eval[ipt + 7*npts] = radial_eval*y*y*z; - basis_eval[ipt + 8*npts] = radial_eval*y*z*z; - basis_eval[ipt + 9*npts] = radial_eval*z*z*z; + basis_eval[ipt + 0*npts] = radial_eval*(x*x*x); + basis_eval[ipt + 1*npts] = x0*x1; + basis_eval[ipt + 2*npts] = x1*x2; + basis_eval[ipt + 3*npts] = x3*x4; + basis_eval[ipt + 4*npts] = x*x0*z; + basis_eval[ipt + 5*npts] = x3*x5; + basis_eval[ipt + 6*npts] = radial_eval*(y*y*y); + basis_eval[ipt + 7*npts] = x2*x4; + basis_eval[ipt + 8*npts] = x0*x5; + basis_eval[ipt + 9*npts] = radial_eval*(z*z*z); @@ -114,6 +120,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel + + #if 0 // Evaluate the angular part of bfn @@ -125,26 +133,26 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = radial_eval*x*x*x; - ang_eval_1 = radial_eval*x*x*y; - ang_eval_2 = radial_eval*x*x*z; - ang_eval_3 = radial_eval*x*y*y; + ang_eval_0 = radial_eval*(x*x*x); + ang_eval_1 = x0*x1; + ang_eval_2 = x1*x2; + ang_eval_3 = x3*x4; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = radial_eval*x*y*z; - ang_eval_1 = radial_eval*x*z*z; - ang_eval_2 = radial_eval*y*y*y; - ang_eval_3 = radial_eval*y*y*z; + ang_eval_0 = x*x0*z; + ang_eval_1 = x3*x5; + ang_eval_2 = radial_eval*(y*y*y); + ang_eval_3 = x2*x4; basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; basis_eval[ipt + 6*npts] = ang_eval_2; basis_eval[ipt + 7*npts] = ang_eval_3; - ang_eval_0 = radial_eval*y*z*z; - ang_eval_1 = radial_eval*z*z*z; + ang_eval_0 = x0*x5; + ang_eval_1 = radial_eval*(z*z*z); basis_eval[ipt + 8*npts] = ang_eval_0; basis_eval[ipt + 9*npts] = ang_eval_1; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3_gradient.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3_gradient.hpp index 459f84e9..be88791a 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3_gradient.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3_gradient.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_cartesian_gradient_3( +__global__ __launch_bounds__(256,2) void collocation_device_shell_to_task_kernel_cartesian_gradient_3( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[8][detail::shell_nprim_max + 1]; + __shared__ double coeff[8][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -67,7 +67,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -99,57 +98,87 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; - + // Common Subexpressions + const auto x0 = x*x*x; + const auto x1 = radial_eval*y; + const auto x2 = x*x; + const auto x3 = radial_eval*z; + const auto x4 = radial_eval*x; + const auto x5 = y*y; + const auto x6 = x*z; + const auto x7 = z*z; + const auto x8 = y*y*y; + const auto x9 = z*z*z; + const auto x10 = 3.0*radial_eval; + const auto x11 = radial_eval_alpha*x0 + 2.0*x4; + const auto x12 = radial_eval*x5; + const auto x13 = radial_eval_alpha*x2*x5; + const auto x14 = y*z; + const auto x15 = radial_eval*x7; + const auto x16 = radial_eval_alpha*x2*x7; + const auto x17 = radial_eval_alpha*x; + const auto x18 = x17*x5*z; + const auto x19 = x17*x7*y; + const auto x20 = radial_eval_alpha*y; + const auto x21 = radial_eval*x2; + const auto x22 = radial_eval_alpha*x14*x2; + const auto x23 = radial_eval_alpha*x8 + 2.0*x1; + const auto x24 = radial_eval_alpha*x5*x7; + const auto x25 = radial_eval_alpha*z; + const auto x26 = radial_eval_alpha*x9 + 2.0*x3; + // Evaluate basis function - basis_eval[ipt + 0*npts] = radial_eval*x*x*x; - basis_eval[ipt + 1*npts] = radial_eval*x*x*y; - basis_eval[ipt + 2*npts] = radial_eval*x*x*z; - basis_eval[ipt + 3*npts] = radial_eval*x*y*y; - basis_eval[ipt + 4*npts] = radial_eval*x*y*z; - basis_eval[ipt + 5*npts] = radial_eval*x*z*z; - basis_eval[ipt + 6*npts] = radial_eval*y*y*y; - basis_eval[ipt + 7*npts] = radial_eval*y*y*z; - basis_eval[ipt + 8*npts] = radial_eval*y*z*z; - basis_eval[ipt + 9*npts] = radial_eval*z*z*z; + basis_eval[ipt + 0*npts] = radial_eval*x0; + basis_eval[ipt + 1*npts] = x1*x2; + basis_eval[ipt + 2*npts] = x2*x3; + basis_eval[ipt + 3*npts] = x4*x5; + basis_eval[ipt + 4*npts] = x1*x6; + basis_eval[ipt + 5*npts] = x4*x7; + basis_eval[ipt + 6*npts] = radial_eval*x8; + basis_eval[ipt + 7*npts] = x3*x5; + basis_eval[ipt + 8*npts] = x1*x7; + basis_eval[ipt + 9*npts] = radial_eval*x9; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = x*x*(3*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 1*npts] = x*y*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 2*npts] = x*z*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 3*npts] = y*y*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 4*npts] = y*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 5*npts] = z*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 6*npts] = radial_eval_alpha*x*y*y*y; - basis_x_eval[ipt + 7*npts] = radial_eval_alpha*x*y*y*z; - basis_x_eval[ipt + 8*npts] = radial_eval_alpha*x*y*z*z; - basis_x_eval[ipt + 9*npts] = radial_eval_alpha*x*z*z*z; + basis_x_eval[ipt + 0*npts] = radial_eval_alpha*(x*x*x*x) + x10*x2; + basis_x_eval[ipt + 1*npts] = x11*y; + basis_x_eval[ipt + 2*npts] = x11*z; + basis_x_eval[ipt + 3*npts] = x12 + x13; + basis_x_eval[ipt + 4*npts] = x14*(radial_eval + radial_eval_alpha*x2); + basis_x_eval[ipt + 5*npts] = x15 + x16; + basis_x_eval[ipt + 6*npts] = x17*x8; + basis_x_eval[ipt + 7*npts] = x18; + basis_x_eval[ipt + 8*npts] = x19; + basis_x_eval[ipt + 9*npts] = x17*x9; // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = radial_eval_alpha*x*x*x*y; - basis_y_eval[ipt + 1*npts] = x*x*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 2*npts] = radial_eval_alpha*x*x*y*z; - basis_y_eval[ipt + 3*npts] = x*y*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 4*npts] = x*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 5*npts] = radial_eval_alpha*x*y*z*z; - basis_y_eval[ipt + 6*npts] = y*y*(3*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 7*npts] = y*z*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 8*npts] = z*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 9*npts] = radial_eval_alpha*y*z*z*z; + basis_y_eval[ipt + 0*npts] = x0*x20; + basis_y_eval[ipt + 1*npts] = x13 + x21; + basis_y_eval[ipt + 2*npts] = x22; + basis_y_eval[ipt + 3*npts] = x*x23; + basis_y_eval[ipt + 4*npts] = x6*(radial_eval + radial_eval_alpha*x5); + basis_y_eval[ipt + 5*npts] = x19; + basis_y_eval[ipt + 6*npts] = radial_eval_alpha*(y*y*y*y) + x10*x5; + basis_y_eval[ipt + 7*npts] = x23*z; + basis_y_eval[ipt + 8*npts] = x15 + x24; + basis_y_eval[ipt + 9*npts] = x20*x9; // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = radial_eval_alpha*x*x*x*z; - basis_z_eval[ipt + 1*npts] = radial_eval_alpha*x*x*y*z; - basis_z_eval[ipt + 2*npts] = x*x*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 3*npts] = radial_eval_alpha*x*y*y*z; - basis_z_eval[ipt + 4*npts] = x*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 5*npts] = x*z*(2*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 6*npts] = radial_eval_alpha*y*y*y*z; - basis_z_eval[ipt + 7*npts] = y*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 8*npts] = y*z*(2*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 9*npts] = z*z*(3*radial_eval + radial_eval_alpha*z*z); + basis_z_eval[ipt + 0*npts] = x0*x25; + basis_z_eval[ipt + 1*npts] = x22; + basis_z_eval[ipt + 2*npts] = x16 + x21; + basis_z_eval[ipt + 3*npts] = x18; + basis_z_eval[ipt + 4*npts] = x*y*(radial_eval + radial_eval_alpha*x7); + basis_z_eval[ipt + 5*npts] = x*x26; + basis_z_eval[ipt + 6*npts] = x25*x8; + basis_z_eval[ipt + 7*npts] = x12 + x24; + basis_z_eval[ipt + 8*npts] = x26*y; + basis_z_eval[ipt + 9*npts] = radial_eval_alpha*(z*z*z*z) + x10*x7; + + @@ -166,26 +195,26 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = radial_eval*x*x*x; - ang_eval_1 = radial_eval*x*x*y; - ang_eval_2 = radial_eval*x*x*z; - ang_eval_3 = radial_eval*x*y*y; + ang_eval_0 = radial_eval*x0; + ang_eval_1 = x1*x2; + ang_eval_2 = x2*x3; + ang_eval_3 = x4*x5; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = radial_eval*x*y*z; - ang_eval_1 = radial_eval*x*z*z; - ang_eval_2 = radial_eval*y*y*y; - ang_eval_3 = radial_eval*y*y*z; + ang_eval_0 = x1*x6; + ang_eval_1 = x4*x7; + ang_eval_2 = radial_eval*x8; + ang_eval_3 = x3*x5; basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; basis_eval[ipt + 6*npts] = ang_eval_2; basis_eval[ipt + 7*npts] = ang_eval_3; - ang_eval_0 = radial_eval*y*z*z; - ang_eval_1 = radial_eval*z*z*z; + ang_eval_0 = x1*x7; + ang_eval_1 = radial_eval*x9; basis_eval[ipt + 8*npts] = ang_eval_0; basis_eval[ipt + 9*npts] = ang_eval_1; @@ -195,18 +224,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = x*x*(3*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = radial_eval_alpha*x*x*x*y; - dang_eval_z_0 = radial_eval_alpha*x*x*x*z; - dang_eval_x_1 = x*y*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = x*x*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = radial_eval_alpha*x*x*y*z; - dang_eval_x_2 = x*z*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_2 = radial_eval_alpha*x*x*y*z; - dang_eval_z_2 = x*x*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_3 = y*y*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_3 = x*y*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = radial_eval_alpha*x*y*y*z; + dang_eval_x_0 = radial_eval_alpha*(x*x*x*x) + x10*x2; + dang_eval_y_0 = x0*x20; + dang_eval_z_0 = x0*x25; + dang_eval_x_1 = x11*y; + dang_eval_y_1 = x13 + x21; + dang_eval_z_1 = x22; + dang_eval_x_2 = x11*z; + dang_eval_y_2 = x22; + dang_eval_z_2 = x16 + x21; + dang_eval_x_3 = x12 + x13; + dang_eval_y_3 = x*x23; + dang_eval_z_3 = x18; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -220,18 +249,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = y*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = x*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = x*y*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = z*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = radial_eval_alpha*x*y*z*z; - dang_eval_z_1 = x*z*(2*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = radial_eval_alpha*x*y*y*y; - dang_eval_y_2 = y*y*(3*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_2 = radial_eval_alpha*y*y*y*z; - dang_eval_x_3 = radial_eval_alpha*x*y*y*z; - dang_eval_y_3 = y*z*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = y*y*(radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x14*(radial_eval + radial_eval_alpha*x2); + dang_eval_y_0 = x6*(radial_eval + radial_eval_alpha*x5); + dang_eval_z_0 = x*y*(radial_eval + radial_eval_alpha*x7); + dang_eval_x_1 = x15 + x16; + dang_eval_y_1 = x19; + dang_eval_z_1 = x*x26; + dang_eval_x_2 = x17*x8; + dang_eval_y_2 = radial_eval_alpha*(y*y*y*y) + x10*x5; + dang_eval_z_2 = x25*x8; + dang_eval_x_3 = x18; + dang_eval_y_3 = x23*z; + dang_eval_z_3 = x12 + x24; basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; @@ -245,12 +274,12 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 7*npts] = dang_eval_y_3; basis_z_eval[ipt + 7*npts] = dang_eval_z_3; - dang_eval_x_0 = radial_eval_alpha*x*y*z*z; - dang_eval_y_0 = z*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = y*z*(2*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = radial_eval_alpha*x*z*z*z; - dang_eval_y_1 = radial_eval_alpha*y*z*z*z; - dang_eval_z_1 = z*z*(3*radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x19; + dang_eval_y_0 = x15 + x24; + dang_eval_z_0 = x26*y; + dang_eval_x_1 = x17*x9; + dang_eval_y_1 = x20*x9; + dang_eval_z_1 = radial_eval_alpha*(z*z*z*z) + x10*x7; basis_x_eval[ipt + 8*npts] = dang_eval_x_0; basis_y_eval[ipt + 8*npts] = dang_eval_y_0; basis_z_eval[ipt + 8*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3_hessian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3_hessian.hpp index 31178f04..3ea3d802 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3_hessian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3_hessian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_cartesian_hessian_3( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_cartesian_hessian_3( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; @@ -108,129 +107,225 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = x*x*x; + const auto x1 = radial_eval*y; + const auto x2 = x*x; + const auto x3 = radial_eval*z; + const auto x4 = radial_eval*x; + const auto x5 = y*y; + const auto x6 = x*z; + const auto x7 = z*z; + const auto x8 = y*y*y; + const auto x9 = z*z*z; + const auto x10 = x*x*x*x; + const auto x11 = 3.0*radial_eval; + const auto x12 = radial_eval_alpha*x0 + 2.0*x4; + const auto x13 = radial_eval*x5; + const auto x14 = x2*x5; + const auto x15 = radial_eval_alpha*x14; + const auto x16 = y*z; + const auto x17 = radial_eval_alpha*x2; + const auto x18 = radial_eval + x17; + const auto x19 = radial_eval*x7; + const auto x20 = x2*x7; + const auto x21 = radial_eval_alpha*x20; + const auto x22 = radial_eval_alpha*x; + const auto x23 = x22*x5*z; + const auto x24 = x22*x7*y; + const auto x25 = radial_eval_alpha*y; + const auto x26 = radial_eval*x2; + const auto x27 = radial_eval_alpha*x16*x2; + const auto x28 = radial_eval_alpha*x8 + 2.0*x1; + const auto x29 = radial_eval_alpha*x5; + const auto x30 = radial_eval + x29; + const auto x31 = y*y*y*y; + const auto x32 = x5*x7; + const auto x33 = radial_eval_alpha*x32; + const auto x34 = radial_eval_alpha*z; + const auto x35 = x*y; + const auto x36 = radial_eval_alpha*x7; + const auto x37 = radial_eval_alpha*x9 + 2.0*x3; + const auto x38 = z*z*z*z; + const auto x39 = 6.0*radial_eval_alpha; + const auto x40 = radial_eval_alpha_squared*x2; + const auto x41 = radial_eval_alpha + x40; + const auto x42 = x0*x39 + x0*x41 + 6.0*x4; + const auto x43 = 4.0*radial_eval_alpha; + const auto x44 = 2.0*radial_eval; + const auto x45 = x2*x41 + x44; + const auto x46 = x2*x43 + x45; + const auto x47 = 2.0*radial_eval_alpha; + const auto x48 = x47*x5; + const auto x49 = x41*x5; + const auto x50 = x*x16; + const auto x51 = 3.0*radial_eval_alpha; + const auto x52 = x47*x7; + const auto x53 = x41*x7; + const auto x54 = x41*x8; + const auto x55 = x41*x9; + const auto x56 = radial_eval_alpha_squared*x10 + x2*x51; + const auto x57 = 2.0*x22; + const auto x58 = x16*(radial_eval_alpha_squared*x0 + x57); + const auto x59 = 2.0*x25; + const auto x60 = radial_eval_alpha_squared*x14; + const auto x61 = x29 + x60; + const auto x62 = radial_eval_alpha_squared*x20; + const auto x63 = x36 + x62; + const auto x64 = radial_eval_alpha_squared*x31 + x5*x51; + const auto x65 = x6*(radial_eval_alpha_squared*x8 + x59); + const auto x66 = radial_eval_alpha_squared*x32; + const auto x67 = x36 + x66; + const auto x68 = 2.0*x34; + const auto x69 = x35*(radial_eval_alpha_squared*x9 + x68); + const auto x70 = radial_eval_alpha_squared*x38 + x51*x7; + const auto x71 = radial_eval_alpha_squared*x5; + const auto x72 = radial_eval_alpha + x71; + const auto x73 = x0*x72; + const auto x74 = x2*x47; + const auto x75 = x2*x72; + const auto x76 = x44 + x5*x72; + const auto x77 = x43*x5 + x76; + const auto x78 = x7*x72; + const auto x79 = 6.0*x1 + x39*x8 + x72*x8; + const auto x80 = x72*x9; + const auto x81 = radial_eval_alpha_squared*x7; + const auto x82 = radial_eval_alpha + x81; + const auto x83 = x0*x82; + const auto x84 = x2*x82; + const auto x85 = x5*x82; + const auto x86 = x44 + x7*x82; + const auto x87 = x43*x7 + x86; + const auto x88 = x8*x82; + const auto x89 = 6.0*x3 + x39*x9 + x82*x9; + const auto x90 = x2*x39 + x45 + x75 + x84; + const auto x91 = x39*x5 + x49 + x76 + x85; + const auto x92 = x39*x7 + x53 + x78 + x86; + // Evaluate basis function - basis_eval[ipt + 0*npts] = radial_eval*x*x*x; - basis_eval[ipt + 1*npts] = radial_eval*x*x*y; - basis_eval[ipt + 2*npts] = radial_eval*x*x*z; - basis_eval[ipt + 3*npts] = radial_eval*x*y*y; - basis_eval[ipt + 4*npts] = radial_eval*x*y*z; - basis_eval[ipt + 5*npts] = radial_eval*x*z*z; - basis_eval[ipt + 6*npts] = radial_eval*y*y*y; - basis_eval[ipt + 7*npts] = radial_eval*y*y*z; - basis_eval[ipt + 8*npts] = radial_eval*y*z*z; - basis_eval[ipt + 9*npts] = radial_eval*z*z*z; + basis_eval[ipt + 0*npts] = radial_eval*x0; + basis_eval[ipt + 1*npts] = x1*x2; + basis_eval[ipt + 2*npts] = x2*x3; + basis_eval[ipt + 3*npts] = x4*x5; + basis_eval[ipt + 4*npts] = x1*x6; + basis_eval[ipt + 5*npts] = x4*x7; + basis_eval[ipt + 6*npts] = radial_eval*x8; + basis_eval[ipt + 7*npts] = x3*x5; + basis_eval[ipt + 8*npts] = x1*x7; + basis_eval[ipt + 9*npts] = radial_eval*x9; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = x*x*(3*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 1*npts] = x*y*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 2*npts] = x*z*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 3*npts] = y*y*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 4*npts] = y*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 5*npts] = z*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 6*npts] = radial_eval_alpha*x*y*y*y; - basis_x_eval[ipt + 7*npts] = radial_eval_alpha*x*y*y*z; - basis_x_eval[ipt + 8*npts] = radial_eval_alpha*x*y*z*z; - basis_x_eval[ipt + 9*npts] = radial_eval_alpha*x*z*z*z; + basis_x_eval[ipt + 0*npts] = radial_eval_alpha*x10 + x11*x2; + basis_x_eval[ipt + 1*npts] = x12*y; + basis_x_eval[ipt + 2*npts] = x12*z; + basis_x_eval[ipt + 3*npts] = x13 + x15; + basis_x_eval[ipt + 4*npts] = x16*x18; + basis_x_eval[ipt + 5*npts] = x19 + x21; + basis_x_eval[ipt + 6*npts] = x22*x8; + basis_x_eval[ipt + 7*npts] = x23; + basis_x_eval[ipt + 8*npts] = x24; + basis_x_eval[ipt + 9*npts] = x22*x9; // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = radial_eval_alpha*x*x*x*y; - basis_y_eval[ipt + 1*npts] = x*x*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 2*npts] = radial_eval_alpha*x*x*y*z; - basis_y_eval[ipt + 3*npts] = x*y*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 4*npts] = x*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 5*npts] = radial_eval_alpha*x*y*z*z; - basis_y_eval[ipt + 6*npts] = y*y*(3*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 7*npts] = y*z*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 8*npts] = z*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 9*npts] = radial_eval_alpha*y*z*z*z; + basis_y_eval[ipt + 0*npts] = x0*x25; + basis_y_eval[ipt + 1*npts] = x15 + x26; + basis_y_eval[ipt + 2*npts] = x27; + basis_y_eval[ipt + 3*npts] = x*x28; + basis_y_eval[ipt + 4*npts] = x30*x6; + basis_y_eval[ipt + 5*npts] = x24; + basis_y_eval[ipt + 6*npts] = radial_eval_alpha*x31 + x11*x5; + basis_y_eval[ipt + 7*npts] = x28*z; + basis_y_eval[ipt + 8*npts] = x19 + x33; + basis_y_eval[ipt + 9*npts] = x25*x9; // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = radial_eval_alpha*x*x*x*z; - basis_z_eval[ipt + 1*npts] = radial_eval_alpha*x*x*y*z; - basis_z_eval[ipt + 2*npts] = x*x*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 3*npts] = radial_eval_alpha*x*y*y*z; - basis_z_eval[ipt + 4*npts] = x*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 5*npts] = x*z*(2*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 6*npts] = radial_eval_alpha*y*y*y*z; - basis_z_eval[ipt + 7*npts] = y*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 8*npts] = y*z*(2*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 9*npts] = z*z*(3*radial_eval + radial_eval_alpha*z*z); + basis_z_eval[ipt + 0*npts] = x0*x34; + basis_z_eval[ipt + 1*npts] = x27; + basis_z_eval[ipt + 2*npts] = x21 + x26; + basis_z_eval[ipt + 3*npts] = x23; + basis_z_eval[ipt + 4*npts] = x35*(radial_eval + x36); + basis_z_eval[ipt + 5*npts] = x*x37; + basis_z_eval[ipt + 6*npts] = x34*x8; + basis_z_eval[ipt + 7*npts] = x13 + x33; + basis_z_eval[ipt + 8*npts] = x37*y; + basis_z_eval[ipt + 9*npts] = radial_eval_alpha*x38 + x11*x7; // Evaluate second derivative of bfn wrt xx - basis_xx_eval[ipt + 0*npts] = x*(6*radial_eval + 7*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x); - basis_xx_eval[ipt + 1*npts] = y*(2*radial_eval + 5*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x); - basis_xx_eval[ipt + 2*npts] = z*(2*radial_eval + 5*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x); - basis_xx_eval[ipt + 3*npts] = x*y*y*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 4*npts] = x*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 5*npts] = x*z*z*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 6*npts] = y*y*y*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 7*npts] = y*y*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 8*npts] = y*z*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 9*npts] = z*z*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); + basis_xx_eval[ipt + 0*npts] = x42; + basis_xx_eval[ipt + 1*npts] = x46*y; + basis_xx_eval[ipt + 2*npts] = x46*z; + basis_xx_eval[ipt + 3*npts] = x*(x48 + x49); + basis_xx_eval[ipt + 4*npts] = x50*(x40 + x51); + basis_xx_eval[ipt + 5*npts] = x*(x52 + x53); + basis_xx_eval[ipt + 6*npts] = x54; + basis_xx_eval[ipt + 7*npts] = x49*z; + basis_xx_eval[ipt + 8*npts] = x53*y; + basis_xx_eval[ipt + 9*npts] = x55; // Evaluate second derivative of bfn wrt xy - basis_xy_eval[ipt + 0*npts] = x*x*y*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xy_eval[ipt + 1*npts] = x*(2*radial_eval + radial_eval_alpha*x*x + 2*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y); - basis_xy_eval[ipt + 2*npts] = x*y*z*(2*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xy_eval[ipt + 3*npts] = y*(2*radial_eval + 2*radial_eval_alpha*x*x + radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y); - basis_xy_eval[ipt + 4*npts] = z*(radial_eval + radial_eval_alpha*x*x + radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y); - basis_xy_eval[ipt + 5*npts] = y*z*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xy_eval[ipt + 6*npts] = x*y*y*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_xy_eval[ipt + 7*npts] = x*y*z*(2*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_xy_eval[ipt + 8*npts] = x*z*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_xy_eval[ipt + 9*npts] = radial_eval_alpha_squared*x*y*z*z*z; + basis_xy_eval[ipt + 0*npts] = x56*y; + basis_xy_eval[ipt + 1*npts] = radial_eval_alpha_squared*x0*x5 + x12 + x5*x57; + basis_xy_eval[ipt + 2*npts] = x58; + basis_xy_eval[ipt + 3*npts] = radial_eval_alpha_squared*x2*x8 + x2*x59 + x28; + basis_xy_eval[ipt + 4*npts] = z*(x18 + x61); + basis_xy_eval[ipt + 5*npts] = x63*y; + basis_xy_eval[ipt + 6*npts] = x*x64; + basis_xy_eval[ipt + 7*npts] = x65; + basis_xy_eval[ipt + 8*npts] = x*x67; + basis_xy_eval[ipt + 9*npts] = radial_eval_alpha_squared*x35*x9; // Evaluate second derivative of bfn wrt xz - basis_xz_eval[ipt + 0*npts] = x*x*z*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xz_eval[ipt + 1*npts] = x*y*z*(2*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xz_eval[ipt + 2*npts] = x*(2*radial_eval + radial_eval_alpha*x*x + 2*radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z); - basis_xz_eval[ipt + 3*npts] = y*y*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xz_eval[ipt + 4*npts] = y*(radial_eval + radial_eval_alpha*x*x + radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z); - basis_xz_eval[ipt + 5*npts] = z*(2*radial_eval + 2*radial_eval_alpha*x*x + radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z); - basis_xz_eval[ipt + 6*npts] = radial_eval_alpha_squared*x*y*y*y*z; - basis_xz_eval[ipt + 7*npts] = x*y*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_xz_eval[ipt + 8*npts] = x*y*z*(2*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_xz_eval[ipt + 9*npts] = x*z*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); + basis_xz_eval[ipt + 0*npts] = x56*z; + basis_xz_eval[ipt + 1*npts] = x58; + basis_xz_eval[ipt + 2*npts] = radial_eval_alpha_squared*x0*x7 + x12 + x57*x7; + basis_xz_eval[ipt + 3*npts] = x61*z; + basis_xz_eval[ipt + 4*npts] = y*(x18 + x63); + basis_xz_eval[ipt + 5*npts] = radial_eval_alpha_squared*x2*x9 + x2*x68 + x37; + basis_xz_eval[ipt + 6*npts] = radial_eval_alpha_squared*x6*x8; + basis_xz_eval[ipt + 7*npts] = x*(x29 + x66); + basis_xz_eval[ipt + 8*npts] = x69; + basis_xz_eval[ipt + 9*npts] = x*x70; // Evaluate second derivative of bfn wrt yy - basis_yy_eval[ipt + 0*npts] = x*x*x*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 1*npts] = x*x*y*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 2*npts] = x*x*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 3*npts] = x*(2*radial_eval + 5*radial_eval_alpha*y*y + radial_eval_alpha_squared*y*y*y*y); - basis_yy_eval[ipt + 4*npts] = x*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 5*npts] = x*z*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 6*npts] = y*(6*radial_eval + 7*radial_eval_alpha*y*y + radial_eval_alpha_squared*y*y*y*y); - basis_yy_eval[ipt + 7*npts] = z*(2*radial_eval + 5*radial_eval_alpha*y*y + radial_eval_alpha_squared*y*y*y*y); - basis_yy_eval[ipt + 8*npts] = y*z*z*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 9*npts] = z*z*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); + basis_yy_eval[ipt + 0*npts] = x73; + basis_yy_eval[ipt + 1*npts] = y*(x74 + x75); + basis_yy_eval[ipt + 2*npts] = x75*z; + basis_yy_eval[ipt + 3*npts] = x*x77; + basis_yy_eval[ipt + 4*npts] = x50*(x51 + x71); + basis_yy_eval[ipt + 5*npts] = x*x78; + basis_yy_eval[ipt + 6*npts] = x79; + basis_yy_eval[ipt + 7*npts] = x77*z; + basis_yy_eval[ipt + 8*npts] = y*(x52 + x78); + basis_yy_eval[ipt + 9*npts] = x80; // Evaluate second derivative of bfn wrt yz - basis_yz_eval[ipt + 0*npts] = radial_eval_alpha_squared*x*x*x*y*z; - basis_yz_eval[ipt + 1*npts] = x*x*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yz_eval[ipt + 2*npts] = x*x*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_yz_eval[ipt + 3*npts] = x*y*z*(2*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yz_eval[ipt + 4*npts] = x*(radial_eval + radial_eval_alpha*y*y + radial_eval_alpha*z*z + radial_eval_alpha_squared*y*y*z*z); - basis_yz_eval[ipt + 5*npts] = x*y*z*(2*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_yz_eval[ipt + 6*npts] = y*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yz_eval[ipt + 7*npts] = y*(2*radial_eval + radial_eval_alpha*y*y + 2*radial_eval_alpha*z*z + radial_eval_alpha_squared*y*y*z*z); - basis_yz_eval[ipt + 8*npts] = z*(2*radial_eval + 2*radial_eval_alpha*y*y + radial_eval_alpha*z*z + radial_eval_alpha_squared*y*y*z*z); - basis_yz_eval[ipt + 9*npts] = y*z*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); + basis_yz_eval[ipt + 0*npts] = radial_eval_alpha_squared*x0*x16; + basis_yz_eval[ipt + 1*npts] = z*(x17 + x60); + basis_yz_eval[ipt + 2*npts] = y*(x17 + x62); + basis_yz_eval[ipt + 3*npts] = x65; + basis_yz_eval[ipt + 4*npts] = x*(x30 + x67); + basis_yz_eval[ipt + 5*npts] = x69; + basis_yz_eval[ipt + 6*npts] = x64*z; + basis_yz_eval[ipt + 7*npts] = radial_eval_alpha_squared*x7*x8 + x28 + x59*x7; + basis_yz_eval[ipt + 8*npts] = radial_eval_alpha_squared*x5*x9 + x37 + x5*x68; + basis_yz_eval[ipt + 9*npts] = x70*y; // Evaluate second derivative of bfn wrt zz - basis_zz_eval[ipt + 0*npts] = x*x*x*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 1*npts] = x*x*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 2*npts] = x*x*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 3*npts] = x*y*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 4*npts] = x*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 5*npts] = x*(2*radial_eval + 5*radial_eval_alpha*z*z + radial_eval_alpha_squared*z*z*z*z); - basis_zz_eval[ipt + 6*npts] = y*y*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 7*npts] = y*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 8*npts] = y*(2*radial_eval + 5*radial_eval_alpha*z*z + radial_eval_alpha_squared*z*z*z*z); - basis_zz_eval[ipt + 9*npts] = z*(6*radial_eval + 7*radial_eval_alpha*z*z + radial_eval_alpha_squared*z*z*z*z); + basis_zz_eval[ipt + 0*npts] = x83; + basis_zz_eval[ipt + 1*npts] = x84*y; + basis_zz_eval[ipt + 2*npts] = z*(x74 + x84); + basis_zz_eval[ipt + 3*npts] = x*x85; + basis_zz_eval[ipt + 4*npts] = x50*(x51 + x81); + basis_zz_eval[ipt + 5*npts] = x*x87; + basis_zz_eval[ipt + 6*npts] = x88; + basis_zz_eval[ipt + 7*npts] = z*(x48 + x85); + basis_zz_eval[ipt + 8*npts] = x87*y; + basis_zz_eval[ipt + 9*npts] = x89; + + @@ -246,26 +341,26 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = radial_eval*x*x*x; - ang_eval_1 = radial_eval*x*x*y; - ang_eval_2 = radial_eval*x*x*z; - ang_eval_3 = radial_eval*x*y*y; + ang_eval_0 = radial_eval*x0; + ang_eval_1 = x1*x2; + ang_eval_2 = x2*x3; + ang_eval_3 = x4*x5; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = radial_eval*x*y*z; - ang_eval_1 = radial_eval*x*z*z; - ang_eval_2 = radial_eval*y*y*y; - ang_eval_3 = radial_eval*y*y*z; + ang_eval_0 = x1*x6; + ang_eval_1 = x4*x7; + ang_eval_2 = radial_eval*x8; + ang_eval_3 = x3*x5; basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; basis_eval[ipt + 6*npts] = ang_eval_2; basis_eval[ipt + 7*npts] = ang_eval_3; - ang_eval_0 = radial_eval*y*z*z; - ang_eval_1 = radial_eval*z*z*z; + ang_eval_0 = x1*x7; + ang_eval_1 = radial_eval*x9; basis_eval[ipt + 8*npts] = ang_eval_0; basis_eval[ipt + 9*npts] = ang_eval_1; @@ -275,18 +370,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = x*x*(3*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = radial_eval_alpha*x*x*x*y; - dang_eval_z_0 = radial_eval_alpha*x*x*x*z; - dang_eval_x_1 = x*y*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = x*x*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = radial_eval_alpha*x*x*y*z; - dang_eval_x_2 = x*z*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_2 = radial_eval_alpha*x*x*y*z; - dang_eval_z_2 = x*x*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_3 = y*y*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_3 = x*y*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = radial_eval_alpha*x*y*y*z; + dang_eval_x_0 = radial_eval_alpha*x10 + x11*x2; + dang_eval_y_0 = x0*x25; + dang_eval_z_0 = x0*x34; + dang_eval_x_1 = x12*y; + dang_eval_y_1 = x15 + x26; + dang_eval_z_1 = x27; + dang_eval_x_2 = x12*z; + dang_eval_y_2 = x27; + dang_eval_z_2 = x21 + x26; + dang_eval_x_3 = x13 + x15; + dang_eval_y_3 = x*x28; + dang_eval_z_3 = x23; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -300,18 +395,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = y*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = x*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = x*y*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = z*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = radial_eval_alpha*x*y*z*z; - dang_eval_z_1 = x*z*(2*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = radial_eval_alpha*x*y*y*y; - dang_eval_y_2 = y*y*(3*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_2 = radial_eval_alpha*y*y*y*z; - dang_eval_x_3 = radial_eval_alpha*x*y*y*z; - dang_eval_y_3 = y*z*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = y*y*(radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x16*x18; + dang_eval_y_0 = x30*x6; + dang_eval_z_0 = x35*(radial_eval + x36); + dang_eval_x_1 = x19 + x21; + dang_eval_y_1 = x24; + dang_eval_z_1 = x*x37; + dang_eval_x_2 = x22*x8; + dang_eval_y_2 = radial_eval_alpha*x31 + x11*x5; + dang_eval_z_2 = x34*x8; + dang_eval_x_3 = x23; + dang_eval_y_3 = x28*z; + dang_eval_z_3 = x13 + x33; basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; @@ -325,12 +420,12 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 7*npts] = dang_eval_y_3; basis_z_eval[ipt + 7*npts] = dang_eval_z_3; - dang_eval_x_0 = radial_eval_alpha*x*y*z*z; - dang_eval_y_0 = z*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = y*z*(2*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = radial_eval_alpha*x*z*z*z; - dang_eval_y_1 = radial_eval_alpha*y*z*z*z; - dang_eval_z_1 = z*z*(3*radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x24; + dang_eval_y_0 = x19 + x33; + dang_eval_z_0 = x37*y; + dang_eval_x_1 = x22*x9; + dang_eval_y_1 = x25*x9; + dang_eval_z_1 = radial_eval_alpha*x38 + x11*x7; basis_x_eval[ipt + 8*npts] = dang_eval_x_0; basis_y_eval[ipt + 8*npts] = dang_eval_y_0; basis_z_eval[ipt + 8*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3_lapgrad.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3_lapgrad.hpp new file mode 100644 index 00000000..bbf7b249 --- /dev/null +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3_lapgrad.hpp @@ -0,0 +1,561 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once +#include "collocation_device_constants.hpp" +#include "device/xc_device_task.hpp" +#include "device_specific/cuda_device_constants.hpp" +#include "device/common/shell_to_task.hpp" +#include + +namespace GauXC { + + +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_cartesian_lapgrad_3( + uint32_t nshell, + ShellToTaskDevice* __restrict__ shell_to_task, + XCDeviceTask* __restrict__ device_tasks +) { + + + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; + double* my_alpha = alpha[threadIdx.x/32]; + double* my_coeff = coeff[threadIdx.x/32]; + + for( auto ish = blockIdx.z; ish < nshell; ish += gridDim.z ) { + const uint32_t ntasks = shell_to_task[ish].ntask; + const auto shell = shell_to_task[ish].shell_device; + const auto task_idx = shell_to_task[ish].task_idx_device; + const auto task_shell_offs = shell_to_task[ish].task_shell_offs_device; + + + // Load Shell Data into registers / SM + const uint32_t nprim = shell->nprim(); + const double3 O = *reinterpret_cast(shell->O_data()); + + const int global_warp_id = (threadIdx.x + blockIdx.x*blockDim.x) / cuda::warp_size; + const int nwarp_global = max((blockDim.x*gridDim.x) / cuda::warp_size,1); + + // Read in coeffs/exps into SM on first warp + { + auto* coeff_gm = shell->coeff_data(); + auto* alpha_gm = shell->alpha_data(); + static_assert( detail::shell_nprim_max == cuda::warp_size ); + const int warp_rank = threadIdx.x % cuda::warp_size; + my_alpha[warp_rank] = alpha_gm[warp_rank]; + my_coeff[warp_rank] = coeff_gm[warp_rank]; + } + + // Loop over tasks assigned to shells + // Place each task on a different warp + schedule across blocks + for( int itask = global_warp_id; itask < ntasks; itask += nwarp_global ) { + + const auto* task = device_tasks + task_idx[itask]; + const auto* __restrict__ points_x = task->points_x; + const auto* __restrict__ points_y = task->points_y; + const auto* __restrict__ points_z = task->points_z; + const uint32_t npts = task->npts; + const size_t shoff = task_shell_offs[itask] * npts; + + auto* __restrict__ basis_eval = task->bf + shoff; + auto* __restrict__ basis_x_eval = task->dbfx + shoff; + auto* __restrict__ basis_y_eval = task->dbfy + shoff; + auto* __restrict__ basis_z_eval = task->dbfz + shoff; + auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; + auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; + auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; + auto* __restrict__ basis_yy_eval = task->d2bfyy + shoff; + auto* __restrict__ basis_yz_eval = task->d2bfyz + shoff; + auto* __restrict__ basis_zz_eval = task->d2bfzz + shoff; + auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; + auto* __restrict__ basis_lapl_x_eval = task->d3bflapl_x + shoff; + auto* __restrict__ basis_lapl_y_eval = task->d3bflapl_y + shoff; + auto* __restrict__ basis_lapl_z_eval = task->d3bflapl_z + shoff; + + // Loop over points in task + // Assign each point to separate thread within the warp + #pragma unroll 1 + for( int ipt = threadIdx.x % cuda::warp_size; ipt < npts; ipt += cuda::warp_size ) { + //const double3 point = points[ipt]; + double3 point; + point.x = points_x[ipt]; + point.y = points_y[ipt]; + point.z = points_z[ipt]; + + + const auto x = point.x - O.x; + const auto y = point.y - O.y; + const auto z = point.z - O.z; + const auto rsq = x*x + y*y + z*z; + + // Evaluate radial part of bfn + double radial_eval = 0.; + double radial_eval_alpha = 0.; + double radial_eval_alpha_squared = 0.; + double radial_eval_alpha_cubed = 0.; + + #pragma unroll 1 + for( uint32_t i = 0; i < nprim; ++i ) { + const auto a = my_alpha[i]; + const auto e = my_coeff[i] * std::exp( - a * rsq ); + + radial_eval += e; + radial_eval_alpha += a * e; + radial_eval_alpha_squared += a * a * e; + radial_eval_alpha_cubed += a * a * a * e; + } + + radial_eval_alpha *= -2; + radial_eval_alpha_squared *= 4; + radial_eval_alpha_cubed *= -8; + + // Common Subexpressions + const auto x0 = x*x*x; + const auto x1 = radial_eval*y; + const auto x2 = x*x; + const auto x3 = x2; + const auto x4 = radial_eval*z; + const auto x5 = radial_eval*x; + const auto x6 = y*y; + const auto x7 = x6; + const auto x8 = x*z; + const auto x9 = z*z; + const auto x10 = x9; + const auto x11 = y*y*y; + const auto x12 = z*z*z; + const auto x13 = x*x*x*x; + const auto x14 = 3.0*radial_eval; + const auto x15 = radial_eval_alpha*x0 + 2.0*x5; + const auto x16 = radial_eval*x7; + const auto x17 = x3*x7; + const auto x18 = radial_eval_alpha*x17; + const auto x19 = y*z; + const auto x20 = radial_eval_alpha*x3; + const auto x21 = radial_eval + x20; + const auto x22 = radial_eval*x10; + const auto x23 = x10*x3; + const auto x24 = radial_eval_alpha*x23; + const auto x25 = radial_eval_alpha*x; + const auto x26 = x25*x7*z; + const auto x27 = x10*x25*y; + const auto x28 = radial_eval_alpha*y; + const auto x29 = radial_eval*x3; + const auto x30 = radial_eval_alpha*x19*x3; + const auto x31 = radial_eval_alpha*x11 + 2.0*x1; + const auto x32 = radial_eval_alpha*x7; + const auto x33 = radial_eval + x32; + const auto x34 = y*y*y*y; + const auto x35 = x10*x7; + const auto x36 = radial_eval_alpha*x35; + const auto x37 = radial_eval_alpha*z; + const auto x38 = x*y; + const auto x39 = radial_eval_alpha*x10; + const auto x40 = radial_eval_alpha*x12 + 2.0*x4; + const auto x41 = z*z*z*z; + const auto x42 = 6.0*radial_eval_alpha; + const auto x43 = radial_eval_alpha_squared*x3; + const auto x44 = radial_eval_alpha + x43; + const auto x45 = x0*x42 + x0*x44 + 6.0*x5; + const auto x46 = 4.0*radial_eval_alpha; + const auto x47 = 2.0*radial_eval; + const auto x48 = x3*x44; + const auto x49 = x47 + x48; + const auto x50 = x3*x46 + x49; + const auto x51 = 2.0*radial_eval_alpha; + const auto x52 = x51*x7; + const auto x53 = x44*x7; + const auto x54 = x*x19; + const auto x55 = 3.0*radial_eval_alpha; + const auto x56 = x10*x51; + const auto x57 = x10*x44; + const auto x58 = x11*x44; + const auto x59 = x12*x44; + const auto x60 = radial_eval_alpha_squared*x13 + x3*x55; + const auto x61 = 2.0*x25; + const auto x62 = x19*(radial_eval_alpha_squared*x0 + x61); + const auto x63 = 2.0*x28; + const auto x64 = radial_eval_alpha_squared*x17; + const auto x65 = x32 + x64; + const auto x66 = radial_eval_alpha_squared*x23; + const auto x67 = x39 + x66; + const auto x68 = radial_eval_alpha_squared*x34 + x55*x7; + const auto x69 = x8*(radial_eval_alpha_squared*x11 + x63); + const auto x70 = radial_eval_alpha_squared*x35; + const auto x71 = x39 + x70; + const auto x72 = 2.0*x37; + const auto x73 = x38*(radial_eval_alpha_squared*x12 + x72); + const auto x74 = radial_eval_alpha_squared*x41 + x10*x55; + const auto x75 = radial_eval_alpha_squared*x7; + const auto x76 = radial_eval_alpha + x75; + const auto x77 = x0*x76; + const auto x78 = x3*x51; + const auto x79 = x3*x76; + const auto x80 = x7*x76; + const auto x81 = x47 + x80; + const auto x82 = x46*x7 + x81; + const auto x83 = x10*x76; + const auto x84 = 6.0*x1 + x11*x42 + x11*x76; + const auto x85 = x12*x76; + const auto x86 = radial_eval_alpha_squared*x10; + const auto x87 = radial_eval_alpha + x86; + const auto x88 = x0*x87; + const auto x89 = x3*x87; + const auto x90 = x7*x87; + const auto x91 = x10*x87; + const auto x92 = x47 + x91; + const auto x93 = x10*x46 + x92; + const auto x94 = x11*x87; + const auto x95 = x12*x42 + x12*x87 + 6.0*x4; + const auto x96 = x3*x42 + x49 + x79 + x89; + const auto x97 = x42*x7 + x53 + x81 + x90; + const auto x98 = x75 + x86; + const auto x99 = x10*x42 + x57 + x83 + x92; + const auto x100 = 6.0*radial_eval; + const auto x101 = 18.0*radial_eval_alpha; + const auto x102 = 3.0*x79; + const auto x103 = 3.0*x89; + const auto x104 = radial_eval_alpha_cubed*x7 + radial_eval_alpha_squared; + const auto x105 = x0*x104; + const auto x106 = radial_eval_alpha_cubed*x10 + radial_eval_alpha_squared; + const auto x107 = x0*x106; + const auto x108 = 3.0*radial_eval_alpha_squared; + const auto x109 = radial_eval_alpha_cubed*x0 + x*x108; + const auto x110 = 2.0*radial_eval_alpha_squared; + const auto x111 = 6.0*x; + const auto x112 = 2.0*x; + const auto x113 = x104*x3; + const auto x114 = x106*x3; + const auto x115 = x*x113 + x*x114 + x0*x110 + x109*x3 + x111*x44 + x112*x76 + x112*x87 + 10.0*x25; + const auto x116 = 3.0*x53; + const auto x117 = x109*x7; + const auto x118 = x104*x7; + const auto x119 = x106*x7; + const auto x120 = 4.0*radial_eval_alpha_squared; + const auto x121 = x120*x17; + const auto x122 = 3.0*x57; + const auto x123 = x10*x109; + const auto x124 = x10*x104; + const auto x125 = x10*x106; + const auto x126 = x120*x23; + const auto x127 = 6.0*y; + const auto x128 = x127*x25; + const auto x129 = radial_eval_alpha_squared*x111; + const auto x130 = x104*x11; + const auto x131 = x106*x11; + const auto x132 = 6.0*z; + const auto x133 = x132*x25; + const auto x134 = x104*x12; + const auto x135 = x106*x12; + const auto x136 = radial_eval_alpha_squared*x127; + const auto x137 = radial_eval_alpha_cubed*x3 + radial_eval_alpha_squared; + const auto x138 = x0*x137; + const auto x139 = radial_eval_alpha_cubed*x11 + x108*y; + const auto x140 = x139*x3; + const auto x141 = x137*x3; + const auto x142 = 2.0*y; + const auto x143 = x137*x7; + const auto x144 = x11*x110 + x119*y + x127*x76 + x139*x7 + x142*x44 + x142*x87 + x143*y + 10.0*x28; + const auto x145 = x42 + x43; + const auto x146 = x10*x137; + const auto x147 = x10*x139; + const auto x148 = 3.0*x90; + const auto x149 = x11*x137; + const auto x150 = 3.0*x83; + const auto x151 = x120*x35; + const auto x152 = x19*x42; + const auto x153 = x12*x137; + const auto x154 = radial_eval_alpha_squared*x132; + const auto x155 = radial_eval_alpha_cubed*x12 + x108*z; + const auto x156 = x155*x3; + const auto x157 = x155*x7; + const auto x158 = 2.0*z; + const auto x159 = x10*x155 + x110*x12 + x124*z + x132*x87 + x146*z + x158*x44 + x158*x76 + 10.0*x37; + + + // Evaluate basis function + basis_eval[ipt + 0*npts] = radial_eval*x0; + basis_eval[ipt + 1*npts] = x1*x3; + basis_eval[ipt + 2*npts] = x3*x4; + basis_eval[ipt + 3*npts] = x5*x7; + basis_eval[ipt + 4*npts] = x1*x8; + basis_eval[ipt + 5*npts] = x10*x5; + basis_eval[ipt + 6*npts] = radial_eval*x11; + basis_eval[ipt + 7*npts] = x4*x7; + basis_eval[ipt + 8*npts] = x1*x10; + basis_eval[ipt + 9*npts] = radial_eval*x12; + + + + // Evaluate first derivative of bfn wrt x + basis_x_eval[ipt + 0*npts] = radial_eval_alpha*x13 + x14*x3; + basis_x_eval[ipt + 1*npts] = x15*y; + basis_x_eval[ipt + 2*npts] = x15*z; + basis_x_eval[ipt + 3*npts] = x16 + x18; + basis_x_eval[ipt + 4*npts] = x19*x21; + basis_x_eval[ipt + 5*npts] = x22 + x24; + basis_x_eval[ipt + 6*npts] = x11*x25; + basis_x_eval[ipt + 7*npts] = x26; + basis_x_eval[ipt + 8*npts] = x27; + basis_x_eval[ipt + 9*npts] = x12*x25; + + // Evaluate first derivative of bfn wrt y + basis_y_eval[ipt + 0*npts] = x0*x28; + basis_y_eval[ipt + 1*npts] = x18 + x29; + basis_y_eval[ipt + 2*npts] = x30; + basis_y_eval[ipt + 3*npts] = x*x31; + basis_y_eval[ipt + 4*npts] = x33*x8; + basis_y_eval[ipt + 5*npts] = x27; + basis_y_eval[ipt + 6*npts] = radial_eval_alpha*x34 + x14*x7; + basis_y_eval[ipt + 7*npts] = x31*z; + basis_y_eval[ipt + 8*npts] = x22 + x36; + basis_y_eval[ipt + 9*npts] = x12*x28; + + // Evaluate first derivative of bfn wrt z + basis_z_eval[ipt + 0*npts] = x0*x37; + basis_z_eval[ipt + 1*npts] = x30; + basis_z_eval[ipt + 2*npts] = x24 + x29; + basis_z_eval[ipt + 3*npts] = x26; + basis_z_eval[ipt + 4*npts] = x38*(radial_eval + x39); + basis_z_eval[ipt + 5*npts] = x*x40; + basis_z_eval[ipt + 6*npts] = x11*x37; + basis_z_eval[ipt + 7*npts] = x16 + x36; + basis_z_eval[ipt + 8*npts] = x40*y; + basis_z_eval[ipt + 9*npts] = radial_eval_alpha*x41 + x10*x14; + + // Evaluate second derivative of bfn wrt xx + basis_xx_eval[ipt + 0*npts] = x45; + basis_xx_eval[ipt + 1*npts] = x50*y; + basis_xx_eval[ipt + 2*npts] = x50*z; + basis_xx_eval[ipt + 3*npts] = x*(x52 + x53); + basis_xx_eval[ipt + 4*npts] = x54*(x43 + x55); + basis_xx_eval[ipt + 5*npts] = x*(x56 + x57); + basis_xx_eval[ipt + 6*npts] = x58; + basis_xx_eval[ipt + 7*npts] = x53*z; + basis_xx_eval[ipt + 8*npts] = x57*y; + basis_xx_eval[ipt + 9*npts] = x59; + + // Evaluate second derivative of bfn wrt xy + basis_xy_eval[ipt + 0*npts] = x60*y; + basis_xy_eval[ipt + 1*npts] = radial_eval_alpha_squared*x0*x7 + x15 + x61*x7; + basis_xy_eval[ipt + 2*npts] = x62; + basis_xy_eval[ipt + 3*npts] = radial_eval_alpha_squared*x11*x3 + x3*x63 + x31; + basis_xy_eval[ipt + 4*npts] = z*(x21 + x65); + basis_xy_eval[ipt + 5*npts] = x67*y; + basis_xy_eval[ipt + 6*npts] = x*x68; + basis_xy_eval[ipt + 7*npts] = x69; + basis_xy_eval[ipt + 8*npts] = x*x71; + basis_xy_eval[ipt + 9*npts] = radial_eval_alpha_squared*x12*x38; + + // Evaluate second derivative of bfn wrt xz + basis_xz_eval[ipt + 0*npts] = x60*z; + basis_xz_eval[ipt + 1*npts] = x62; + basis_xz_eval[ipt + 2*npts] = radial_eval_alpha_squared*x0*x10 + x10*x61 + x15; + basis_xz_eval[ipt + 3*npts] = x65*z; + basis_xz_eval[ipt + 4*npts] = y*(x21 + x67); + basis_xz_eval[ipt + 5*npts] = radial_eval_alpha_squared*x12*x3 + x3*x72 + x40; + basis_xz_eval[ipt + 6*npts] = radial_eval_alpha_squared*x11*x8; + basis_xz_eval[ipt + 7*npts] = x*(x32 + x70); + basis_xz_eval[ipt + 8*npts] = x73; + basis_xz_eval[ipt + 9*npts] = x*x74; + + // Evaluate second derivative of bfn wrt yy + basis_yy_eval[ipt + 0*npts] = x77; + basis_yy_eval[ipt + 1*npts] = y*(x78 + x79); + basis_yy_eval[ipt + 2*npts] = x79*z; + basis_yy_eval[ipt + 3*npts] = x*x82; + basis_yy_eval[ipt + 4*npts] = x54*(x55 + x75); + basis_yy_eval[ipt + 5*npts] = x*x83; + basis_yy_eval[ipt + 6*npts] = x84; + basis_yy_eval[ipt + 7*npts] = x82*z; + basis_yy_eval[ipt + 8*npts] = y*(x56 + x83); + basis_yy_eval[ipt + 9*npts] = x85; + + // Evaluate second derivative of bfn wrt yz + basis_yz_eval[ipt + 0*npts] = radial_eval_alpha_squared*x0*x19; + basis_yz_eval[ipt + 1*npts] = z*(x20 + x64); + basis_yz_eval[ipt + 2*npts] = y*(x20 + x66); + basis_yz_eval[ipt + 3*npts] = x69; + basis_yz_eval[ipt + 4*npts] = x*(x33 + x71); + basis_yz_eval[ipt + 5*npts] = x73; + basis_yz_eval[ipt + 6*npts] = x68*z; + basis_yz_eval[ipt + 7*npts] = radial_eval_alpha_squared*x10*x11 + x10*x63 + x31; + basis_yz_eval[ipt + 8*npts] = radial_eval_alpha_squared*x12*x7 + x40 + x7*x72; + basis_yz_eval[ipt + 9*npts] = x74*y; + + // Evaluate second derivative of bfn wrt zz + basis_zz_eval[ipt + 0*npts] = x88; + basis_zz_eval[ipt + 1*npts] = x89*y; + basis_zz_eval[ipt + 2*npts] = z*(x78 + x89); + basis_zz_eval[ipt + 3*npts] = x*x90; + basis_zz_eval[ipt + 4*npts] = x54*(x55 + x86); + basis_zz_eval[ipt + 5*npts] = x*x93; + basis_zz_eval[ipt + 6*npts] = x94; + basis_zz_eval[ipt + 7*npts] = z*(x52 + x90); + basis_zz_eval[ipt + 8*npts] = x93*y; + basis_zz_eval[ipt + 9*npts] = x95; + + // Evaluate Laplacian of bfn + basis_lapl_eval[ipt + 0*npts] = x45 + x77 + x88; + basis_lapl_eval[ipt + 1*npts] = x96*y; + basis_lapl_eval[ipt + 2*npts] = x96*z; + basis_lapl_eval[ipt + 3*npts] = x*x97; + basis_lapl_eval[ipt + 4*npts] = x54*(9.0*radial_eval_alpha + x43 + x98); + basis_lapl_eval[ipt + 5*npts] = x*x99; + basis_lapl_eval[ipt + 6*npts] = x58 + x84 + x94; + basis_lapl_eval[ipt + 7*npts] = x97*z; + basis_lapl_eval[ipt + 8*npts] = x99*y; + basis_lapl_eval[ipt + 9*npts] = x59 + x85 + x95; + + // Evaluate Laplacian gradient of bfn (dx) + basis_lapl_x_eval[ipt + 0*npts] = x*x105 + x*x107 + x0*x109 + x100 + x101*x3 + x102 + x103 + 9.0*x48; + basis_lapl_x_eval[ipt + 1*npts] = x115*y; + basis_lapl_x_eval[ipt + 2*npts] = x115*z; + basis_lapl_x_eval[ipt + 3*npts] = x*x117 + x116 + x118*x2 + x119*x2 + x121 + x78 + x82 + x90; + basis_lapl_x_eval[ipt + 4*npts] = x19*(x*x109 + x104*x2 + x106*x2 + x120*x3 + x42 + 3.0*x44 + x98); + basis_lapl_x_eval[ipt + 5*npts] = x*x123 + x122 + x124*x2 + x125*x2 + x126 + x78 + x83 + x93; + basis_lapl_x_eval[ipt + 6*npts] = x*x130 + x*x131 + x109*x11 + x11*x129 + x128; + basis_lapl_x_eval[ipt + 7*npts] = z*(x*x118 + x*x119 + x117 + x129*x7 + x61); + basis_lapl_x_eval[ipt + 8*npts] = y*(x*x124 + x*x125 + x10*x129 + x123 + x61); + basis_lapl_x_eval[ipt + 9*npts] = x*x134 + x*x135 + x109*x12 + x12*x129 + x133; + // Evaluate Laplacian gradient of bfn (dy) + basis_lapl_y_eval[ipt + 0*npts] = x0*x136 + x0*x139 + x107*y + x128 + x138*y; + basis_lapl_y_eval[ipt + 1*npts] = x102 + x114*x6 + x121 + x140*y + x141*x6 + x50 + x52 + x89; + basis_lapl_y_eval[ipt + 2*npts] = z*(x114*y + x136*x3 + x140 + x141*y + x63); + basis_lapl_y_eval[ipt + 3*npts] = x*x144; + basis_lapl_y_eval[ipt + 4*npts] = x8*(x106*x6 + x120*x7 + x137*x6 + x139*y + x145 + 3.0*x76 + x86); + basis_lapl_y_eval[ipt + 5*npts] = x*(x10*x136 + x125*y + x146*y + x147 + x63); + basis_lapl_y_eval[ipt + 6*npts] = x100 + x101*x7 + x11*x139 + x116 + x131*y + x148 + x149*y + 9.0*x80; + basis_lapl_y_eval[ipt + 7*npts] = x144*z; + basis_lapl_y_eval[ipt + 8*npts] = x125*x6 + x146*x6 + x147*y + x150 + x151 + x52 + x57 + x93; + basis_lapl_y_eval[ipt + 9*npts] = x12*x136 + x12*x139 + x135*y + x152 + x153*y; + // Evaluate Laplacian gradient of bfn (dz) + basis_lapl_z_eval[ipt + 0*npts] = x0*x154 + x0*x155 + x105*z + x133 + x138*z; + basis_lapl_z_eval[ipt + 1*npts] = y*(x113*z + x141*z + x154*x3 + x156 + x72); + basis_lapl_z_eval[ipt + 2*npts] = x103 + x113*x9 + x126 + x141*x9 + x156*z + x50 + x56 + x79; + basis_lapl_z_eval[ipt + 3*npts] = x*(x118*z + x143*z + x154*x7 + x157 + x72); + basis_lapl_z_eval[ipt + 4*npts] = x38*(x10*x120 + x104*x9 + x137*x9 + x145 + x155*z + x75 + 3.0*x87); + basis_lapl_z_eval[ipt + 5*npts] = x*x159; + basis_lapl_z_eval[ipt + 6*npts] = x11*x154 + x11*x155 + x130*z + x149*z + x152; + basis_lapl_z_eval[ipt + 7*npts] = x118*x9 + x143*x9 + x148 + x151 + x157*z + x53 + x56 + x82; + basis_lapl_z_eval[ipt + 8*npts] = x159*y; + basis_lapl_z_eval[ipt + 9*npts] = x10*x101 + x100 + x12*x155 + x122 + x134*z + x150 + x153*z + 9.0*x91; + + + + +#if 0 + // Evaluate the angular part of bfn + + + + double ang_eval_0; + double ang_eval_1; + double ang_eval_2; + double ang_eval_3; + + + ang_eval_0 = radial_eval*x0; + ang_eval_1 = x1*x3; + ang_eval_2 = x3*x4; + ang_eval_3 = x5*x7; + basis_eval[ipt + 0*npts] = ang_eval_0; + basis_eval[ipt + 1*npts] = ang_eval_1; + basis_eval[ipt + 2*npts] = ang_eval_2; + basis_eval[ipt + 3*npts] = ang_eval_3; + + ang_eval_0 = x1*x8; + ang_eval_1 = x10*x5; + ang_eval_2 = radial_eval*x11; + ang_eval_3 = x4*x7; + basis_eval[ipt + 4*npts] = ang_eval_0; + basis_eval[ipt + 5*npts] = ang_eval_1; + basis_eval[ipt + 6*npts] = ang_eval_2; + basis_eval[ipt + 7*npts] = ang_eval_3; + + ang_eval_0 = x1*x10; + ang_eval_1 = radial_eval*x12; + basis_eval[ipt + 8*npts] = ang_eval_0; + basis_eval[ipt + 9*npts] = ang_eval_1; + + + double dang_eval_x_0, dang_eval_y_0, dang_eval_z_0; + double dang_eval_x_1, dang_eval_y_1, dang_eval_z_1; + double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; + double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; + + dang_eval_x_0 = radial_eval_alpha*x13 + x14*x3; + dang_eval_y_0 = x0*x28; + dang_eval_z_0 = x0*x37; + dang_eval_x_1 = x15*y; + dang_eval_y_1 = x18 + x29; + dang_eval_z_1 = x30; + dang_eval_x_2 = x15*z; + dang_eval_y_2 = x30; + dang_eval_z_2 = x24 + x29; + dang_eval_x_3 = x16 + x18; + dang_eval_y_3 = x*x31; + dang_eval_z_3 = x26; + basis_x_eval[ipt + 0*npts] = dang_eval_x_0; + basis_y_eval[ipt + 0*npts] = dang_eval_y_0; + basis_z_eval[ipt + 0*npts] = dang_eval_z_0; + basis_x_eval[ipt + 1*npts] = dang_eval_x_1; + basis_y_eval[ipt + 1*npts] = dang_eval_y_1; + basis_z_eval[ipt + 1*npts] = dang_eval_z_1; + basis_x_eval[ipt + 2*npts] = dang_eval_x_2; + basis_y_eval[ipt + 2*npts] = dang_eval_y_2; + basis_z_eval[ipt + 2*npts] = dang_eval_z_2; + basis_x_eval[ipt + 3*npts] = dang_eval_x_3; + basis_y_eval[ipt + 3*npts] = dang_eval_y_3; + basis_z_eval[ipt + 3*npts] = dang_eval_z_3; + + dang_eval_x_0 = x19*x21; + dang_eval_y_0 = x33*x8; + dang_eval_z_0 = x38*(radial_eval + x39); + dang_eval_x_1 = x22 + x24; + dang_eval_y_1 = x27; + dang_eval_z_1 = x*x40; + dang_eval_x_2 = x11*x25; + dang_eval_y_2 = radial_eval_alpha*x34 + x14*x7; + dang_eval_z_2 = x11*x37; + dang_eval_x_3 = x26; + dang_eval_y_3 = x31*z; + dang_eval_z_3 = x16 + x36; + basis_x_eval[ipt + 4*npts] = dang_eval_x_0; + basis_y_eval[ipt + 4*npts] = dang_eval_y_0; + basis_z_eval[ipt + 4*npts] = dang_eval_z_0; + basis_x_eval[ipt + 5*npts] = dang_eval_x_1; + basis_y_eval[ipt + 5*npts] = dang_eval_y_1; + basis_z_eval[ipt + 5*npts] = dang_eval_z_1; + basis_x_eval[ipt + 6*npts] = dang_eval_x_2; + basis_y_eval[ipt + 6*npts] = dang_eval_y_2; + basis_z_eval[ipt + 6*npts] = dang_eval_z_2; + basis_x_eval[ipt + 7*npts] = dang_eval_x_3; + basis_y_eval[ipt + 7*npts] = dang_eval_y_3; + basis_z_eval[ipt + 7*npts] = dang_eval_z_3; + + dang_eval_x_0 = x27; + dang_eval_y_0 = x22 + x36; + dang_eval_z_0 = x40*y; + dang_eval_x_1 = x12*x25; + dang_eval_y_1 = x12*x28; + dang_eval_z_1 = radial_eval_alpha*x41 + x10*x14; + basis_x_eval[ipt + 8*npts] = dang_eval_x_0; + basis_y_eval[ipt + 8*npts] = dang_eval_y_0; + basis_z_eval[ipt + 8*npts] = dang_eval_z_0; + basis_x_eval[ipt + 9*npts] = dang_eval_x_1; + basis_y_eval[ipt + 9*npts] = dang_eval_y_1; + basis_z_eval[ipt + 9*npts] = dang_eval_z_1; + +#endif + } // Loop over points within task + } // Loop over tasks + + } // Loop over shells +} // end kernel + +} // namespace GauXC diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3_laplacian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3_laplacian.hpp index 4811a3fd..e477255e 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3_laplacian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l3_laplacian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_cartesian_laplacian_3( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_cartesian_laplacian_3( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; // Loop over points in task @@ -103,69 +102,165 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = x*x*x; + const auto x1 = radial_eval*y; + const auto x2 = x*x; + const auto x3 = radial_eval*z; + const auto x4 = radial_eval*x; + const auto x5 = y*y; + const auto x6 = x*z; + const auto x7 = z*z; + const auto x8 = y*y*y; + const auto x9 = z*z*z; + const auto x10 = x*x*x*x; + const auto x11 = 3.0*radial_eval; + const auto x12 = radial_eval_alpha*x0 + 2.0*x4; + const auto x13 = radial_eval*x5; + const auto x14 = x2*x5; + const auto x15 = radial_eval_alpha*x14; + const auto x16 = y*z; + const auto x17 = radial_eval_alpha*x2; + const auto x18 = radial_eval + x17; + const auto x19 = radial_eval*x7; + const auto x20 = x2*x7; + const auto x21 = radial_eval_alpha*x20; + const auto x22 = radial_eval_alpha*x; + const auto x23 = x22*x5*z; + const auto x24 = x22*x7*y; + const auto x25 = radial_eval_alpha*y; + const auto x26 = radial_eval*x2; + const auto x27 = radial_eval_alpha*x16*x2; + const auto x28 = radial_eval_alpha*x8 + 2.0*x1; + const auto x29 = radial_eval_alpha*x5; + const auto x30 = radial_eval + x29; + const auto x31 = y*y*y*y; + const auto x32 = x5*x7; + const auto x33 = radial_eval_alpha*x32; + const auto x34 = radial_eval_alpha*z; + const auto x35 = x*y; + const auto x36 = radial_eval_alpha*x7; + const auto x37 = radial_eval_alpha*x9 + 2.0*x3; + const auto x38 = z*z*z*z; + const auto x39 = 6.0*radial_eval_alpha; + const auto x40 = radial_eval_alpha_squared*x2; + const auto x41 = radial_eval_alpha + x40; + const auto x42 = x0*x39 + x0*x41 + 6.0*x4; + const auto x43 = 4.0*radial_eval_alpha; + const auto x44 = 2.0*radial_eval; + const auto x45 = x2*x41 + x44; + const auto x46 = x2*x43 + x45; + const auto x47 = 2.0*radial_eval_alpha; + const auto x48 = x47*x5; + const auto x49 = x41*x5; + const auto x50 = x*x16; + const auto x51 = 3.0*radial_eval_alpha; + const auto x52 = x47*x7; + const auto x53 = x41*x7; + const auto x54 = x41*x8; + const auto x55 = x41*x9; + const auto x56 = radial_eval_alpha_squared*x10 + x2*x51; + const auto x57 = 2.0*x22; + const auto x58 = x16*(radial_eval_alpha_squared*x0 + x57); + const auto x59 = 2.0*x25; + const auto x60 = radial_eval_alpha_squared*x14; + const auto x61 = x29 + x60; + const auto x62 = radial_eval_alpha_squared*x20; + const auto x63 = x36 + x62; + const auto x64 = radial_eval_alpha_squared*x31 + x5*x51; + const auto x65 = x6*(radial_eval_alpha_squared*x8 + x59); + const auto x66 = radial_eval_alpha_squared*x32; + const auto x67 = x36 + x66; + const auto x68 = 2.0*x34; + const auto x69 = x35*(radial_eval_alpha_squared*x9 + x68); + const auto x70 = radial_eval_alpha_squared*x38 + x51*x7; + const auto x71 = radial_eval_alpha_squared*x5; + const auto x72 = radial_eval_alpha + x71; + const auto x73 = x0*x72; + const auto x74 = x2*x47; + const auto x75 = x2*x72; + const auto x76 = x44 + x5*x72; + const auto x77 = x43*x5 + x76; + const auto x78 = x7*x72; + const auto x79 = 6.0*x1 + x39*x8 + x72*x8; + const auto x80 = x72*x9; + const auto x81 = radial_eval_alpha_squared*x7; + const auto x82 = radial_eval_alpha + x81; + const auto x83 = x0*x82; + const auto x84 = x2*x82; + const auto x85 = x5*x82; + const auto x86 = x44 + x7*x82; + const auto x87 = x43*x7 + x86; + const auto x88 = x8*x82; + const auto x89 = 6.0*x3 + x39*x9 + x82*x9; + const auto x90 = x2*x39 + x45 + x75 + x84; + const auto x91 = x39*x5 + x49 + x76 + x85; + const auto x92 = x39*x7 + x53 + x78 + x86; + // Evaluate basis function - basis_eval[ipt + 0*npts] = radial_eval*x*x*x; - basis_eval[ipt + 1*npts] = radial_eval*x*x*y; - basis_eval[ipt + 2*npts] = radial_eval*x*x*z; - basis_eval[ipt + 3*npts] = radial_eval*x*y*y; - basis_eval[ipt + 4*npts] = radial_eval*x*y*z; - basis_eval[ipt + 5*npts] = radial_eval*x*z*z; - basis_eval[ipt + 6*npts] = radial_eval*y*y*y; - basis_eval[ipt + 7*npts] = radial_eval*y*y*z; - basis_eval[ipt + 8*npts] = radial_eval*y*z*z; - basis_eval[ipt + 9*npts] = radial_eval*z*z*z; + basis_eval[ipt + 0*npts] = radial_eval*x0; + basis_eval[ipt + 1*npts] = x1*x2; + basis_eval[ipt + 2*npts] = x2*x3; + basis_eval[ipt + 3*npts] = x4*x5; + basis_eval[ipt + 4*npts] = x1*x6; + basis_eval[ipt + 5*npts] = x4*x7; + basis_eval[ipt + 6*npts] = radial_eval*x8; + basis_eval[ipt + 7*npts] = x3*x5; + basis_eval[ipt + 8*npts] = x1*x7; + basis_eval[ipt + 9*npts] = radial_eval*x9; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = x*x*(3*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 1*npts] = x*y*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 2*npts] = x*z*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 3*npts] = y*y*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 4*npts] = y*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 5*npts] = z*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 6*npts] = radial_eval_alpha*x*y*y*y; - basis_x_eval[ipt + 7*npts] = radial_eval_alpha*x*y*y*z; - basis_x_eval[ipt + 8*npts] = radial_eval_alpha*x*y*z*z; - basis_x_eval[ipt + 9*npts] = radial_eval_alpha*x*z*z*z; + basis_x_eval[ipt + 0*npts] = radial_eval_alpha*x10 + x11*x2; + basis_x_eval[ipt + 1*npts] = x12*y; + basis_x_eval[ipt + 2*npts] = x12*z; + basis_x_eval[ipt + 3*npts] = x13 + x15; + basis_x_eval[ipt + 4*npts] = x16*x18; + basis_x_eval[ipt + 5*npts] = x19 + x21; + basis_x_eval[ipt + 6*npts] = x22*x8; + basis_x_eval[ipt + 7*npts] = x23; + basis_x_eval[ipt + 8*npts] = x24; + basis_x_eval[ipt + 9*npts] = x22*x9; // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = radial_eval_alpha*x*x*x*y; - basis_y_eval[ipt + 1*npts] = x*x*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 2*npts] = radial_eval_alpha*x*x*y*z; - basis_y_eval[ipt + 3*npts] = x*y*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 4*npts] = x*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 5*npts] = radial_eval_alpha*x*y*z*z; - basis_y_eval[ipt + 6*npts] = y*y*(3*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 7*npts] = y*z*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 8*npts] = z*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 9*npts] = radial_eval_alpha*y*z*z*z; + basis_y_eval[ipt + 0*npts] = x0*x25; + basis_y_eval[ipt + 1*npts] = x15 + x26; + basis_y_eval[ipt + 2*npts] = x27; + basis_y_eval[ipt + 3*npts] = x*x28; + basis_y_eval[ipt + 4*npts] = x30*x6; + basis_y_eval[ipt + 5*npts] = x24; + basis_y_eval[ipt + 6*npts] = radial_eval_alpha*x31 + x11*x5; + basis_y_eval[ipt + 7*npts] = x28*z; + basis_y_eval[ipt + 8*npts] = x19 + x33; + basis_y_eval[ipt + 9*npts] = x25*x9; // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = radial_eval_alpha*x*x*x*z; - basis_z_eval[ipt + 1*npts] = radial_eval_alpha*x*x*y*z; - basis_z_eval[ipt + 2*npts] = x*x*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 3*npts] = radial_eval_alpha*x*y*y*z; - basis_z_eval[ipt + 4*npts] = x*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 5*npts] = x*z*(2*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 6*npts] = radial_eval_alpha*y*y*y*z; - basis_z_eval[ipt + 7*npts] = y*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 8*npts] = y*z*(2*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 9*npts] = z*z*(3*radial_eval + radial_eval_alpha*z*z); + basis_z_eval[ipt + 0*npts] = x0*x34; + basis_z_eval[ipt + 1*npts] = x27; + basis_z_eval[ipt + 2*npts] = x21 + x26; + basis_z_eval[ipt + 3*npts] = x23; + basis_z_eval[ipt + 4*npts] = x35*(radial_eval + x36); + basis_z_eval[ipt + 5*npts] = x*x37; + basis_z_eval[ipt + 6*npts] = x34*x8; + basis_z_eval[ipt + 7*npts] = x13 + x33; + basis_z_eval[ipt + 8*npts] = x37*y; + basis_z_eval[ipt + 9*npts] = radial_eval_alpha*x38 + x11*x7; + // Evaluate Laplacian of bfn - basis_lapl_eval[ipt + 0*npts] = x*(6*radial_eval + 9*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x + radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*x*x*z*z); - basis_lapl_eval[ipt + 1*npts] = y*(2*radial_eval + 9*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x + radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*x*x*z*z); - basis_lapl_eval[ipt + 2*npts] = z*(2*radial_eval + 9*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x + radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*x*x*z*z); - basis_lapl_eval[ipt + 3*npts] = x*(2*radial_eval + 9*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*y*y*y*y + radial_eval_alpha_squared*y*y*z*z); - basis_lapl_eval[ipt + 4*npts] = x*y*z*(9*radial_eval_alpha + radial_eval_alpha_squared*x*x + radial_eval_alpha_squared*y*y + radial_eval_alpha_squared*z*z); - basis_lapl_eval[ipt + 5*npts] = x*(2*radial_eval + 9*radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z + radial_eval_alpha_squared*y*y*z*z + radial_eval_alpha_squared*z*z*z*z); - basis_lapl_eval[ipt + 6*npts] = y*(6*radial_eval + 9*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*y*y*y*y + radial_eval_alpha_squared*y*y*z*z); - basis_lapl_eval[ipt + 7*npts] = z*(2*radial_eval + 9*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*y*y*y*y + radial_eval_alpha_squared*y*y*z*z); - basis_lapl_eval[ipt + 8*npts] = y*(2*radial_eval + 9*radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z + radial_eval_alpha_squared*y*y*z*z + radial_eval_alpha_squared*z*z*z*z); - basis_lapl_eval[ipt + 9*npts] = z*(6*radial_eval + 9*radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z + radial_eval_alpha_squared*y*y*z*z + radial_eval_alpha_squared*z*z*z*z); + basis_lapl_eval[ipt + 0*npts] = x42 + x73 + x83; + basis_lapl_eval[ipt + 1*npts] = x90*y; + basis_lapl_eval[ipt + 2*npts] = x90*z; + basis_lapl_eval[ipt + 3*npts] = x*x91; + basis_lapl_eval[ipt + 4*npts] = x50*(9.0*radial_eval_alpha + x40 + x71 + x81); + basis_lapl_eval[ipt + 5*npts] = x*x92; + basis_lapl_eval[ipt + 6*npts] = x54 + x79 + x88; + basis_lapl_eval[ipt + 7*npts] = x91*z; + basis_lapl_eval[ipt + 8*npts] = x92*y; + basis_lapl_eval[ipt + 9*npts] = x55 + x80 + x89; + @@ -181,26 +276,26 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = radial_eval*x*x*x; - ang_eval_1 = radial_eval*x*x*y; - ang_eval_2 = radial_eval*x*x*z; - ang_eval_3 = radial_eval*x*y*y; + ang_eval_0 = radial_eval*x0; + ang_eval_1 = x1*x2; + ang_eval_2 = x2*x3; + ang_eval_3 = x4*x5; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = radial_eval*x*y*z; - ang_eval_1 = radial_eval*x*z*z; - ang_eval_2 = radial_eval*y*y*y; - ang_eval_3 = radial_eval*y*y*z; + ang_eval_0 = x1*x6; + ang_eval_1 = x4*x7; + ang_eval_2 = radial_eval*x8; + ang_eval_3 = x3*x5; basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; basis_eval[ipt + 6*npts] = ang_eval_2; basis_eval[ipt + 7*npts] = ang_eval_3; - ang_eval_0 = radial_eval*y*z*z; - ang_eval_1 = radial_eval*z*z*z; + ang_eval_0 = x1*x7; + ang_eval_1 = radial_eval*x9; basis_eval[ipt + 8*npts] = ang_eval_0; basis_eval[ipt + 9*npts] = ang_eval_1; @@ -210,18 +305,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = x*x*(3*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = radial_eval_alpha*x*x*x*y; - dang_eval_z_0 = radial_eval_alpha*x*x*x*z; - dang_eval_x_1 = x*y*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = x*x*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = radial_eval_alpha*x*x*y*z; - dang_eval_x_2 = x*z*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_2 = radial_eval_alpha*x*x*y*z; - dang_eval_z_2 = x*x*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_3 = y*y*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_3 = x*y*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = radial_eval_alpha*x*y*y*z; + dang_eval_x_0 = radial_eval_alpha*x10 + x11*x2; + dang_eval_y_0 = x0*x25; + dang_eval_z_0 = x0*x34; + dang_eval_x_1 = x12*y; + dang_eval_y_1 = x15 + x26; + dang_eval_z_1 = x27; + dang_eval_x_2 = x12*z; + dang_eval_y_2 = x27; + dang_eval_z_2 = x21 + x26; + dang_eval_x_3 = x13 + x15; + dang_eval_y_3 = x*x28; + dang_eval_z_3 = x23; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -235,18 +330,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = y*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = x*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = x*y*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = z*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = radial_eval_alpha*x*y*z*z; - dang_eval_z_1 = x*z*(2*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = radial_eval_alpha*x*y*y*y; - dang_eval_y_2 = y*y*(3*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_2 = radial_eval_alpha*y*y*y*z; - dang_eval_x_3 = radial_eval_alpha*x*y*y*z; - dang_eval_y_3 = y*z*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = y*y*(radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x16*x18; + dang_eval_y_0 = x30*x6; + dang_eval_z_0 = x35*(radial_eval + x36); + dang_eval_x_1 = x19 + x21; + dang_eval_y_1 = x24; + dang_eval_z_1 = x*x37; + dang_eval_x_2 = x22*x8; + dang_eval_y_2 = radial_eval_alpha*x31 + x11*x5; + dang_eval_z_2 = x34*x8; + dang_eval_x_3 = x23; + dang_eval_y_3 = x28*z; + dang_eval_z_3 = x13 + x33; basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; @@ -260,12 +355,12 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 7*npts] = dang_eval_y_3; basis_z_eval[ipt + 7*npts] = dang_eval_z_3; - dang_eval_x_0 = radial_eval_alpha*x*y*z*z; - dang_eval_y_0 = z*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = y*z*(2*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = radial_eval_alpha*x*z*z*z; - dang_eval_y_1 = radial_eval_alpha*y*z*z*z; - dang_eval_z_1 = z*z*(3*radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x24; + dang_eval_y_0 = x19 + x33; + dang_eval_z_0 = x37*y; + dang_eval_x_1 = x22*x9; + dang_eval_y_1 = x25*x9; + dang_eval_z_1 = radial_eval_alpha*x38 + x11*x7; basis_x_eval[ipt + 8*npts] = dang_eval_x_0; basis_y_eval[ipt + 8*npts] = dang_eval_y_0; basis_z_eval[ipt + 8*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4.hpp index 433ecd3a..e41ccbaf 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4.hpp @@ -64,7 +64,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_eval = task->bf + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -93,24 +92,34 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel } - + // Common Subexpressions + const auto x0 = radial_eval*y; + const auto x1 = x*x*x; + const auto x2 = radial_eval*z; + const auto x3 = x*x; + const auto x4 = y*y; + const auto x5 = z*z; + const auto x6 = radial_eval*x; + const auto x7 = y*y*y; + const auto x8 = z*z*z; + // Evaluate basis function - basis_eval[ipt + 0*npts] = radial_eval*x*x*x*x; - basis_eval[ipt + 1*npts] = radial_eval*x*x*x*y; - basis_eval[ipt + 2*npts] = radial_eval*x*x*x*z; - basis_eval[ipt + 3*npts] = radial_eval*x*x*y*y; - basis_eval[ipt + 4*npts] = radial_eval*x*x*y*z; - basis_eval[ipt + 5*npts] = radial_eval*x*x*z*z; - basis_eval[ipt + 6*npts] = radial_eval*x*y*y*y; - basis_eval[ipt + 7*npts] = radial_eval*x*y*y*z; - basis_eval[ipt + 8*npts] = radial_eval*x*y*z*z; - basis_eval[ipt + 9*npts] = radial_eval*x*z*z*z; - basis_eval[ipt + 10*npts] = radial_eval*y*y*y*y; - basis_eval[ipt + 11*npts] = radial_eval*y*y*y*z; - basis_eval[ipt + 12*npts] = radial_eval*y*y*z*z; - basis_eval[ipt + 13*npts] = radial_eval*y*z*z*z; - basis_eval[ipt + 14*npts] = radial_eval*z*z*z*z; + basis_eval[ipt + 0*npts] = radial_eval*(x*x*x*x); + basis_eval[ipt + 1*npts] = x0*x1; + basis_eval[ipt + 2*npts] = x1*x2; + basis_eval[ipt + 3*npts] = radial_eval*x3*x4; + basis_eval[ipt + 4*npts] = x0*x3*z; + basis_eval[ipt + 5*npts] = radial_eval*x3*x5; + basis_eval[ipt + 6*npts] = x6*x7; + basis_eval[ipt + 7*npts] = x*x2*x4; + basis_eval[ipt + 8*npts] = x*x0*x5; + basis_eval[ipt + 9*npts] = x6*x8; + basis_eval[ipt + 10*npts] = radial_eval*(y*y*y*y); + basis_eval[ipt + 11*npts] = x2*x7; + basis_eval[ipt + 12*npts] = radial_eval*x4*x5; + basis_eval[ipt + 13*npts] = x0*x8; + basis_eval[ipt + 14*npts] = radial_eval*(z*z*z*z); @@ -119,6 +128,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel + + #if 0 // Evaluate the angular part of bfn @@ -130,36 +141,36 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = radial_eval*x*x*x*x; - ang_eval_1 = radial_eval*x*x*x*y; - ang_eval_2 = radial_eval*x*x*x*z; - ang_eval_3 = radial_eval*x*x*y*y; + ang_eval_0 = radial_eval*(x*x*x*x); + ang_eval_1 = x0*x1; + ang_eval_2 = x1*x2; + ang_eval_3 = radial_eval*x3*x4; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = radial_eval*x*x*y*z; - ang_eval_1 = radial_eval*x*x*z*z; - ang_eval_2 = radial_eval*x*y*y*y; - ang_eval_3 = radial_eval*x*y*y*z; + ang_eval_0 = x0*x3*z; + ang_eval_1 = radial_eval*x3*x5; + ang_eval_2 = x6*x7; + ang_eval_3 = x*x2*x4; basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; basis_eval[ipt + 6*npts] = ang_eval_2; basis_eval[ipt + 7*npts] = ang_eval_3; - ang_eval_0 = radial_eval*x*y*z*z; - ang_eval_1 = radial_eval*x*z*z*z; - ang_eval_2 = radial_eval*y*y*y*y; - ang_eval_3 = radial_eval*y*y*y*z; + ang_eval_0 = x*x0*x5; + ang_eval_1 = x6*x8; + ang_eval_2 = radial_eval*(y*y*y*y); + ang_eval_3 = x2*x7; basis_eval[ipt + 8*npts] = ang_eval_0; basis_eval[ipt + 9*npts] = ang_eval_1; basis_eval[ipt + 10*npts] = ang_eval_2; basis_eval[ipt + 11*npts] = ang_eval_3; - ang_eval_0 = radial_eval*y*y*z*z; - ang_eval_1 = radial_eval*y*z*z*z; - ang_eval_2 = radial_eval*z*z*z*z; + ang_eval_0 = radial_eval*x4*x5; + ang_eval_1 = x0*x8; + ang_eval_2 = radial_eval*(z*z*z*z); basis_eval[ipt + 12*npts] = ang_eval_0; basis_eval[ipt + 13*npts] = ang_eval_1; basis_eval[ipt + 14*npts] = ang_eval_2; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4_gradient.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4_gradient.hpp index 104fdba8..c31bc67f 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4_gradient.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4_gradient.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_cartesian_gradient_4( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_cartesian_gradient_4( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -67,7 +67,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -99,77 +98,125 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; - + // Common Subexpressions + const auto x0 = x*x*x*x; + const auto x1 = radial_eval*y; + const auto x2 = x*x*x; + const auto x3 = radial_eval*z; + const auto x4 = x*x; + const auto x5 = y*y; + const auto x6 = x4*x5; + const auto x7 = z*z; + const auto x8 = x4*x7; + const auto x9 = radial_eval*x; + const auto x10 = y*y*y; + const auto x11 = z*z*z; + const auto x12 = y*y*y*y; + const auto x13 = x5*x7; + const auto x14 = z*z*z*z; + const auto x15 = 4.0*radial_eval; + const auto x16 = 3.0*radial_eval; + const auto x17 = radial_eval_alpha*x0 + x16*x4; + const auto x18 = 2.0*x9; + const auto x19 = radial_eval_alpha*x2*x5; + const auto x20 = y*z; + const auto x21 = radial_eval_alpha*x2*x7; + const auto x22 = radial_eval*x10; + const auto x23 = radial_eval_alpha*x10*x4; + const auto x24 = radial_eval*x5; + const auto x25 = radial_eval_alpha*x6; + const auto x26 = radial_eval*x7; + const auto x27 = radial_eval_alpha*x8; + const auto x28 = radial_eval*x11; + const auto x29 = radial_eval_alpha*x11*x4; + const auto x30 = radial_eval_alpha*x; + const auto x31 = x10*x30*z; + const auto x32 = x11*x30*y; + const auto x33 = radial_eval_alpha*y; + const auto x34 = radial_eval*x2; + const auto x35 = radial_eval_alpha*x2*x20; + const auto x36 = 2.0*x1; + const auto x37 = radial_eval*x4; + const auto x38 = radial_eval_alpha*x12 + x16*x5; + const auto x39 = radial_eval_alpha*x13; + const auto x40 = radial_eval_alpha*x10*x7; + const auto x41 = radial_eval_alpha*x11*x5; + const auto x42 = radial_eval_alpha*z; + const auto x43 = 2.0*x3; + const auto x44 = radial_eval_alpha*x14 + x16*x7; + // Evaluate basis function - basis_eval[ipt + 0*npts] = radial_eval*x*x*x*x; - basis_eval[ipt + 1*npts] = radial_eval*x*x*x*y; - basis_eval[ipt + 2*npts] = radial_eval*x*x*x*z; - basis_eval[ipt + 3*npts] = radial_eval*x*x*y*y; - basis_eval[ipt + 4*npts] = radial_eval*x*x*y*z; - basis_eval[ipt + 5*npts] = radial_eval*x*x*z*z; - basis_eval[ipt + 6*npts] = radial_eval*x*y*y*y; - basis_eval[ipt + 7*npts] = radial_eval*x*y*y*z; - basis_eval[ipt + 8*npts] = radial_eval*x*y*z*z; - basis_eval[ipt + 9*npts] = radial_eval*x*z*z*z; - basis_eval[ipt + 10*npts] = radial_eval*y*y*y*y; - basis_eval[ipt + 11*npts] = radial_eval*y*y*y*z; - basis_eval[ipt + 12*npts] = radial_eval*y*y*z*z; - basis_eval[ipt + 13*npts] = radial_eval*y*z*z*z; - basis_eval[ipt + 14*npts] = radial_eval*z*z*z*z; + basis_eval[ipt + 0*npts] = radial_eval*x0; + basis_eval[ipt + 1*npts] = x1*x2; + basis_eval[ipt + 2*npts] = x2*x3; + basis_eval[ipt + 3*npts] = radial_eval*x6; + basis_eval[ipt + 4*npts] = x1*x4*z; + basis_eval[ipt + 5*npts] = radial_eval*x8; + basis_eval[ipt + 6*npts] = x10*x9; + basis_eval[ipt + 7*npts] = x*x3*x5; + basis_eval[ipt + 8*npts] = x*x1*x7; + basis_eval[ipt + 9*npts] = x11*x9; + basis_eval[ipt + 10*npts] = radial_eval*x12; + basis_eval[ipt + 11*npts] = x10*x3; + basis_eval[ipt + 12*npts] = radial_eval*x13; + basis_eval[ipt + 13*npts] = x1*x11; + basis_eval[ipt + 14*npts] = radial_eval*x14; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = x*x*x*(4*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 1*npts] = x*x*y*(3*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 2*npts] = x*x*z*(3*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 3*npts] = x*y*y*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 4*npts] = x*y*z*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 5*npts] = x*z*z*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 6*npts] = y*y*y*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 7*npts] = y*y*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 8*npts] = y*z*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 9*npts] = z*z*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 10*npts] = radial_eval_alpha*x*y*y*y*y; - basis_x_eval[ipt + 11*npts] = radial_eval_alpha*x*y*y*y*z; - basis_x_eval[ipt + 12*npts] = radial_eval_alpha*x*y*y*z*z; - basis_x_eval[ipt + 13*npts] = radial_eval_alpha*x*y*z*z*z; - basis_x_eval[ipt + 14*npts] = radial_eval_alpha*x*z*z*z*z; + basis_x_eval[ipt + 0*npts] = radial_eval_alpha*(x*x*x*x*x) + x15*x2; + basis_x_eval[ipt + 1*npts] = x17*y; + basis_x_eval[ipt + 2*npts] = x17*z; + basis_x_eval[ipt + 3*npts] = x18*x5 + x19; + basis_x_eval[ipt + 4*npts] = x20*(radial_eval_alpha*x2 + x18); + basis_x_eval[ipt + 5*npts] = x18*x7 + x21; + basis_x_eval[ipt + 6*npts] = x22 + x23; + basis_x_eval[ipt + 7*npts] = z*(x24 + x25); + basis_x_eval[ipt + 8*npts] = y*(x26 + x27); + basis_x_eval[ipt + 9*npts] = x28 + x29; + basis_x_eval[ipt + 10*npts] = x12*x30; + basis_x_eval[ipt + 11*npts] = x31; + basis_x_eval[ipt + 12*npts] = x13*x30; + basis_x_eval[ipt + 13*npts] = x32; + basis_x_eval[ipt + 14*npts] = x14*x30; // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = radial_eval_alpha*x*x*x*x*y; - basis_y_eval[ipt + 1*npts] = x*x*x*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 2*npts] = radial_eval_alpha*x*x*x*y*z; - basis_y_eval[ipt + 3*npts] = x*x*y*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 4*npts] = x*x*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 5*npts] = radial_eval_alpha*x*x*y*z*z; - basis_y_eval[ipt + 6*npts] = x*y*y*(3*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 7*npts] = x*y*z*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 8*npts] = x*z*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 9*npts] = radial_eval_alpha*x*y*z*z*z; - basis_y_eval[ipt + 10*npts] = y*y*y*(4*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 11*npts] = y*y*z*(3*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 12*npts] = y*z*z*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 13*npts] = z*z*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 14*npts] = radial_eval_alpha*y*z*z*z*z; + basis_y_eval[ipt + 0*npts] = x0*x33; + basis_y_eval[ipt + 1*npts] = x19 + x34; + basis_y_eval[ipt + 2*npts] = x35; + basis_y_eval[ipt + 3*npts] = x23 + x36*x4; + basis_y_eval[ipt + 4*npts] = z*(x25 + x37); + basis_y_eval[ipt + 5*npts] = x33*x8; + basis_y_eval[ipt + 6*npts] = x*x38; + basis_y_eval[ipt + 7*npts] = x*z*(radial_eval_alpha*x10 + x36); + basis_y_eval[ipt + 8*npts] = x*(x26 + x39); + basis_y_eval[ipt + 9*npts] = x32; + basis_y_eval[ipt + 10*npts] = radial_eval_alpha*(y*y*y*y*y) + x10*x15; + basis_y_eval[ipt + 11*npts] = x38*z; + basis_y_eval[ipt + 12*npts] = x36*x7 + x40; + basis_y_eval[ipt + 13*npts] = x28 + x41; + basis_y_eval[ipt + 14*npts] = x14*x33; // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = radial_eval_alpha*x*x*x*x*z; - basis_z_eval[ipt + 1*npts] = radial_eval_alpha*x*x*x*y*z; - basis_z_eval[ipt + 2*npts] = x*x*x*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 3*npts] = radial_eval_alpha*x*x*y*y*z; - basis_z_eval[ipt + 4*npts] = x*x*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 5*npts] = x*x*z*(2*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 6*npts] = radial_eval_alpha*x*y*y*y*z; - basis_z_eval[ipt + 7*npts] = x*y*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 8*npts] = x*y*z*(2*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 9*npts] = x*z*z*(3*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 10*npts] = radial_eval_alpha*y*y*y*y*z; - basis_z_eval[ipt + 11*npts] = y*y*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 12*npts] = y*y*z*(2*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 13*npts] = y*z*z*(3*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 14*npts] = z*z*z*(4*radial_eval + radial_eval_alpha*z*z); + basis_z_eval[ipt + 0*npts] = x0*x42; + basis_z_eval[ipt + 1*npts] = x35; + basis_z_eval[ipt + 2*npts] = x21 + x34; + basis_z_eval[ipt + 3*npts] = x42*x6; + basis_z_eval[ipt + 4*npts] = y*(x27 + x37); + basis_z_eval[ipt + 5*npts] = x29 + x4*x43; + basis_z_eval[ipt + 6*npts] = x31; + basis_z_eval[ipt + 7*npts] = x*(x24 + x39); + basis_z_eval[ipt + 8*npts] = x*y*(radial_eval_alpha*x11 + x43); + basis_z_eval[ipt + 9*npts] = x*x44; + basis_z_eval[ipt + 10*npts] = x12*x42; + basis_z_eval[ipt + 11*npts] = x22 + x40; + basis_z_eval[ipt + 12*npts] = x41 + x43*x5; + basis_z_eval[ipt + 13*npts] = x44*y; + basis_z_eval[ipt + 14*npts] = radial_eval_alpha*(z*z*z*z*z) + x11*x15; + + @@ -186,36 +233,36 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = radial_eval*x*x*x*x; - ang_eval_1 = radial_eval*x*x*x*y; - ang_eval_2 = radial_eval*x*x*x*z; - ang_eval_3 = radial_eval*x*x*y*y; + ang_eval_0 = radial_eval*x0; + ang_eval_1 = x1*x2; + ang_eval_2 = x2*x3; + ang_eval_3 = radial_eval*x6; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = radial_eval*x*x*y*z; - ang_eval_1 = radial_eval*x*x*z*z; - ang_eval_2 = radial_eval*x*y*y*y; - ang_eval_3 = radial_eval*x*y*y*z; + ang_eval_0 = x1*x4*z; + ang_eval_1 = radial_eval*x8; + ang_eval_2 = x10*x9; + ang_eval_3 = x*x3*x5; basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; basis_eval[ipt + 6*npts] = ang_eval_2; basis_eval[ipt + 7*npts] = ang_eval_3; - ang_eval_0 = radial_eval*x*y*z*z; - ang_eval_1 = radial_eval*x*z*z*z; - ang_eval_2 = radial_eval*y*y*y*y; - ang_eval_3 = radial_eval*y*y*y*z; + ang_eval_0 = x*x1*x7; + ang_eval_1 = x11*x9; + ang_eval_2 = radial_eval*x12; + ang_eval_3 = x10*x3; basis_eval[ipt + 8*npts] = ang_eval_0; basis_eval[ipt + 9*npts] = ang_eval_1; basis_eval[ipt + 10*npts] = ang_eval_2; basis_eval[ipt + 11*npts] = ang_eval_3; - ang_eval_0 = radial_eval*y*y*z*z; - ang_eval_1 = radial_eval*y*z*z*z; - ang_eval_2 = radial_eval*z*z*z*z; + ang_eval_0 = radial_eval*x13; + ang_eval_1 = x1*x11; + ang_eval_2 = radial_eval*x14; basis_eval[ipt + 12*npts] = ang_eval_0; basis_eval[ipt + 13*npts] = ang_eval_1; basis_eval[ipt + 14*npts] = ang_eval_2; @@ -226,18 +273,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = x*x*x*(4*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = radial_eval_alpha*x*x*x*x*y; - dang_eval_z_0 = radial_eval_alpha*x*x*x*x*z; - dang_eval_x_1 = x*x*y*(3*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = x*x*x*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = radial_eval_alpha*x*x*x*y*z; - dang_eval_x_2 = x*x*z*(3*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_2 = radial_eval_alpha*x*x*x*y*z; - dang_eval_z_2 = x*x*x*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_3 = x*y*y*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_3 = x*x*y*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = radial_eval_alpha*x*x*y*y*z; + dang_eval_x_0 = radial_eval_alpha*(x*x*x*x*x) + x15*x2; + dang_eval_y_0 = x0*x33; + dang_eval_z_0 = x0*x42; + dang_eval_x_1 = x17*y; + dang_eval_y_1 = x19 + x34; + dang_eval_z_1 = x35; + dang_eval_x_2 = x17*z; + dang_eval_y_2 = x35; + dang_eval_z_2 = x21 + x34; + dang_eval_x_3 = x18*x5 + x19; + dang_eval_y_3 = x23 + x36*x4; + dang_eval_z_3 = x42*x6; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -251,18 +298,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = x*y*z*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = x*x*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = x*x*y*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = x*z*z*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = radial_eval_alpha*x*x*y*z*z; - dang_eval_z_1 = x*x*z*(2*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = y*y*y*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_2 = x*y*y*(3*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_2 = radial_eval_alpha*x*y*y*y*z; - dang_eval_x_3 = y*y*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_3 = x*y*z*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = x*y*y*(radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x20*(radial_eval_alpha*x2 + x18); + dang_eval_y_0 = z*(x25 + x37); + dang_eval_z_0 = y*(x27 + x37); + dang_eval_x_1 = x18*x7 + x21; + dang_eval_y_1 = x33*x8; + dang_eval_z_1 = x29 + x4*x43; + dang_eval_x_2 = x22 + x23; + dang_eval_y_2 = x*x38; + dang_eval_z_2 = x31; + dang_eval_x_3 = z*(x24 + x25); + dang_eval_y_3 = x*z*(radial_eval_alpha*x10 + x36); + dang_eval_z_3 = x*(x24 + x39); basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; @@ -276,18 +323,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 7*npts] = dang_eval_y_3; basis_z_eval[ipt + 7*npts] = dang_eval_z_3; - dang_eval_x_0 = y*z*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = x*z*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = x*y*z*(2*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = z*z*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = radial_eval_alpha*x*y*z*z*z; - dang_eval_z_1 = x*z*z*(3*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = radial_eval_alpha*x*y*y*y*y; - dang_eval_y_2 = y*y*y*(4*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_2 = radial_eval_alpha*y*y*y*y*z; - dang_eval_x_3 = radial_eval_alpha*x*y*y*y*z; - dang_eval_y_3 = y*y*z*(3*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = y*y*y*(radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = y*(x26 + x27); + dang_eval_y_0 = x*(x26 + x39); + dang_eval_z_0 = x*y*(radial_eval_alpha*x11 + x43); + dang_eval_x_1 = x28 + x29; + dang_eval_y_1 = x32; + dang_eval_z_1 = x*x44; + dang_eval_x_2 = x12*x30; + dang_eval_y_2 = radial_eval_alpha*(y*y*y*y*y) + x10*x15; + dang_eval_z_2 = x12*x42; + dang_eval_x_3 = x31; + dang_eval_y_3 = x38*z; + dang_eval_z_3 = x22 + x40; basis_x_eval[ipt + 8*npts] = dang_eval_x_0; basis_y_eval[ipt + 8*npts] = dang_eval_y_0; basis_z_eval[ipt + 8*npts] = dang_eval_z_0; @@ -301,15 +348,15 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 11*npts] = dang_eval_y_3; basis_z_eval[ipt + 11*npts] = dang_eval_z_3; - dang_eval_x_0 = radial_eval_alpha*x*y*y*z*z; - dang_eval_y_0 = y*z*z*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = y*y*z*(2*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = radial_eval_alpha*x*y*z*z*z; - dang_eval_y_1 = z*z*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = y*z*z*(3*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = radial_eval_alpha*x*z*z*z*z; - dang_eval_y_2 = radial_eval_alpha*y*z*z*z*z; - dang_eval_z_2 = z*z*z*(4*radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x13*x30; + dang_eval_y_0 = x36*x7 + x40; + dang_eval_z_0 = x41 + x43*x5; + dang_eval_x_1 = x32; + dang_eval_y_1 = x28 + x41; + dang_eval_z_1 = x44*y; + dang_eval_x_2 = x14*x30; + dang_eval_y_2 = x14*x33; + dang_eval_z_2 = radial_eval_alpha*(z*z*z*z*z) + x11*x15; basis_x_eval[ipt + 12*npts] = dang_eval_x_0; basis_y_eval[ipt + 12*npts] = dang_eval_y_0; basis_z_eval[ipt + 12*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4_hessian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4_hessian.hpp index 1a9958bd..e853c125 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4_hessian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4_hessian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_cartesian_hessian_4( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_cartesian_hessian_4( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; @@ -108,179 +107,340 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = x*x*x*x; + const auto x1 = radial_eval*y; + const auto x2 = x*x*x; + const auto x3 = radial_eval*z; + const auto x4 = x*x; + const auto x5 = y*y; + const auto x6 = x4*x5; + const auto x7 = x1*z; + const auto x8 = z*z; + const auto x9 = x4*x8; + const auto x10 = radial_eval*x; + const auto x11 = y*y*y; + const auto x12 = x*x3; + const auto x13 = x*x1; + const auto x14 = z*z*z; + const auto x15 = y*y*y*y; + const auto x16 = x5*x8; + const auto x17 = z*z*z*z; + const auto x18 = x*x*x*x*x; + const auto x19 = 4.0*radial_eval; + const auto x20 = 3.0*radial_eval; + const auto x21 = radial_eval_alpha*x0 + x20*x4; + const auto x22 = 2.0*x10; + const auto x23 = x2*x5; + const auto x24 = radial_eval_alpha*x23; + const auto x25 = y*z; + const auto x26 = radial_eval_alpha*x2; + const auto x27 = x22 + x26; + const auto x28 = x2*x8; + const auto x29 = radial_eval_alpha*x28; + const auto x30 = radial_eval*x11; + const auto x31 = x11*x4; + const auto x32 = radial_eval_alpha*x31; + const auto x33 = radial_eval*x5; + const auto x34 = radial_eval_alpha*x6; + const auto x35 = x33 + x34; + const auto x36 = radial_eval*x8; + const auto x37 = radial_eval_alpha*x9; + const auto x38 = x36 + x37; + const auto x39 = radial_eval*x14; + const auto x40 = x14*x4; + const auto x41 = radial_eval_alpha*x40; + const auto x42 = radial_eval_alpha*x; + const auto x43 = x11*x42*z; + const auto x44 = x14*x42*y; + const auto x45 = radial_eval_alpha*y; + const auto x46 = radial_eval*x2; + const auto x47 = radial_eval_alpha*x2*x25; + const auto x48 = 2.0*x1; + const auto x49 = radial_eval*x4; + const auto x50 = x34 + x49; + const auto x51 = radial_eval_alpha*x15 + x20*x5; + const auto x52 = x*z; + const auto x53 = radial_eval_alpha*x11; + const auto x54 = x48 + x53; + const auto x55 = radial_eval_alpha*x16; + const auto x56 = y*y*y*y*y; + const auto x57 = x11*x8; + const auto x58 = radial_eval_alpha*x57; + const auto x59 = x14*x5; + const auto x60 = radial_eval_alpha*x59; + const auto x61 = radial_eval_alpha*z; + const auto x62 = 2.0*x3; + const auto x63 = x*y; + const auto x64 = radial_eval_alpha*x14; + const auto x65 = x62 + x64; + const auto x66 = radial_eval_alpha*x17 + x20*x8; + const auto x67 = z*z*z*z*z; + const auto x68 = 12.0*radial_eval; + const auto x69 = 8.0*radial_eval_alpha; + const auto x70 = radial_eval_alpha + radial_eval_alpha_squared*x4; + const auto x71 = x0*x69 + x0*x70 + x4*x68; + const auto x72 = 6.0*radial_eval_alpha; + const auto x73 = 6.0*x10 + x2*x70; + const auto x74 = x2*x72 + x73; + const auto x75 = 4.0*radial_eval_alpha; + const auto x76 = x6*x75; + const auto x77 = 2.0*radial_eval; + const auto x78 = x5*x77; + const auto x79 = x4*x5*x70 + x78; + const auto x80 = x4*x70 + x77; + const auto x81 = x75*x9; + const auto x82 = x77*x8; + const auto x83 = x4*x70*x8 + x82; + const auto x84 = 2.0*radial_eval_alpha; + const auto x85 = x11*x84; + const auto x86 = x11*x70; + const auto x87 = x5*x84; + const auto x88 = x5*x70; + const auto x89 = x8*x84; + const auto x90 = x70*x8; + const auto x91 = x14*x84; + const auto x92 = x14*x70; + const auto x93 = x15*x70; + const auto x94 = x5*x70*x8; + const auto x95 = x17*x70; + const auto x96 = radial_eval_alpha_squared*x18 + x2*x75; + const auto x97 = 3.0*radial_eval_alpha; + const auto x98 = x6*x97; + const auto x99 = x25*(radial_eval_alpha_squared*x0 + x4*x97); + const auto x100 = 2.0*x42; + const auto x101 = 2.0*x45; + const auto x102 = radial_eval_alpha_squared*x23; + const auto x103 = x100*x5 + x102; + const auto x104 = radial_eval_alpha_squared*x28; + const auto x105 = x100*x8 + x104; + const auto x106 = radial_eval_alpha_squared*x31; + const auto x107 = x101*x4 + x106; + const auto x108 = radial_eval_alpha_squared*x4*x5*x8; + const auto x109 = x108 + x55; + const auto x110 = radial_eval_alpha_squared*x40; + const auto x111 = radial_eval_alpha_squared*x56 + x11*x75; + const auto x112 = x52*(radial_eval_alpha_squared*x15 + x5*x97); + const auto x113 = radial_eval_alpha_squared*x57; + const auto x114 = x101*x8 + x113; + const auto x115 = radial_eval_alpha_squared*x59; + const auto x116 = x9*x97; + const auto x117 = 2.0*x61; + const auto x118 = x110 + x117*x4; + const auto x119 = x115 + x117*x5; + const auto x120 = x63*(radial_eval_alpha_squared*x17 + x8*x97); + const auto x121 = radial_eval_alpha_squared*x67 + x14*x75; + const auto x122 = radial_eval_alpha + radial_eval_alpha_squared*x5; + const auto x123 = x0*x122; + const auto x124 = x2*x84; + const auto x125 = x122*x2; + const auto x126 = x4*x77; + const auto x127 = x122*x4*x5 + x126; + const auto x128 = x4*x84; + const auto x129 = x122*x4; + const auto x130 = x122*x4*x8; + const auto x131 = 6.0*x1 + x11*x122; + const auto x132 = x11*x72 + x131; + const auto x133 = x122*x5 + x77; + const auto x134 = x122*x8; + const auto x135 = x122*x14; + const auto x136 = x122*x15 + x15*x69 + x5*x68; + const auto x137 = x16*x75; + const auto x138 = x122*x5*x8 + x82; + const auto x139 = x122*x17; + const auto x140 = x16*x97; + const auto x141 = radial_eval_alpha + radial_eval_alpha_squared*x8; + const auto x142 = x0*x141; + const auto x143 = x141*x2; + const auto x144 = x141*x4*x5; + const auto x145 = x141*x4; + const auto x146 = x126 + x141*x4*x8; + const auto x147 = x11*x141; + const auto x148 = x141*x5; + const auto x149 = x141*x8 + x77; + const auto x150 = x14*x141 + 6.0*x3; + const auto x151 = x14*x72 + x150; + const auto x152 = x141*x15; + const auto x153 = x141*x5*x8 + x78; + const auto x154 = x141*x17 + x17*x69 + x68*x8; + const auto x155 = x125 + x143 + x2*x69 + x73; + const auto x156 = x11*x69 + x131 + x147 + x86; + const auto x157 = x135 + x14*x69 + x150 + x92; + // Evaluate basis function - basis_eval[ipt + 0*npts] = radial_eval*x*x*x*x; - basis_eval[ipt + 1*npts] = radial_eval*x*x*x*y; - basis_eval[ipt + 2*npts] = radial_eval*x*x*x*z; - basis_eval[ipt + 3*npts] = radial_eval*x*x*y*y; - basis_eval[ipt + 4*npts] = radial_eval*x*x*y*z; - basis_eval[ipt + 5*npts] = radial_eval*x*x*z*z; - basis_eval[ipt + 6*npts] = radial_eval*x*y*y*y; - basis_eval[ipt + 7*npts] = radial_eval*x*y*y*z; - basis_eval[ipt + 8*npts] = radial_eval*x*y*z*z; - basis_eval[ipt + 9*npts] = radial_eval*x*z*z*z; - basis_eval[ipt + 10*npts] = radial_eval*y*y*y*y; - basis_eval[ipt + 11*npts] = radial_eval*y*y*y*z; - basis_eval[ipt + 12*npts] = radial_eval*y*y*z*z; - basis_eval[ipt + 13*npts] = radial_eval*y*z*z*z; - basis_eval[ipt + 14*npts] = radial_eval*z*z*z*z; + basis_eval[ipt + 0*npts] = radial_eval*x0; + basis_eval[ipt + 1*npts] = x1*x2; + basis_eval[ipt + 2*npts] = x2*x3; + basis_eval[ipt + 3*npts] = radial_eval*x6; + basis_eval[ipt + 4*npts] = x4*x7; + basis_eval[ipt + 5*npts] = radial_eval*x9; + basis_eval[ipt + 6*npts] = x10*x11; + basis_eval[ipt + 7*npts] = x12*x5; + basis_eval[ipt + 8*npts] = x13*x8; + basis_eval[ipt + 9*npts] = x10*x14; + basis_eval[ipt + 10*npts] = radial_eval*x15; + basis_eval[ipt + 11*npts] = x11*x3; + basis_eval[ipt + 12*npts] = radial_eval*x16; + basis_eval[ipt + 13*npts] = x1*x14; + basis_eval[ipt + 14*npts] = radial_eval*x17; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = x*x*x*(4*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 1*npts] = x*x*y*(3*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 2*npts] = x*x*z*(3*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 3*npts] = x*y*y*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 4*npts] = x*y*z*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 5*npts] = x*z*z*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 6*npts] = y*y*y*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 7*npts] = y*y*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 8*npts] = y*z*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 9*npts] = z*z*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 10*npts] = radial_eval_alpha*x*y*y*y*y; - basis_x_eval[ipt + 11*npts] = radial_eval_alpha*x*y*y*y*z; - basis_x_eval[ipt + 12*npts] = radial_eval_alpha*x*y*y*z*z; - basis_x_eval[ipt + 13*npts] = radial_eval_alpha*x*y*z*z*z; - basis_x_eval[ipt + 14*npts] = radial_eval_alpha*x*z*z*z*z; + basis_x_eval[ipt + 0*npts] = radial_eval_alpha*x18 + x19*x2; + basis_x_eval[ipt + 1*npts] = x21*y; + basis_x_eval[ipt + 2*npts] = x21*z; + basis_x_eval[ipt + 3*npts] = x22*x5 + x24; + basis_x_eval[ipt + 4*npts] = x25*x27; + basis_x_eval[ipt + 5*npts] = x22*x8 + x29; + basis_x_eval[ipt + 6*npts] = x30 + x32; + basis_x_eval[ipt + 7*npts] = x35*z; + basis_x_eval[ipt + 8*npts] = x38*y; + basis_x_eval[ipt + 9*npts] = x39 + x41; + basis_x_eval[ipt + 10*npts] = x15*x42; + basis_x_eval[ipt + 11*npts] = x43; + basis_x_eval[ipt + 12*npts] = x16*x42; + basis_x_eval[ipt + 13*npts] = x44; + basis_x_eval[ipt + 14*npts] = x17*x42; // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = radial_eval_alpha*x*x*x*x*y; - basis_y_eval[ipt + 1*npts] = x*x*x*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 2*npts] = radial_eval_alpha*x*x*x*y*z; - basis_y_eval[ipt + 3*npts] = x*x*y*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 4*npts] = x*x*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 5*npts] = radial_eval_alpha*x*x*y*z*z; - basis_y_eval[ipt + 6*npts] = x*y*y*(3*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 7*npts] = x*y*z*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 8*npts] = x*z*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 9*npts] = radial_eval_alpha*x*y*z*z*z; - basis_y_eval[ipt + 10*npts] = y*y*y*(4*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 11*npts] = y*y*z*(3*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 12*npts] = y*z*z*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 13*npts] = z*z*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 14*npts] = radial_eval_alpha*y*z*z*z*z; + basis_y_eval[ipt + 0*npts] = x0*x45; + basis_y_eval[ipt + 1*npts] = x24 + x46; + basis_y_eval[ipt + 2*npts] = x47; + basis_y_eval[ipt + 3*npts] = x32 + x4*x48; + basis_y_eval[ipt + 4*npts] = x50*z; + basis_y_eval[ipt + 5*npts] = x45*x9; + basis_y_eval[ipt + 6*npts] = x*x51; + basis_y_eval[ipt + 7*npts] = x52*x54; + basis_y_eval[ipt + 8*npts] = x*(x36 + x55); + basis_y_eval[ipt + 9*npts] = x44; + basis_y_eval[ipt + 10*npts] = radial_eval_alpha*x56 + x11*x19; + basis_y_eval[ipt + 11*npts] = x51*z; + basis_y_eval[ipt + 12*npts] = x48*x8 + x58; + basis_y_eval[ipt + 13*npts] = x39 + x60; + basis_y_eval[ipt + 14*npts] = x17*x45; // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = radial_eval_alpha*x*x*x*x*z; - basis_z_eval[ipt + 1*npts] = radial_eval_alpha*x*x*x*y*z; - basis_z_eval[ipt + 2*npts] = x*x*x*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 3*npts] = radial_eval_alpha*x*x*y*y*z; - basis_z_eval[ipt + 4*npts] = x*x*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 5*npts] = x*x*z*(2*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 6*npts] = radial_eval_alpha*x*y*y*y*z; - basis_z_eval[ipt + 7*npts] = x*y*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 8*npts] = x*y*z*(2*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 9*npts] = x*z*z*(3*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 10*npts] = radial_eval_alpha*y*y*y*y*z; - basis_z_eval[ipt + 11*npts] = y*y*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 12*npts] = y*y*z*(2*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 13*npts] = y*z*z*(3*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 14*npts] = z*z*z*(4*radial_eval + radial_eval_alpha*z*z); + basis_z_eval[ipt + 0*npts] = x0*x61; + basis_z_eval[ipt + 1*npts] = x47; + basis_z_eval[ipt + 2*npts] = x29 + x46; + basis_z_eval[ipt + 3*npts] = x6*x61; + basis_z_eval[ipt + 4*npts] = y*(x37 + x49); + basis_z_eval[ipt + 5*npts] = x4*x62 + x41; + basis_z_eval[ipt + 6*npts] = x43; + basis_z_eval[ipt + 7*npts] = x*(x33 + x55); + basis_z_eval[ipt + 8*npts] = x63*x65; + basis_z_eval[ipt + 9*npts] = x*x66; + basis_z_eval[ipt + 10*npts] = x15*x61; + basis_z_eval[ipt + 11*npts] = x30 + x58; + basis_z_eval[ipt + 12*npts] = x5*x62 + x60; + basis_z_eval[ipt + 13*npts] = x66*y; + basis_z_eval[ipt + 14*npts] = radial_eval_alpha*x67 + x14*x19; // Evaluate second derivative of bfn wrt xx - basis_xx_eval[ipt + 0*npts] = x*x*(12*radial_eval + 9*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x); - basis_xx_eval[ipt + 1*npts] = x*y*(6*radial_eval + 7*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x); - basis_xx_eval[ipt + 2*npts] = x*z*(6*radial_eval + 7*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x); - basis_xx_eval[ipt + 3*npts] = y*y*(2*radial_eval + 5*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x); - basis_xx_eval[ipt + 4*npts] = y*z*(2*radial_eval + 5*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x); - basis_xx_eval[ipt + 5*npts] = z*z*(2*radial_eval + 5*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x); - basis_xx_eval[ipt + 6*npts] = x*y*y*y*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 7*npts] = x*y*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 8*npts] = x*y*z*z*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 9*npts] = x*z*z*z*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 10*npts] = y*y*y*y*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 11*npts] = y*y*y*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 12*npts] = y*y*z*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 13*npts] = y*z*z*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 14*npts] = z*z*z*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); + basis_xx_eval[ipt + 0*npts] = x71; + basis_xx_eval[ipt + 1*npts] = x74*y; + basis_xx_eval[ipt + 2*npts] = x74*z; + basis_xx_eval[ipt + 3*npts] = x76 + x79; + basis_xx_eval[ipt + 4*npts] = x25*(x4*x75 + x80); + basis_xx_eval[ipt + 5*npts] = x81 + x83; + basis_xx_eval[ipt + 6*npts] = x*(x85 + x86); + basis_xx_eval[ipt + 7*npts] = x52*(x87 + x88); + basis_xx_eval[ipt + 8*npts] = x63*(x89 + x90); + basis_xx_eval[ipt + 9*npts] = x*(x91 + x92); + basis_xx_eval[ipt + 10*npts] = x93; + basis_xx_eval[ipt + 11*npts] = x86*z; + basis_xx_eval[ipt + 12*npts] = x94; + basis_xx_eval[ipt + 13*npts] = x92*y; + basis_xx_eval[ipt + 14*npts] = x95; // Evaluate second derivative of bfn wrt xy - basis_xy_eval[ipt + 0*npts] = x*x*x*y*(4*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xy_eval[ipt + 1*npts] = x*x*(3*radial_eval + radial_eval_alpha*x*x + 3*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y); - basis_xy_eval[ipt + 2*npts] = x*x*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xy_eval[ipt + 3*npts] = x*y*(4*radial_eval + 2*radial_eval_alpha*x*x + 2*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y); - basis_xy_eval[ipt + 4*npts] = x*z*(2*radial_eval + radial_eval_alpha*x*x + 2*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y); - basis_xy_eval[ipt + 5*npts] = x*y*z*z*(2*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xy_eval[ipt + 6*npts] = y*y*(3*radial_eval + 3*radial_eval_alpha*x*x + radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y); - basis_xy_eval[ipt + 7*npts] = y*z*(2*radial_eval + 2*radial_eval_alpha*x*x + radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y); - basis_xy_eval[ipt + 8*npts] = z*z*(radial_eval + radial_eval_alpha*x*x + radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y); - basis_xy_eval[ipt + 9*npts] = y*z*z*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xy_eval[ipt + 10*npts] = x*y*y*y*(4*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_xy_eval[ipt + 11*npts] = x*y*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_xy_eval[ipt + 12*npts] = x*y*z*z*(2*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_xy_eval[ipt + 13*npts] = x*z*z*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_xy_eval[ipt + 14*npts] = radial_eval_alpha_squared*x*y*z*z*z*z; + basis_xy_eval[ipt + 0*npts] = x96*y; + basis_xy_eval[ipt + 1*npts] = radial_eval_alpha_squared*x0*x5 + x21 + x98; + basis_xy_eval[ipt + 2*npts] = x99; + basis_xy_eval[ipt + 3*npts] = radial_eval_alpha_squared*x11*x2 + x100*x11 + x101*x2 + 4.0*x13; + basis_xy_eval[ipt + 4*npts] = z*(x103 + x27); + basis_xy_eval[ipt + 5*npts] = x105*y; + basis_xy_eval[ipt + 6*npts] = radial_eval_alpha_squared*x15*x4 + x51 + x98; + basis_xy_eval[ipt + 7*npts] = z*(x107 + x54); + basis_xy_eval[ipt + 8*npts] = x109 + x38; + basis_xy_eval[ipt + 9*npts] = y*(x110 + x64); + basis_xy_eval[ipt + 10*npts] = x*x111; + basis_xy_eval[ipt + 11*npts] = x112; + basis_xy_eval[ipt + 12*npts] = x*x114; + basis_xy_eval[ipt + 13*npts] = x*(x115 + x64); + basis_xy_eval[ipt + 14*npts] = radial_eval_alpha_squared*x17*x63; // Evaluate second derivative of bfn wrt xz - basis_xz_eval[ipt + 0*npts] = x*x*x*z*(4*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xz_eval[ipt + 1*npts] = x*x*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xz_eval[ipt + 2*npts] = x*x*(3*radial_eval + radial_eval_alpha*x*x + 3*radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z); - basis_xz_eval[ipt + 3*npts] = x*y*y*z*(2*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xz_eval[ipt + 4*npts] = x*y*(2*radial_eval + radial_eval_alpha*x*x + 2*radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z); - basis_xz_eval[ipt + 5*npts] = x*z*(4*radial_eval + 2*radial_eval_alpha*x*x + 2*radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z); - basis_xz_eval[ipt + 6*npts] = y*y*y*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xz_eval[ipt + 7*npts] = y*y*(radial_eval + radial_eval_alpha*x*x + radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z); - basis_xz_eval[ipt + 8*npts] = y*z*(2*radial_eval + 2*radial_eval_alpha*x*x + radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z); - basis_xz_eval[ipt + 9*npts] = z*z*(3*radial_eval + 3*radial_eval_alpha*x*x + radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z); - basis_xz_eval[ipt + 10*npts] = radial_eval_alpha_squared*x*y*y*y*y*z; - basis_xz_eval[ipt + 11*npts] = x*y*y*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_xz_eval[ipt + 12*npts] = x*y*y*z*(2*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_xz_eval[ipt + 13*npts] = x*y*z*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_xz_eval[ipt + 14*npts] = x*z*z*z*(4*radial_eval_alpha + radial_eval_alpha_squared*z*z); + basis_xz_eval[ipt + 0*npts] = x96*z; + basis_xz_eval[ipt + 1*npts] = x99; + basis_xz_eval[ipt + 2*npts] = radial_eval_alpha_squared*x0*x8 + x116 + x21; + basis_xz_eval[ipt + 3*npts] = x103*z; + basis_xz_eval[ipt + 4*npts] = y*(x105 + x27); + basis_xz_eval[ipt + 5*npts] = radial_eval_alpha_squared*x14*x2 + x100*x14 + x117*x2 + 4.0*x12; + basis_xz_eval[ipt + 6*npts] = z*(x106 + x53); + basis_xz_eval[ipt + 7*npts] = x109 + x35; + basis_xz_eval[ipt + 8*npts] = y*(x118 + x65); + basis_xz_eval[ipt + 9*npts] = radial_eval_alpha_squared*x17*x4 + x116 + x66; + basis_xz_eval[ipt + 10*npts] = radial_eval_alpha_squared*x15*x52; + basis_xz_eval[ipt + 11*npts] = x*(x113 + x53); + basis_xz_eval[ipt + 12*npts] = x*x119; + basis_xz_eval[ipt + 13*npts] = x120; + basis_xz_eval[ipt + 14*npts] = x*x121; // Evaluate second derivative of bfn wrt yy - basis_yy_eval[ipt + 0*npts] = x*x*x*x*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 1*npts] = x*x*x*y*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 2*npts] = x*x*x*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 3*npts] = x*x*(2*radial_eval + 5*radial_eval_alpha*y*y + radial_eval_alpha_squared*y*y*y*y); - basis_yy_eval[ipt + 4*npts] = x*x*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 5*npts] = x*x*z*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 6*npts] = x*y*(6*radial_eval + 7*radial_eval_alpha*y*y + radial_eval_alpha_squared*y*y*y*y); - basis_yy_eval[ipt + 7*npts] = x*z*(2*radial_eval + 5*radial_eval_alpha*y*y + radial_eval_alpha_squared*y*y*y*y); - basis_yy_eval[ipt + 8*npts] = x*y*z*z*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 9*npts] = x*z*z*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 10*npts] = y*y*(12*radial_eval + 9*radial_eval_alpha*y*y + radial_eval_alpha_squared*y*y*y*y); - basis_yy_eval[ipt + 11*npts] = y*z*(6*radial_eval + 7*radial_eval_alpha*y*y + radial_eval_alpha_squared*y*y*y*y); - basis_yy_eval[ipt + 12*npts] = z*z*(2*radial_eval + 5*radial_eval_alpha*y*y + radial_eval_alpha_squared*y*y*y*y); - basis_yy_eval[ipt + 13*npts] = y*z*z*z*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 14*npts] = z*z*z*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); + basis_yy_eval[ipt + 0*npts] = x123; + basis_yy_eval[ipt + 1*npts] = y*(x124 + x125); + basis_yy_eval[ipt + 2*npts] = x125*z; + basis_yy_eval[ipt + 3*npts] = x127 + x76; + basis_yy_eval[ipt + 4*npts] = x25*(x128 + x129); + basis_yy_eval[ipt + 5*npts] = x130; + basis_yy_eval[ipt + 6*npts] = x*x132; + basis_yy_eval[ipt + 7*npts] = x52*(x133 + x5*x75); + basis_yy_eval[ipt + 8*npts] = x63*(x134 + x89); + basis_yy_eval[ipt + 9*npts] = x*x135; + basis_yy_eval[ipt + 10*npts] = x136; + basis_yy_eval[ipt + 11*npts] = x132*z; + basis_yy_eval[ipt + 12*npts] = x137 + x138; + basis_yy_eval[ipt + 13*npts] = y*(x135 + x91); + basis_yy_eval[ipt + 14*npts] = x139; // Evaluate second derivative of bfn wrt yz - basis_yz_eval[ipt + 0*npts] = radial_eval_alpha_squared*x*x*x*x*y*z; - basis_yz_eval[ipt + 1*npts] = x*x*x*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yz_eval[ipt + 2*npts] = x*x*x*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_yz_eval[ipt + 3*npts] = x*x*y*z*(2*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yz_eval[ipt + 4*npts] = x*x*(radial_eval + radial_eval_alpha*y*y + radial_eval_alpha*z*z + radial_eval_alpha_squared*y*y*z*z); - basis_yz_eval[ipt + 5*npts] = x*x*y*z*(2*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_yz_eval[ipt + 6*npts] = x*y*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yz_eval[ipt + 7*npts] = x*y*(2*radial_eval + radial_eval_alpha*y*y + 2*radial_eval_alpha*z*z + radial_eval_alpha_squared*y*y*z*z); - basis_yz_eval[ipt + 8*npts] = x*z*(2*radial_eval + 2*radial_eval_alpha*y*y + radial_eval_alpha*z*z + radial_eval_alpha_squared*y*y*z*z); - basis_yz_eval[ipt + 9*npts] = x*y*z*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_yz_eval[ipt + 10*npts] = y*y*y*z*(4*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yz_eval[ipt + 11*npts] = y*y*(3*radial_eval + radial_eval_alpha*y*y + 3*radial_eval_alpha*z*z + radial_eval_alpha_squared*y*y*z*z); - basis_yz_eval[ipt + 12*npts] = y*z*(4*radial_eval + 2*radial_eval_alpha*y*y + 2*radial_eval_alpha*z*z + radial_eval_alpha_squared*y*y*z*z); - basis_yz_eval[ipt + 13*npts] = z*z*(3*radial_eval + 3*radial_eval_alpha*y*y + radial_eval_alpha*z*z + radial_eval_alpha_squared*y*y*z*z); - basis_yz_eval[ipt + 14*npts] = y*z*z*z*(4*radial_eval_alpha + radial_eval_alpha_squared*z*z); + basis_yz_eval[ipt + 0*npts] = radial_eval_alpha_squared*x0*x25; + basis_yz_eval[ipt + 1*npts] = z*(x102 + x26); + basis_yz_eval[ipt + 2*npts] = y*(x104 + x26); + basis_yz_eval[ipt + 3*npts] = x107*z; + basis_yz_eval[ipt + 4*npts] = x108 + x37 + x50; + basis_yz_eval[ipt + 5*npts] = x118*y; + basis_yz_eval[ipt + 6*npts] = x112; + basis_yz_eval[ipt + 7*npts] = x*(x114 + x54); + basis_yz_eval[ipt + 8*npts] = x*(x119 + x65); + basis_yz_eval[ipt + 9*npts] = x120; + basis_yz_eval[ipt + 10*npts] = x111*z; + basis_yz_eval[ipt + 11*npts] = radial_eval_alpha_squared*x15*x8 + x140 + x51; + basis_yz_eval[ipt + 12*npts] = radial_eval_alpha_squared*x11*x14 + x101*x14 + x11*x117 + 4.0*x7; + basis_yz_eval[ipt + 13*npts] = radial_eval_alpha_squared*x17*x5 + x140 + x66; + basis_yz_eval[ipt + 14*npts] = x121*y; // Evaluate second derivative of bfn wrt zz - basis_zz_eval[ipt + 0*npts] = x*x*x*x*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 1*npts] = x*x*x*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 2*npts] = x*x*x*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 3*npts] = x*x*y*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 4*npts] = x*x*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 5*npts] = x*x*(2*radial_eval + 5*radial_eval_alpha*z*z + radial_eval_alpha_squared*z*z*z*z); - basis_zz_eval[ipt + 6*npts] = x*y*y*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 7*npts] = x*y*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 8*npts] = x*y*(2*radial_eval + 5*radial_eval_alpha*z*z + radial_eval_alpha_squared*z*z*z*z); - basis_zz_eval[ipt + 9*npts] = x*z*(6*radial_eval + 7*radial_eval_alpha*z*z + radial_eval_alpha_squared*z*z*z*z); - basis_zz_eval[ipt + 10*npts] = y*y*y*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 11*npts] = y*y*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 12*npts] = y*y*(2*radial_eval + 5*radial_eval_alpha*z*z + radial_eval_alpha_squared*z*z*z*z); - basis_zz_eval[ipt + 13*npts] = y*z*(6*radial_eval + 7*radial_eval_alpha*z*z + radial_eval_alpha_squared*z*z*z*z); - basis_zz_eval[ipt + 14*npts] = z*z*(12*radial_eval + 9*radial_eval_alpha*z*z + radial_eval_alpha_squared*z*z*z*z); + basis_zz_eval[ipt + 0*npts] = x142; + basis_zz_eval[ipt + 1*npts] = x143*y; + basis_zz_eval[ipt + 2*npts] = z*(x124 + x143); + basis_zz_eval[ipt + 3*npts] = x144; + basis_zz_eval[ipt + 4*npts] = x25*(x128 + x145); + basis_zz_eval[ipt + 5*npts] = x146 + x81; + basis_zz_eval[ipt + 6*npts] = x*x147; + basis_zz_eval[ipt + 7*npts] = x52*(x148 + x87); + basis_zz_eval[ipt + 8*npts] = x63*(x149 + x75*x8); + basis_zz_eval[ipt + 9*npts] = x*x151; + basis_zz_eval[ipt + 10*npts] = x152; + basis_zz_eval[ipt + 11*npts] = z*(x147 + x85); + basis_zz_eval[ipt + 12*npts] = x137 + x153; + basis_zz_eval[ipt + 13*npts] = x151*y; + basis_zz_eval[ipt + 14*npts] = x154; + + @@ -296,36 +456,36 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = radial_eval*x*x*x*x; - ang_eval_1 = radial_eval*x*x*x*y; - ang_eval_2 = radial_eval*x*x*x*z; - ang_eval_3 = radial_eval*x*x*y*y; + ang_eval_0 = radial_eval*x0; + ang_eval_1 = x1*x2; + ang_eval_2 = x2*x3; + ang_eval_3 = radial_eval*x6; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = radial_eval*x*x*y*z; - ang_eval_1 = radial_eval*x*x*z*z; - ang_eval_2 = radial_eval*x*y*y*y; - ang_eval_3 = radial_eval*x*y*y*z; + ang_eval_0 = x4*x7; + ang_eval_1 = radial_eval*x9; + ang_eval_2 = x10*x11; + ang_eval_3 = x12*x5; basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; basis_eval[ipt + 6*npts] = ang_eval_2; basis_eval[ipt + 7*npts] = ang_eval_3; - ang_eval_0 = radial_eval*x*y*z*z; - ang_eval_1 = radial_eval*x*z*z*z; - ang_eval_2 = radial_eval*y*y*y*y; - ang_eval_3 = radial_eval*y*y*y*z; + ang_eval_0 = x13*x8; + ang_eval_1 = x10*x14; + ang_eval_2 = radial_eval*x15; + ang_eval_3 = x11*x3; basis_eval[ipt + 8*npts] = ang_eval_0; basis_eval[ipt + 9*npts] = ang_eval_1; basis_eval[ipt + 10*npts] = ang_eval_2; basis_eval[ipt + 11*npts] = ang_eval_3; - ang_eval_0 = radial_eval*y*y*z*z; - ang_eval_1 = radial_eval*y*z*z*z; - ang_eval_2 = radial_eval*z*z*z*z; + ang_eval_0 = radial_eval*x16; + ang_eval_1 = x1*x14; + ang_eval_2 = radial_eval*x17; basis_eval[ipt + 12*npts] = ang_eval_0; basis_eval[ipt + 13*npts] = ang_eval_1; basis_eval[ipt + 14*npts] = ang_eval_2; @@ -336,18 +496,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = x*x*x*(4*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = radial_eval_alpha*x*x*x*x*y; - dang_eval_z_0 = radial_eval_alpha*x*x*x*x*z; - dang_eval_x_1 = x*x*y*(3*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = x*x*x*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = radial_eval_alpha*x*x*x*y*z; - dang_eval_x_2 = x*x*z*(3*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_2 = radial_eval_alpha*x*x*x*y*z; - dang_eval_z_2 = x*x*x*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_3 = x*y*y*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_3 = x*x*y*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = radial_eval_alpha*x*x*y*y*z; + dang_eval_x_0 = radial_eval_alpha*x18 + x19*x2; + dang_eval_y_0 = x0*x45; + dang_eval_z_0 = x0*x61; + dang_eval_x_1 = x21*y; + dang_eval_y_1 = x24 + x46; + dang_eval_z_1 = x47; + dang_eval_x_2 = x21*z; + dang_eval_y_2 = x47; + dang_eval_z_2 = x29 + x46; + dang_eval_x_3 = x22*x5 + x24; + dang_eval_y_3 = x32 + x4*x48; + dang_eval_z_3 = x6*x61; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -361,18 +521,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = x*y*z*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = x*x*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = x*x*y*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = x*z*z*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = radial_eval_alpha*x*x*y*z*z; - dang_eval_z_1 = x*x*z*(2*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = y*y*y*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_2 = x*y*y*(3*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_2 = radial_eval_alpha*x*y*y*y*z; - dang_eval_x_3 = y*y*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_3 = x*y*z*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = x*y*y*(radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x25*x27; + dang_eval_y_0 = x50*z; + dang_eval_z_0 = y*(x37 + x49); + dang_eval_x_1 = x22*x8 + x29; + dang_eval_y_1 = x45*x9; + dang_eval_z_1 = x4*x62 + x41; + dang_eval_x_2 = x30 + x32; + dang_eval_y_2 = x*x51; + dang_eval_z_2 = x43; + dang_eval_x_3 = x35*z; + dang_eval_y_3 = x52*x54; + dang_eval_z_3 = x*(x33 + x55); basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; @@ -386,18 +546,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 7*npts] = dang_eval_y_3; basis_z_eval[ipt + 7*npts] = dang_eval_z_3; - dang_eval_x_0 = y*z*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = x*z*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = x*y*z*(2*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = z*z*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = radial_eval_alpha*x*y*z*z*z; - dang_eval_z_1 = x*z*z*(3*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = radial_eval_alpha*x*y*y*y*y; - dang_eval_y_2 = y*y*y*(4*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_2 = radial_eval_alpha*y*y*y*y*z; - dang_eval_x_3 = radial_eval_alpha*x*y*y*y*z; - dang_eval_y_3 = y*y*z*(3*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = y*y*y*(radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x38*y; + dang_eval_y_0 = x*(x36 + x55); + dang_eval_z_0 = x63*x65; + dang_eval_x_1 = x39 + x41; + dang_eval_y_1 = x44; + dang_eval_z_1 = x*x66; + dang_eval_x_2 = x15*x42; + dang_eval_y_2 = radial_eval_alpha*x56 + x11*x19; + dang_eval_z_2 = x15*x61; + dang_eval_x_3 = x43; + dang_eval_y_3 = x51*z; + dang_eval_z_3 = x30 + x58; basis_x_eval[ipt + 8*npts] = dang_eval_x_0; basis_y_eval[ipt + 8*npts] = dang_eval_y_0; basis_z_eval[ipt + 8*npts] = dang_eval_z_0; @@ -411,15 +571,15 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 11*npts] = dang_eval_y_3; basis_z_eval[ipt + 11*npts] = dang_eval_z_3; - dang_eval_x_0 = radial_eval_alpha*x*y*y*z*z; - dang_eval_y_0 = y*z*z*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = y*y*z*(2*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = radial_eval_alpha*x*y*z*z*z; - dang_eval_y_1 = z*z*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = y*z*z*(3*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = radial_eval_alpha*x*z*z*z*z; - dang_eval_y_2 = radial_eval_alpha*y*z*z*z*z; - dang_eval_z_2 = z*z*z*(4*radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x16*x42; + dang_eval_y_0 = x48*x8 + x58; + dang_eval_z_0 = x5*x62 + x60; + dang_eval_x_1 = x44; + dang_eval_y_1 = x39 + x60; + dang_eval_z_1 = x66*y; + dang_eval_x_2 = x17*x42; + dang_eval_y_2 = x17*x45; + dang_eval_z_2 = radial_eval_alpha*x67 + x14*x19; basis_x_eval[ipt + 12*npts] = dang_eval_x_0; basis_y_eval[ipt + 12*npts] = dang_eval_y_0; basis_z_eval[ipt + 12*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4_lapgrad.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4_lapgrad.hpp new file mode 100644 index 00000000..50492482 --- /dev/null +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4_lapgrad.hpp @@ -0,0 +1,785 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once +#include "collocation_device_constants.hpp" +#include "device/xc_device_task.hpp" +#include "device_specific/cuda_device_constants.hpp" +#include "device/common/shell_to_task.hpp" +#include + +namespace GauXC { + + +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_cartesian_lapgrad_4( + uint32_t nshell, + ShellToTaskDevice* __restrict__ shell_to_task, + XCDeviceTask* __restrict__ device_tasks +) { + + + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; + double* my_alpha = alpha[threadIdx.x/32]; + double* my_coeff = coeff[threadIdx.x/32]; + + for( auto ish = blockIdx.z; ish < nshell; ish += gridDim.z ) { + const uint32_t ntasks = shell_to_task[ish].ntask; + const auto shell = shell_to_task[ish].shell_device; + const auto task_idx = shell_to_task[ish].task_idx_device; + const auto task_shell_offs = shell_to_task[ish].task_shell_offs_device; + + + // Load Shell Data into registers / SM + const uint32_t nprim = shell->nprim(); + const double3 O = *reinterpret_cast(shell->O_data()); + + const int global_warp_id = (threadIdx.x + blockIdx.x*blockDim.x) / cuda::warp_size; + const int nwarp_global = max((blockDim.x*gridDim.x) / cuda::warp_size,1); + + // Read in coeffs/exps into SM on first warp + { + auto* coeff_gm = shell->coeff_data(); + auto* alpha_gm = shell->alpha_data(); + static_assert( detail::shell_nprim_max == cuda::warp_size ); + const int warp_rank = threadIdx.x % cuda::warp_size; + my_alpha[warp_rank] = alpha_gm[warp_rank]; + my_coeff[warp_rank] = coeff_gm[warp_rank]; + } + + // Loop over tasks assigned to shells + // Place each task on a different warp + schedule across blocks + for( int itask = global_warp_id; itask < ntasks; itask += nwarp_global ) { + + const auto* task = device_tasks + task_idx[itask]; + const auto* __restrict__ points_x = task->points_x; + const auto* __restrict__ points_y = task->points_y; + const auto* __restrict__ points_z = task->points_z; + const uint32_t npts = task->npts; + const size_t shoff = task_shell_offs[itask] * npts; + + auto* __restrict__ basis_eval = task->bf + shoff; + auto* __restrict__ basis_x_eval = task->dbfx + shoff; + auto* __restrict__ basis_y_eval = task->dbfy + shoff; + auto* __restrict__ basis_z_eval = task->dbfz + shoff; + auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; + auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; + auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; + auto* __restrict__ basis_yy_eval = task->d2bfyy + shoff; + auto* __restrict__ basis_yz_eval = task->d2bfyz + shoff; + auto* __restrict__ basis_zz_eval = task->d2bfzz + shoff; + auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; + auto* __restrict__ basis_lapl_x_eval = task->d3bflapl_x + shoff; + auto* __restrict__ basis_lapl_y_eval = task->d3bflapl_y + shoff; + auto* __restrict__ basis_lapl_z_eval = task->d3bflapl_z + shoff; + + // Loop over points in task + // Assign each point to separate thread within the warp + #pragma unroll 1 + for( int ipt = threadIdx.x % cuda::warp_size; ipt < npts; ipt += cuda::warp_size ) { + //const double3 point = points[ipt]; + double3 point; + point.x = points_x[ipt]; + point.y = points_y[ipt]; + point.z = points_z[ipt]; + + + const auto x = point.x - O.x; + const auto y = point.y - O.y; + const auto z = point.z - O.z; + const auto rsq = x*x + y*y + z*z; + + // Evaluate radial part of bfn + double radial_eval = 0.; + double radial_eval_alpha = 0.; + double radial_eval_alpha_squared = 0.; + double radial_eval_alpha_cubed = 0.; + + #pragma unroll 1 + for( uint32_t i = 0; i < nprim; ++i ) { + const auto a = my_alpha[i]; + const auto e = my_coeff[i] * std::exp( - a * rsq ); + + radial_eval += e; + radial_eval_alpha += a * e; + radial_eval_alpha_squared += a * a * e; + radial_eval_alpha_cubed += a * a * a * e; + } + + radial_eval_alpha *= -2; + radial_eval_alpha_squared *= 4; + radial_eval_alpha_cubed *= -8; + + // Common Subexpressions + const auto x0 = x*x*x*x; + const auto x1 = radial_eval*y; + const auto x2 = x*x*x; + const auto x3 = radial_eval*z; + const auto x4 = x*x; + const auto x5 = x4; + const auto x6 = y*y; + const auto x7 = x6; + const auto x8 = x5*x7; + const auto x9 = x1*z; + const auto x10 = z*z; + const auto x11 = x10; + const auto x12 = x11*x5; + const auto x13 = radial_eval*x; + const auto x14 = y*y*y; + const auto x15 = x*x3; + const auto x16 = x*x1; + const auto x17 = z*z*z; + const auto x18 = y*y*y*y; + const auto x19 = x11*x7; + const auto x20 = z*z*z*z; + const auto x21 = x*x*x*x*x; + const auto x22 = 4.0*radial_eval; + const auto x23 = 3.0*radial_eval; + const auto x24 = radial_eval_alpha*x0 + x23*x5; + const auto x25 = 2.0*x13; + const auto x26 = x2*x7; + const auto x27 = radial_eval_alpha*x26; + const auto x28 = y*z; + const auto x29 = radial_eval_alpha*x2; + const auto x30 = x25 + x29; + const auto x31 = x11*x2; + const auto x32 = radial_eval_alpha*x31; + const auto x33 = radial_eval*x14; + const auto x34 = x14*x5; + const auto x35 = radial_eval_alpha*x34; + const auto x36 = radial_eval*x7; + const auto x37 = radial_eval_alpha*x8; + const auto x38 = x36 + x37; + const auto x39 = radial_eval*x11; + const auto x40 = radial_eval_alpha*x12; + const auto x41 = x39 + x40; + const auto x42 = radial_eval*x17; + const auto x43 = x17*x5; + const auto x44 = radial_eval_alpha*x43; + const auto x45 = radial_eval_alpha*x; + const auto x46 = x14*x45*z; + const auto x47 = x17*x45*y; + const auto x48 = radial_eval_alpha*y; + const auto x49 = radial_eval*x2; + const auto x50 = radial_eval_alpha*x2*x28; + const auto x51 = 2.0*x1; + const auto x52 = radial_eval*x5; + const auto x53 = x37 + x52; + const auto x54 = radial_eval_alpha*x18 + x23*x7; + const auto x55 = x*z; + const auto x56 = radial_eval_alpha*x14; + const auto x57 = x51 + x56; + const auto x58 = radial_eval_alpha*x19; + const auto x59 = y*y*y*y*y; + const auto x60 = x11*x14; + const auto x61 = radial_eval_alpha*x60; + const auto x62 = x17*x7; + const auto x63 = radial_eval_alpha*x62; + const auto x64 = radial_eval_alpha*z; + const auto x65 = 2.0*x3; + const auto x66 = x*y; + const auto x67 = radial_eval_alpha*x17; + const auto x68 = x65 + x67; + const auto x69 = radial_eval_alpha*x20 + x11*x23; + const auto x70 = z*z*z*z*z; + const auto x71 = 12.0*radial_eval; + const auto x72 = 8.0*radial_eval_alpha; + const auto x73 = radial_eval_alpha + radial_eval_alpha_squared*x5; + const auto x74 = x0*x72 + x0*x73 + x5*x71; + const auto x75 = 6.0*radial_eval_alpha; + const auto x76 = x2*x73; + const auto x77 = 6.0*x13 + x76; + const auto x78 = x2*x75 + x77; + const auto x79 = 4.0*radial_eval_alpha; + const auto x80 = x79*x8; + const auto x81 = 2.0*radial_eval; + const auto x82 = x7*x81; + const auto x83 = x5*x7*x73 + x82; + const auto x84 = x5*x73; + const auto x85 = x81 + x84; + const auto x86 = x12*x79; + const auto x87 = x11*x81; + const auto x88 = x11*x5*x73 + x87; + const auto x89 = 2.0*radial_eval_alpha; + const auto x90 = x14*x89; + const auto x91 = x14*x73; + const auto x92 = x7*x89; + const auto x93 = x7*x73; + const auto x94 = x11*x89; + const auto x95 = x11*x73; + const auto x96 = x17*x89; + const auto x97 = x17*x73; + const auto x98 = x18*x73; + const auto x99 = x11*x7*x73; + const auto x100 = x20*x73; + const auto x101 = radial_eval_alpha_squared*x21 + x2*x79; + const auto x102 = 3.0*radial_eval_alpha; + const auto x103 = x102*x8; + const auto x104 = x28*(radial_eval_alpha_squared*x0 + x102*x5); + const auto x105 = 2.0*x45; + const auto x106 = 2.0*x48; + const auto x107 = x105*x7; + const auto x108 = radial_eval_alpha_squared*x26; + const auto x109 = x107 + x108; + const auto x110 = x105*x11; + const auto x111 = radial_eval_alpha_squared*x31; + const auto x112 = x110 + x111; + const auto x113 = x106*x5; + const auto x114 = radial_eval_alpha_squared*x34; + const auto x115 = x113 + x114; + const auto x116 = radial_eval_alpha_squared*x11*x5*x7; + const auto x117 = x116 + x58; + const auto x118 = radial_eval_alpha_squared*x43; + const auto x119 = radial_eval_alpha_squared*x59 + x14*x79; + const auto x120 = x55*(radial_eval_alpha_squared*x18 + x102*x7); + const auto x121 = x106*x11; + const auto x122 = radial_eval_alpha_squared*x60; + const auto x123 = x121 + x122; + const auto x124 = radial_eval_alpha_squared*x62; + const auto x125 = x102*x12; + const auto x126 = 2.0*x64; + const auto x127 = x126*x5; + const auto x128 = x118 + x127; + const auto x129 = x126*x7; + const auto x130 = x124 + x129; + const auto x131 = x66*(radial_eval_alpha_squared*x20 + x102*x11); + const auto x132 = radial_eval_alpha_squared*x70 + x17*x79; + const auto x133 = radial_eval_alpha + radial_eval_alpha_squared*x7; + const auto x134 = x0*x133; + const auto x135 = x2*x89; + const auto x136 = x133*x2; + const auto x137 = x5*x81; + const auto x138 = x133*x5*x7 + x137; + const auto x139 = x5*x89; + const auto x140 = x133*x5; + const auto x141 = x11*x133*x5; + const auto x142 = x133*x14; + const auto x143 = 6.0*x1 + x142; + const auto x144 = x14*x75 + x143; + const auto x145 = x133*x7; + const auto x146 = x145 + x81; + const auto x147 = x11*x133; + const auto x148 = x133*x17; + const auto x149 = x133*x18 + x18*x72 + x7*x71; + const auto x150 = x19*x79; + const auto x151 = x11*x133*x7 + x87; + const auto x152 = x133*x20; + const auto x153 = x102*x19; + const auto x154 = radial_eval_alpha + radial_eval_alpha_squared*x11; + const auto x155 = x0*x154; + const auto x156 = x154*x2; + const auto x157 = x154*x5*x7; + const auto x158 = x154*x5; + const auto x159 = x11*x154*x5 + x137; + const auto x160 = x14*x154; + const auto x161 = x154*x7; + const auto x162 = x11*x154; + const auto x163 = x162 + x81; + const auto x164 = x154*x17; + const auto x165 = x164 + 6.0*x3; + const auto x166 = x165 + x17*x75; + const auto x167 = x154*x18; + const auto x168 = x11*x154*x7 + x82; + const auto x169 = x11*x71 + x154*x20 + x20*x72; + const auto x170 = x136 + x156 + x2*x72 + x77; + const auto x171 = x158 + x85; + const auto x172 = x14*x72 + x143 + x160 + x91; + const auto x173 = x146 + x161; + const auto x174 = x147 + x163; + const auto x175 = x148 + x165 + x17*x72 + x97; + const auto x176 = 36.0*radial_eval_alpha; + const auto x177 = radial_eval_alpha_cubed*x7 + radial_eval_alpha_squared; + const auto x178 = x0*x177; + const auto x179 = radial_eval_alpha_cubed*x11 + radial_eval_alpha_squared; + const auto x180 = x0*x179; + const auto x181 = radial_eval_alpha_squared*x; + const auto x182 = radial_eval_alpha_cubed*x2 + 3.0*x181; + const auto x183 = 6.0*radial_eval; + const auto x184 = 24.0*radial_eval_alpha; + const auto x185 = 2.0*radial_eval_alpha_squared; + const auto x186 = 3.0*x140; + const auto x187 = 3.0*x158; + const auto x188 = x177*x2; + const auto x189 = x179*x2; + const auto x190 = x*x188 + x*x189 + x0*x185 + x182*x2 + x183 + x184*x5 + x186 + x187 + 9.0*x84; + const auto x191 = 2.0*x; + const auto x192 = 4.0*radial_eval_alpha_squared; + const auto x193 = 6.0*x; + const auto x194 = 14.0*x45; + const auto x195 = x177*x5*x7; + const auto x196 = x179*x5*x7; + const auto x197 = 4.0*x13 + x135; + const auto x198 = x177*x5; + const auto x199 = x179*x5; + const auto x200 = x11*x177*x5; + const auto x201 = x11*x179*x5; + const auto x202 = x14*x182; + const auto x203 = x14*x177; + const auto x204 = x14*x179; + const auto x205 = 6.0*x48; + const auto x206 = 6.0*radial_eval_alpha_squared; + const auto x207 = 3.0*x93; + const auto x208 = x7*x75; + const auto x209 = x177*x7; + const auto x210 = x179*x7; + const auto x211 = x206*x8; + const auto x212 = 3.0*x95; + const auto x213 = x11*x75; + const auto x214 = x11*x177; + const auto x215 = x11*x179; + const auto x216 = x12*x206; + const auto x217 = x17*x182; + const auto x218 = x17*x177; + const auto x219 = x17*x179; + const auto x220 = 6.0*x64; + const auto x221 = 12.0*x45; + const auto x222 = 8.0*x181; + const auto x223 = x177*x18; + const auto x224 = x179*x18; + const auto x225 = 6.0*y; + const auto x226 = x225*x45; + const auto x227 = x11*x177*x7; + const auto x228 = x11*x179*x7; + const auto x229 = 6.0*z; + const auto x230 = x229*x45; + const auto x231 = x177*x20; + const auto x232 = x179*x20; + const auto x233 = 12.0*x48; + const auto x234 = radial_eval_alpha_squared*y; + const auto x235 = 8.0*x234; + const auto x236 = radial_eval_alpha_cubed*x5 + radial_eval_alpha_squared; + const auto x237 = x0*x236; + const auto x238 = radial_eval_alpha_cubed*x14 + 3.0*x234; + const auto x239 = x2*x238; + const auto x240 = x2*x236; + const auto x241 = 6.0*x45; + const auto x242 = 2.0*y; + const auto x243 = 14.0*x48; + const auto x244 = x236*x5*x7; + const auto x245 = 4.0*x1 + x90; + const auto x246 = x5*x75; + const auto x247 = x236*x5; + const auto x248 = x11*x236*x5; + const auto x249 = 3.0*x161; + const auto x250 = x14*x236; + const auto x251 = x14*x238 + 9.0*x145 + x18*x185 + x183 + x184*x7 + x204*y + x207 + x249 + x250*y; + const auto x252 = x236*x7; + const auto x253 = 3.0*x147; + const auto x254 = x11*x236; + const auto x255 = x19*x206; + const auto x256 = x28*x75; + const auto x257 = x17*x236; + const auto x258 = x17*x238; + const auto x259 = x18*x236; + const auto x260 = x11*x236*x7; + const auto x261 = x20*x236; + const auto x262 = 12.0*x64; + const auto x263 = radial_eval_alpha_squared*z; + const auto x264 = 8.0*x263; + const auto x265 = radial_eval_alpha_cubed*x17 + 3.0*x263; + const auto x266 = x2*x265; + const auto x267 = 2.0*z; + const auto x268 = 14.0*x64; + const auto x269 = 4.0*x3 + x96; + const auto x270 = x14*x265; + const auto x271 = x11*x184 + 9.0*x162 + x17*x265 + x183 + x185*x20 + x212 + x218*z + x253 + x257*z; + + + // Evaluate basis function + basis_eval[ipt + 0*npts] = radial_eval*x0; + basis_eval[ipt + 1*npts] = x1*x2; + basis_eval[ipt + 2*npts] = x2*x3; + basis_eval[ipt + 3*npts] = radial_eval*x8; + basis_eval[ipt + 4*npts] = x5*x9; + basis_eval[ipt + 5*npts] = radial_eval*x12; + basis_eval[ipt + 6*npts] = x13*x14; + basis_eval[ipt + 7*npts] = x15*x7; + basis_eval[ipt + 8*npts] = x11*x16; + basis_eval[ipt + 9*npts] = x13*x17; + basis_eval[ipt + 10*npts] = radial_eval*x18; + basis_eval[ipt + 11*npts] = x14*x3; + basis_eval[ipt + 12*npts] = radial_eval*x19; + basis_eval[ipt + 13*npts] = x1*x17; + basis_eval[ipt + 14*npts] = radial_eval*x20; + + + + // Evaluate first derivative of bfn wrt x + basis_x_eval[ipt + 0*npts] = radial_eval_alpha*x21 + x2*x22; + basis_x_eval[ipt + 1*npts] = x24*y; + basis_x_eval[ipt + 2*npts] = x24*z; + basis_x_eval[ipt + 3*npts] = x25*x7 + x27; + basis_x_eval[ipt + 4*npts] = x28*x30; + basis_x_eval[ipt + 5*npts] = x11*x25 + x32; + basis_x_eval[ipt + 6*npts] = x33 + x35; + basis_x_eval[ipt + 7*npts] = x38*z; + basis_x_eval[ipt + 8*npts] = x41*y; + basis_x_eval[ipt + 9*npts] = x42 + x44; + basis_x_eval[ipt + 10*npts] = x18*x45; + basis_x_eval[ipt + 11*npts] = x46; + basis_x_eval[ipt + 12*npts] = x19*x45; + basis_x_eval[ipt + 13*npts] = x47; + basis_x_eval[ipt + 14*npts] = x20*x45; + + // Evaluate first derivative of bfn wrt y + basis_y_eval[ipt + 0*npts] = x0*x48; + basis_y_eval[ipt + 1*npts] = x27 + x49; + basis_y_eval[ipt + 2*npts] = x50; + basis_y_eval[ipt + 3*npts] = x35 + x5*x51; + basis_y_eval[ipt + 4*npts] = x53*z; + basis_y_eval[ipt + 5*npts] = x12*x48; + basis_y_eval[ipt + 6*npts] = x*x54; + basis_y_eval[ipt + 7*npts] = x55*x57; + basis_y_eval[ipt + 8*npts] = x*(x39 + x58); + basis_y_eval[ipt + 9*npts] = x47; + basis_y_eval[ipt + 10*npts] = radial_eval_alpha*x59 + x14*x22; + basis_y_eval[ipt + 11*npts] = x54*z; + basis_y_eval[ipt + 12*npts] = x11*x51 + x61; + basis_y_eval[ipt + 13*npts] = x42 + x63; + basis_y_eval[ipt + 14*npts] = x20*x48; + + // Evaluate first derivative of bfn wrt z + basis_z_eval[ipt + 0*npts] = x0*x64; + basis_z_eval[ipt + 1*npts] = x50; + basis_z_eval[ipt + 2*npts] = x32 + x49; + basis_z_eval[ipt + 3*npts] = x64*x8; + basis_z_eval[ipt + 4*npts] = y*(x40 + x52); + basis_z_eval[ipt + 5*npts] = x44 + x5*x65; + basis_z_eval[ipt + 6*npts] = x46; + basis_z_eval[ipt + 7*npts] = x*(x36 + x58); + basis_z_eval[ipt + 8*npts] = x66*x68; + basis_z_eval[ipt + 9*npts] = x*x69; + basis_z_eval[ipt + 10*npts] = x18*x64; + basis_z_eval[ipt + 11*npts] = x33 + x61; + basis_z_eval[ipt + 12*npts] = x63 + x65*x7; + basis_z_eval[ipt + 13*npts] = x69*y; + basis_z_eval[ipt + 14*npts] = radial_eval_alpha*x70 + x17*x22; + + // Evaluate second derivative of bfn wrt xx + basis_xx_eval[ipt + 0*npts] = x74; + basis_xx_eval[ipt + 1*npts] = x78*y; + basis_xx_eval[ipt + 2*npts] = x78*z; + basis_xx_eval[ipt + 3*npts] = x80 + x83; + basis_xx_eval[ipt + 4*npts] = x28*(x5*x79 + x85); + basis_xx_eval[ipt + 5*npts] = x86 + x88; + basis_xx_eval[ipt + 6*npts] = x*(x90 + x91); + basis_xx_eval[ipt + 7*npts] = x55*(x92 + x93); + basis_xx_eval[ipt + 8*npts] = x66*(x94 + x95); + basis_xx_eval[ipt + 9*npts] = x*(x96 + x97); + basis_xx_eval[ipt + 10*npts] = x98; + basis_xx_eval[ipt + 11*npts] = x91*z; + basis_xx_eval[ipt + 12*npts] = x99; + basis_xx_eval[ipt + 13*npts] = x97*y; + basis_xx_eval[ipt + 14*npts] = x100; + + // Evaluate second derivative of bfn wrt xy + basis_xy_eval[ipt + 0*npts] = x101*y; + basis_xy_eval[ipt + 1*npts] = radial_eval_alpha_squared*x0*x7 + x103 + x24; + basis_xy_eval[ipt + 2*npts] = x104; + basis_xy_eval[ipt + 3*npts] = radial_eval_alpha_squared*x14*x2 + x105*x14 + x106*x2 + 4.0*x16; + basis_xy_eval[ipt + 4*npts] = z*(x109 + x30); + basis_xy_eval[ipt + 5*npts] = x112*y; + basis_xy_eval[ipt + 6*npts] = radial_eval_alpha_squared*x18*x5 + x103 + x54; + basis_xy_eval[ipt + 7*npts] = z*(x115 + x57); + basis_xy_eval[ipt + 8*npts] = x117 + x41; + basis_xy_eval[ipt + 9*npts] = y*(x118 + x67); + basis_xy_eval[ipt + 10*npts] = x*x119; + basis_xy_eval[ipt + 11*npts] = x120; + basis_xy_eval[ipt + 12*npts] = x*x123; + basis_xy_eval[ipt + 13*npts] = x*(x124 + x67); + basis_xy_eval[ipt + 14*npts] = radial_eval_alpha_squared*x20*x66; + + // Evaluate second derivative of bfn wrt xz + basis_xz_eval[ipt + 0*npts] = x101*z; + basis_xz_eval[ipt + 1*npts] = x104; + basis_xz_eval[ipt + 2*npts] = radial_eval_alpha_squared*x0*x11 + x125 + x24; + basis_xz_eval[ipt + 3*npts] = x109*z; + basis_xz_eval[ipt + 4*npts] = y*(x112 + x30); + basis_xz_eval[ipt + 5*npts] = radial_eval_alpha_squared*x17*x2 + x105*x17 + x126*x2 + 4.0*x15; + basis_xz_eval[ipt + 6*npts] = z*(x114 + x56); + basis_xz_eval[ipt + 7*npts] = x117 + x38; + basis_xz_eval[ipt + 8*npts] = y*(x128 + x68); + basis_xz_eval[ipt + 9*npts] = radial_eval_alpha_squared*x20*x5 + x125 + x69; + basis_xz_eval[ipt + 10*npts] = radial_eval_alpha_squared*x18*x55; + basis_xz_eval[ipt + 11*npts] = x*(x122 + x56); + basis_xz_eval[ipt + 12*npts] = x*x130; + basis_xz_eval[ipt + 13*npts] = x131; + basis_xz_eval[ipt + 14*npts] = x*x132; + + // Evaluate second derivative of bfn wrt yy + basis_yy_eval[ipt + 0*npts] = x134; + basis_yy_eval[ipt + 1*npts] = y*(x135 + x136); + basis_yy_eval[ipt + 2*npts] = x136*z; + basis_yy_eval[ipt + 3*npts] = x138 + x80; + basis_yy_eval[ipt + 4*npts] = x28*(x139 + x140); + basis_yy_eval[ipt + 5*npts] = x141; + basis_yy_eval[ipt + 6*npts] = x*x144; + basis_yy_eval[ipt + 7*npts] = x55*(x146 + x7*x79); + basis_yy_eval[ipt + 8*npts] = x66*(x147 + x94); + basis_yy_eval[ipt + 9*npts] = x*x148; + basis_yy_eval[ipt + 10*npts] = x149; + basis_yy_eval[ipt + 11*npts] = x144*z; + basis_yy_eval[ipt + 12*npts] = x150 + x151; + basis_yy_eval[ipt + 13*npts] = y*(x148 + x96); + basis_yy_eval[ipt + 14*npts] = x152; + + // Evaluate second derivative of bfn wrt yz + basis_yz_eval[ipt + 0*npts] = radial_eval_alpha_squared*x0*x28; + basis_yz_eval[ipt + 1*npts] = z*(x108 + x29); + basis_yz_eval[ipt + 2*npts] = y*(x111 + x29); + basis_yz_eval[ipt + 3*npts] = x115*z; + basis_yz_eval[ipt + 4*npts] = x116 + x40 + x53; + basis_yz_eval[ipt + 5*npts] = x128*y; + basis_yz_eval[ipt + 6*npts] = x120; + basis_yz_eval[ipt + 7*npts] = x*(x123 + x57); + basis_yz_eval[ipt + 8*npts] = x*(x130 + x68); + basis_yz_eval[ipt + 9*npts] = x131; + basis_yz_eval[ipt + 10*npts] = x119*z; + basis_yz_eval[ipt + 11*npts] = radial_eval_alpha_squared*x11*x18 + x153 + x54; + basis_yz_eval[ipt + 12*npts] = radial_eval_alpha_squared*x14*x17 + x106*x17 + x126*x14 + 4.0*x9; + basis_yz_eval[ipt + 13*npts] = radial_eval_alpha_squared*x20*x7 + x153 + x69; + basis_yz_eval[ipt + 14*npts] = x132*y; + + // Evaluate second derivative of bfn wrt zz + basis_zz_eval[ipt + 0*npts] = x155; + basis_zz_eval[ipt + 1*npts] = x156*y; + basis_zz_eval[ipt + 2*npts] = z*(x135 + x156); + basis_zz_eval[ipt + 3*npts] = x157; + basis_zz_eval[ipt + 4*npts] = x28*(x139 + x158); + basis_zz_eval[ipt + 5*npts] = x159 + x86; + basis_zz_eval[ipt + 6*npts] = x*x160; + basis_zz_eval[ipt + 7*npts] = x55*(x161 + x92); + basis_zz_eval[ipt + 8*npts] = x66*(x11*x79 + x163); + basis_zz_eval[ipt + 9*npts] = x*x166; + basis_zz_eval[ipt + 10*npts] = x167; + basis_zz_eval[ipt + 11*npts] = z*(x160 + x90); + basis_zz_eval[ipt + 12*npts] = x150 + x168; + basis_zz_eval[ipt + 13*npts] = x166*y; + basis_zz_eval[ipt + 14*npts] = x169; + + // Evaluate Laplacian of bfn + basis_lapl_eval[ipt + 0*npts] = x134 + x155 + x74; + basis_lapl_eval[ipt + 1*npts] = x170*y; + basis_lapl_eval[ipt + 2*npts] = x170*z; + basis_lapl_eval[ipt + 3*npts] = x138 + x157 + x72*x8 + x83; + basis_lapl_eval[ipt + 4*npts] = x28*(x140 + x171 + x5*x72); + basis_lapl_eval[ipt + 5*npts] = x12*x72 + x141 + x159 + x88; + basis_lapl_eval[ipt + 6*npts] = x*x172; + basis_lapl_eval[ipt + 7*npts] = x55*(x173 + x7*x72 + x93); + basis_lapl_eval[ipt + 8*npts] = x66*(x11*x72 + x174 + x95); + basis_lapl_eval[ipt + 9*npts] = x*x175; + basis_lapl_eval[ipt + 10*npts] = x149 + x167 + x98; + basis_lapl_eval[ipt + 11*npts] = x172*z; + basis_lapl_eval[ipt + 12*npts] = x151 + x168 + x19*x72 + x99; + basis_lapl_eval[ipt + 13*npts] = x175*y; + basis_lapl_eval[ipt + 14*npts] = x100 + x152 + x169; + + // Evaluate Laplacian gradient of bfn (dx) + basis_lapl_x_eval[ipt + 0*npts] = x*x178 + x*x180 + x0*x182 + 24.0*x13 + 4.0*x136 + 4.0*x156 + x176*x2 + 12.0*x76; + basis_lapl_x_eval[ipt + 1*npts] = x190*y; + basis_lapl_x_eval[ipt + 2*npts] = x190*z; + basis_lapl_x_eval[ipt + 3*npts] = x*x195 + x*x196 + x145*x191 + x161*x191 + x182*x5*x7 + x192*x26 + x193*x93 + x194*x7 + x197; + basis_lapl_x_eval[ipt + 4*npts] = x28*(x*x198 + x*x199 + x133*x191 + x154*x191 + x182*x5 + x192*x2 + x193*x73 + x194); + basis_lapl_x_eval[ipt + 5*npts] = x*x200 + x*x201 + x11*x182*x5 + x11*x194 + x147*x191 + x162*x191 + x192*x31 + x193*x95 + x197; + basis_lapl_x_eval[ipt + 6*npts] = x*x202 + x144 + x160 + x203*x4 + x204*x4 + x205*x5 + x206*x34 + 3.0*x91; + basis_lapl_x_eval[ipt + 7*npts] = z*(x*x182*x7 + x139 + x173 + x207 + x208 + x209*x4 + x210*x4 + x211); + basis_lapl_x_eval[ipt + 8*npts] = y*(x*x11*x182 + x139 + x174 + x212 + x213 + x214*x4 + x215*x4 + x216); + basis_lapl_x_eval[ipt + 9*npts] = x*x217 + x148 + x166 + x206*x43 + x218*x4 + x219*x4 + x220*x5 + 3.0*x97; + basis_lapl_x_eval[ipt + 10*npts] = x*x223 + x*x224 + x18*x182 + x18*x222 + x221*x7; + basis_lapl_x_eval[ipt + 11*npts] = z*(x*x203 + x*x204 + x14*x222 + x202 + x226); + basis_lapl_x_eval[ipt + 12*npts] = x*x227 + x*x228 + x107 + x11*x182*x7 + x110 + x19*x222; + basis_lapl_x_eval[ipt + 13*npts] = y*(x*x218 + x*x219 + x17*x222 + x217 + x230); + basis_lapl_x_eval[ipt + 14*npts] = x*x231 + x*x232 + x11*x221 + x182*x20 + x20*x222; + // Evaluate Laplacian gradient of bfn (dy) + basis_lapl_y_eval[ipt + 0*npts] = x0*x235 + x0*x238 + x180*y + x233*x5 + x237*y; + basis_lapl_y_eval[ipt + 1*npts] = 3.0*x136 + x156 + x189*x6 + x206*x26 + x239*y + x240*x6 + x241*x7 + x78; + basis_lapl_y_eval[ipt + 2*npts] = z*(x189*y + x2*x235 + x226 + x239 + x240*y); + basis_lapl_y_eval[ipt + 3*npts] = x140*x225 + x158*x242 + x192*x34 + x196*y + x238*x5*x7 + x242*x84 + x243*x5 + x244*y + x245; + basis_lapl_y_eval[ipt + 4*npts] = z*(x171 + x186 + x199*x6 + x211 + x238*x5*y + x246 + x247*x6 + x92); + basis_lapl_y_eval[ipt + 5*npts] = x11*x238*x5 + x113 + x12*x235 + x121 + x201*y + x248*y; + basis_lapl_y_eval[ipt + 6*npts] = x*x251; + basis_lapl_y_eval[ipt + 7*npts] = x55*(x133*x225 + x14*x192 + x154*x242 + x210*y + x238*x7 + x242*x73 + x243 + x252*y); + basis_lapl_y_eval[ipt + 8*npts] = x*(x11*x238*y + x163 + x213 + x215*x6 + x253 + x254*x6 + x255 + x92 + x95); + basis_lapl_y_eval[ipt + 9*npts] = x*(x17*x235 + x219*y + x256 + x257*y + x258); + basis_lapl_y_eval[ipt + 10*npts] = 24.0*x1 + x14*x176 + 12.0*x142 + 4.0*x160 + x18*x238 + x224*y + x259*y + 4.0*x91; + basis_lapl_y_eval[ipt + 11*npts] = x251*z; + basis_lapl_y_eval[ipt + 12*npts] = x11*x238*x7 + x11*x243 + x147*x225 + x162*x242 + x192*x60 + x228*y + x242*x95 + x245 + x260*y; + basis_lapl_y_eval[ipt + 13*npts] = 3.0*x148 + x166 + x206*x62 + x219*x6 + x220*x7 + x257*x6 + x258*y + x97; + basis_lapl_y_eval[ipt + 14*npts] = x11*x233 + x20*x235 + x20*x238 + x232*y + x261*y; + // Evaluate Laplacian gradient of bfn (dz) + basis_lapl_z_eval[ipt + 0*npts] = x0*x264 + x0*x265 + x178*z + x237*z + x262*x5; + basis_lapl_z_eval[ipt + 1*npts] = y*(x188*z + x2*x264 + x230 + x240*z + x266); + basis_lapl_z_eval[ipt + 2*npts] = x10*x188 + x10*x240 + x11*x241 + x136 + 3.0*x156 + x206*x31 + x266*z + x78; + basis_lapl_z_eval[ipt + 3*npts] = x127 + x129 + x195*z + x244*z + x264*x8 + x265*x5*x7; + basis_lapl_z_eval[ipt + 4*npts] = y*(x10*x198 + x10*x247 + x140 + x187 + x216 + x246 + x265*x5*z + x85 + x94); + basis_lapl_z_eval[ipt + 5*npts] = x11*x265*x5 + x140*x267 + x158*x229 + x192*x43 + x200*z + x248*z + x267*x84 + x268*x5 + x269; + basis_lapl_z_eval[ipt + 6*npts] = x*(x14*x264 + x203*z + x250*z + x256 + x270); + basis_lapl_z_eval[ipt + 7*npts] = x*(x10*x209 + x10*x252 + x146 + x208 + x249 + x255 + x265*x7*z + x93 + x94); + basis_lapl_z_eval[ipt + 8*npts] = x66*(x11*x265 + x133*x267 + x154*x229 + x17*x192 + x214*z + x254*z + x267*x73 + x268); + basis_lapl_z_eval[ipt + 9*npts] = x*x271; + basis_lapl_z_eval[ipt + 10*npts] = x18*x264 + x18*x265 + x223*z + x259*z + x262*x7; + basis_lapl_z_eval[ipt + 11*npts] = x10*x203 + x10*x250 + x11*x205 + x144 + 3.0*x160 + x206*x60 + x270*z + x91; + basis_lapl_z_eval[ipt + 12*npts] = x11*x265*x7 + x145*x267 + x161*x229 + x192*x62 + x227*z + x260*z + x267*x93 + x268*x7 + x269; + basis_lapl_z_eval[ipt + 13*npts] = x271*y; + basis_lapl_z_eval[ipt + 14*npts] = 4.0*x148 + 12.0*x164 + x17*x176 + x20*x265 + x231*z + x261*z + 24.0*x3 + 4.0*x97; + + + + +#if 0 + // Evaluate the angular part of bfn + + + + double ang_eval_0; + double ang_eval_1; + double ang_eval_2; + double ang_eval_3; + + + ang_eval_0 = radial_eval*x0; + ang_eval_1 = x1*x2; + ang_eval_2 = x2*x3; + ang_eval_3 = radial_eval*x8; + basis_eval[ipt + 0*npts] = ang_eval_0; + basis_eval[ipt + 1*npts] = ang_eval_1; + basis_eval[ipt + 2*npts] = ang_eval_2; + basis_eval[ipt + 3*npts] = ang_eval_3; + + ang_eval_0 = x5*x9; + ang_eval_1 = radial_eval*x12; + ang_eval_2 = x13*x14; + ang_eval_3 = x15*x7; + basis_eval[ipt + 4*npts] = ang_eval_0; + basis_eval[ipt + 5*npts] = ang_eval_1; + basis_eval[ipt + 6*npts] = ang_eval_2; + basis_eval[ipt + 7*npts] = ang_eval_3; + + ang_eval_0 = x11*x16; + ang_eval_1 = x13*x17; + ang_eval_2 = radial_eval*x18; + ang_eval_3 = x14*x3; + basis_eval[ipt + 8*npts] = ang_eval_0; + basis_eval[ipt + 9*npts] = ang_eval_1; + basis_eval[ipt + 10*npts] = ang_eval_2; + basis_eval[ipt + 11*npts] = ang_eval_3; + + ang_eval_0 = radial_eval*x19; + ang_eval_1 = x1*x17; + ang_eval_2 = radial_eval*x20; + basis_eval[ipt + 12*npts] = ang_eval_0; + basis_eval[ipt + 13*npts] = ang_eval_1; + basis_eval[ipt + 14*npts] = ang_eval_2; + + + double dang_eval_x_0, dang_eval_y_0, dang_eval_z_0; + double dang_eval_x_1, dang_eval_y_1, dang_eval_z_1; + double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; + double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; + + dang_eval_x_0 = radial_eval_alpha*x21 + x2*x22; + dang_eval_y_0 = x0*x48; + dang_eval_z_0 = x0*x64; + dang_eval_x_1 = x24*y; + dang_eval_y_1 = x27 + x49; + dang_eval_z_1 = x50; + dang_eval_x_2 = x24*z; + dang_eval_y_2 = x50; + dang_eval_z_2 = x32 + x49; + dang_eval_x_3 = x25*x7 + x27; + dang_eval_y_3 = x35 + x5*x51; + dang_eval_z_3 = x64*x8; + basis_x_eval[ipt + 0*npts] = dang_eval_x_0; + basis_y_eval[ipt + 0*npts] = dang_eval_y_0; + basis_z_eval[ipt + 0*npts] = dang_eval_z_0; + basis_x_eval[ipt + 1*npts] = dang_eval_x_1; + basis_y_eval[ipt + 1*npts] = dang_eval_y_1; + basis_z_eval[ipt + 1*npts] = dang_eval_z_1; + basis_x_eval[ipt + 2*npts] = dang_eval_x_2; + basis_y_eval[ipt + 2*npts] = dang_eval_y_2; + basis_z_eval[ipt + 2*npts] = dang_eval_z_2; + basis_x_eval[ipt + 3*npts] = dang_eval_x_3; + basis_y_eval[ipt + 3*npts] = dang_eval_y_3; + basis_z_eval[ipt + 3*npts] = dang_eval_z_3; + + dang_eval_x_0 = x28*x30; + dang_eval_y_0 = x53*z; + dang_eval_z_0 = y*(x40 + x52); + dang_eval_x_1 = x11*x25 + x32; + dang_eval_y_1 = x12*x48; + dang_eval_z_1 = x44 + x5*x65; + dang_eval_x_2 = x33 + x35; + dang_eval_y_2 = x*x54; + dang_eval_z_2 = x46; + dang_eval_x_3 = x38*z; + dang_eval_y_3 = x55*x57; + dang_eval_z_3 = x*(x36 + x58); + basis_x_eval[ipt + 4*npts] = dang_eval_x_0; + basis_y_eval[ipt + 4*npts] = dang_eval_y_0; + basis_z_eval[ipt + 4*npts] = dang_eval_z_0; + basis_x_eval[ipt + 5*npts] = dang_eval_x_1; + basis_y_eval[ipt + 5*npts] = dang_eval_y_1; + basis_z_eval[ipt + 5*npts] = dang_eval_z_1; + basis_x_eval[ipt + 6*npts] = dang_eval_x_2; + basis_y_eval[ipt + 6*npts] = dang_eval_y_2; + basis_z_eval[ipt + 6*npts] = dang_eval_z_2; + basis_x_eval[ipt + 7*npts] = dang_eval_x_3; + basis_y_eval[ipt + 7*npts] = dang_eval_y_3; + basis_z_eval[ipt + 7*npts] = dang_eval_z_3; + + dang_eval_x_0 = x41*y; + dang_eval_y_0 = x*(x39 + x58); + dang_eval_z_0 = x66*x68; + dang_eval_x_1 = x42 + x44; + dang_eval_y_1 = x47; + dang_eval_z_1 = x*x69; + dang_eval_x_2 = x18*x45; + dang_eval_y_2 = radial_eval_alpha*x59 + x14*x22; + dang_eval_z_2 = x18*x64; + dang_eval_x_3 = x46; + dang_eval_y_3 = x54*z; + dang_eval_z_3 = x33 + x61; + basis_x_eval[ipt + 8*npts] = dang_eval_x_0; + basis_y_eval[ipt + 8*npts] = dang_eval_y_0; + basis_z_eval[ipt + 8*npts] = dang_eval_z_0; + basis_x_eval[ipt + 9*npts] = dang_eval_x_1; + basis_y_eval[ipt + 9*npts] = dang_eval_y_1; + basis_z_eval[ipt + 9*npts] = dang_eval_z_1; + basis_x_eval[ipt + 10*npts] = dang_eval_x_2; + basis_y_eval[ipt + 10*npts] = dang_eval_y_2; + basis_z_eval[ipt + 10*npts] = dang_eval_z_2; + basis_x_eval[ipt + 11*npts] = dang_eval_x_3; + basis_y_eval[ipt + 11*npts] = dang_eval_y_3; + basis_z_eval[ipt + 11*npts] = dang_eval_z_3; + + dang_eval_x_0 = x19*x45; + dang_eval_y_0 = x11*x51 + x61; + dang_eval_z_0 = x63 + x65*x7; + dang_eval_x_1 = x47; + dang_eval_y_1 = x42 + x63; + dang_eval_z_1 = x69*y; + dang_eval_x_2 = x20*x45; + dang_eval_y_2 = x20*x48; + dang_eval_z_2 = radial_eval_alpha*x70 + x17*x22; + basis_x_eval[ipt + 12*npts] = dang_eval_x_0; + basis_y_eval[ipt + 12*npts] = dang_eval_y_0; + basis_z_eval[ipt + 12*npts] = dang_eval_z_0; + basis_x_eval[ipt + 13*npts] = dang_eval_x_1; + basis_y_eval[ipt + 13*npts] = dang_eval_y_1; + basis_z_eval[ipt + 13*npts] = dang_eval_z_1; + basis_x_eval[ipt + 14*npts] = dang_eval_x_2; + basis_y_eval[ipt + 14*npts] = dang_eval_y_2; + basis_z_eval[ipt + 14*npts] = dang_eval_z_2; + +#endif + } // Loop over points within task + } // Loop over tasks + + } // Loop over shells +} // end kernel + +} // namespace GauXC diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4_laplacian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4_laplacian.hpp index cbd77a2e..983e0a6e 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4_laplacian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_cartesian_l4_laplacian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_cartesian_laplacian_4( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_cartesian_laplacian_4( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; // Loop over points in task @@ -103,94 +102,255 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = x*x*x*x; + const auto x1 = radial_eval*y; + const auto x2 = x*x*x; + const auto x3 = radial_eval*z; + const auto x4 = x*x; + const auto x5 = y*y; + const auto x6 = x4*x5; + const auto x7 = x1*z; + const auto x8 = z*z; + const auto x9 = x4*x8; + const auto x10 = radial_eval*x; + const auto x11 = y*y*y; + const auto x12 = x*x3; + const auto x13 = x*x1; + const auto x14 = z*z*z; + const auto x15 = y*y*y*y; + const auto x16 = x5*x8; + const auto x17 = z*z*z*z; + const auto x18 = x*x*x*x*x; + const auto x19 = 4.0*radial_eval; + const auto x20 = 3.0*radial_eval; + const auto x21 = radial_eval_alpha*x0 + x20*x4; + const auto x22 = 2.0*x10; + const auto x23 = x2*x5; + const auto x24 = radial_eval_alpha*x23; + const auto x25 = y*z; + const auto x26 = radial_eval_alpha*x2; + const auto x27 = x22 + x26; + const auto x28 = x2*x8; + const auto x29 = radial_eval_alpha*x28; + const auto x30 = radial_eval*x11; + const auto x31 = x11*x4; + const auto x32 = radial_eval_alpha*x31; + const auto x33 = radial_eval*x5; + const auto x34 = radial_eval_alpha*x6; + const auto x35 = x33 + x34; + const auto x36 = radial_eval*x8; + const auto x37 = radial_eval_alpha*x9; + const auto x38 = x36 + x37; + const auto x39 = radial_eval*x14; + const auto x40 = x14*x4; + const auto x41 = radial_eval_alpha*x40; + const auto x42 = radial_eval_alpha*x; + const auto x43 = x11*x42*z; + const auto x44 = x14*x42*y; + const auto x45 = radial_eval_alpha*y; + const auto x46 = radial_eval*x2; + const auto x47 = radial_eval_alpha*x2*x25; + const auto x48 = 2.0*x1; + const auto x49 = radial_eval*x4; + const auto x50 = x34 + x49; + const auto x51 = radial_eval_alpha*x15 + x20*x5; + const auto x52 = x*z; + const auto x53 = radial_eval_alpha*x11; + const auto x54 = x48 + x53; + const auto x55 = radial_eval_alpha*x16; + const auto x56 = y*y*y*y*y; + const auto x57 = x11*x8; + const auto x58 = radial_eval_alpha*x57; + const auto x59 = x14*x5; + const auto x60 = radial_eval_alpha*x59; + const auto x61 = radial_eval_alpha*z; + const auto x62 = 2.0*x3; + const auto x63 = x*y; + const auto x64 = radial_eval_alpha*x14; + const auto x65 = x62 + x64; + const auto x66 = radial_eval_alpha*x17 + x20*x8; + const auto x67 = z*z*z*z*z; + const auto x68 = 12.0*radial_eval; + const auto x69 = 8.0*radial_eval_alpha; + const auto x70 = radial_eval_alpha + radial_eval_alpha_squared*x4; + const auto x71 = x0*x69 + x0*x70 + x4*x68; + const auto x72 = 6.0*radial_eval_alpha; + const auto x73 = 6.0*x10 + x2*x70; + const auto x74 = x2*x72 + x73; + const auto x75 = 4.0*radial_eval_alpha; + const auto x76 = x6*x75; + const auto x77 = 2.0*radial_eval; + const auto x78 = x5*x77; + const auto x79 = x4*x5*x70 + x78; + const auto x80 = x4*x70 + x77; + const auto x81 = x75*x9; + const auto x82 = x77*x8; + const auto x83 = x4*x70*x8 + x82; + const auto x84 = 2.0*radial_eval_alpha; + const auto x85 = x11*x84; + const auto x86 = x11*x70; + const auto x87 = x5*x84; + const auto x88 = x5*x70; + const auto x89 = x8*x84; + const auto x90 = x70*x8; + const auto x91 = x14*x84; + const auto x92 = x14*x70; + const auto x93 = x15*x70; + const auto x94 = x5*x70*x8; + const auto x95 = x17*x70; + const auto x96 = radial_eval_alpha_squared*x18 + x2*x75; + const auto x97 = 3.0*radial_eval_alpha; + const auto x98 = x6*x97; + const auto x99 = x25*(radial_eval_alpha_squared*x0 + x4*x97); + const auto x100 = 2.0*x42; + const auto x101 = 2.0*x45; + const auto x102 = radial_eval_alpha_squared*x23; + const auto x103 = x100*x5 + x102; + const auto x104 = radial_eval_alpha_squared*x28; + const auto x105 = x100*x8 + x104; + const auto x106 = radial_eval_alpha_squared*x31; + const auto x107 = x101*x4 + x106; + const auto x108 = radial_eval_alpha_squared*x4*x5*x8; + const auto x109 = x108 + x55; + const auto x110 = radial_eval_alpha_squared*x40; + const auto x111 = radial_eval_alpha_squared*x56 + x11*x75; + const auto x112 = x52*(radial_eval_alpha_squared*x15 + x5*x97); + const auto x113 = radial_eval_alpha_squared*x57; + const auto x114 = x101*x8 + x113; + const auto x115 = radial_eval_alpha_squared*x59; + const auto x116 = x9*x97; + const auto x117 = 2.0*x61; + const auto x118 = x110 + x117*x4; + const auto x119 = x115 + x117*x5; + const auto x120 = x63*(radial_eval_alpha_squared*x17 + x8*x97); + const auto x121 = radial_eval_alpha_squared*x67 + x14*x75; + const auto x122 = radial_eval_alpha + radial_eval_alpha_squared*x5; + const auto x123 = x0*x122; + const auto x124 = x2*x84; + const auto x125 = x122*x2; + const auto x126 = x4*x77; + const auto x127 = x122*x4*x5 + x126; + const auto x128 = x4*x84; + const auto x129 = x122*x4; + const auto x130 = x122*x4*x8; + const auto x131 = 6.0*x1 + x11*x122; + const auto x132 = x11*x72 + x131; + const auto x133 = x122*x5 + x77; + const auto x134 = x122*x8; + const auto x135 = x122*x14; + const auto x136 = x122*x15 + x15*x69 + x5*x68; + const auto x137 = x16*x75; + const auto x138 = x122*x5*x8 + x82; + const auto x139 = x122*x17; + const auto x140 = x16*x97; + const auto x141 = radial_eval_alpha + radial_eval_alpha_squared*x8; + const auto x142 = x0*x141; + const auto x143 = x141*x2; + const auto x144 = x141*x4*x5; + const auto x145 = x141*x4; + const auto x146 = x126 + x141*x4*x8; + const auto x147 = x11*x141; + const auto x148 = x141*x5; + const auto x149 = x141*x8 + x77; + const auto x150 = x14*x141 + 6.0*x3; + const auto x151 = x14*x72 + x150; + const auto x152 = x141*x15; + const auto x153 = x141*x5*x8 + x78; + const auto x154 = x141*x17 + x17*x69 + x68*x8; + const auto x155 = x125 + x143 + x2*x69 + x73; + const auto x156 = x11*x69 + x131 + x147 + x86; + const auto x157 = x135 + x14*x69 + x150 + x92; + // Evaluate basis function - basis_eval[ipt + 0*npts] = radial_eval*x*x*x*x; - basis_eval[ipt + 1*npts] = radial_eval*x*x*x*y; - basis_eval[ipt + 2*npts] = radial_eval*x*x*x*z; - basis_eval[ipt + 3*npts] = radial_eval*x*x*y*y; - basis_eval[ipt + 4*npts] = radial_eval*x*x*y*z; - basis_eval[ipt + 5*npts] = radial_eval*x*x*z*z; - basis_eval[ipt + 6*npts] = radial_eval*x*y*y*y; - basis_eval[ipt + 7*npts] = radial_eval*x*y*y*z; - basis_eval[ipt + 8*npts] = radial_eval*x*y*z*z; - basis_eval[ipt + 9*npts] = radial_eval*x*z*z*z; - basis_eval[ipt + 10*npts] = radial_eval*y*y*y*y; - basis_eval[ipt + 11*npts] = radial_eval*y*y*y*z; - basis_eval[ipt + 12*npts] = radial_eval*y*y*z*z; - basis_eval[ipt + 13*npts] = radial_eval*y*z*z*z; - basis_eval[ipt + 14*npts] = radial_eval*z*z*z*z; + basis_eval[ipt + 0*npts] = radial_eval*x0; + basis_eval[ipt + 1*npts] = x1*x2; + basis_eval[ipt + 2*npts] = x2*x3; + basis_eval[ipt + 3*npts] = radial_eval*x6; + basis_eval[ipt + 4*npts] = x4*x7; + basis_eval[ipt + 5*npts] = radial_eval*x9; + basis_eval[ipt + 6*npts] = x10*x11; + basis_eval[ipt + 7*npts] = x12*x5; + basis_eval[ipt + 8*npts] = x13*x8; + basis_eval[ipt + 9*npts] = x10*x14; + basis_eval[ipt + 10*npts] = radial_eval*x15; + basis_eval[ipt + 11*npts] = x11*x3; + basis_eval[ipt + 12*npts] = radial_eval*x16; + basis_eval[ipt + 13*npts] = x1*x14; + basis_eval[ipt + 14*npts] = radial_eval*x17; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = x*x*x*(4*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 1*npts] = x*x*y*(3*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 2*npts] = x*x*z*(3*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 3*npts] = x*y*y*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 4*npts] = x*y*z*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 5*npts] = x*z*z*(2*radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 6*npts] = y*y*y*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 7*npts] = y*y*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 8*npts] = y*z*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 9*npts] = z*z*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 10*npts] = radial_eval_alpha*x*y*y*y*y; - basis_x_eval[ipt + 11*npts] = radial_eval_alpha*x*y*y*y*z; - basis_x_eval[ipt + 12*npts] = radial_eval_alpha*x*y*y*z*z; - basis_x_eval[ipt + 13*npts] = radial_eval_alpha*x*y*z*z*z; - basis_x_eval[ipt + 14*npts] = radial_eval_alpha*x*z*z*z*z; + basis_x_eval[ipt + 0*npts] = radial_eval_alpha*x18 + x19*x2; + basis_x_eval[ipt + 1*npts] = x21*y; + basis_x_eval[ipt + 2*npts] = x21*z; + basis_x_eval[ipt + 3*npts] = x22*x5 + x24; + basis_x_eval[ipt + 4*npts] = x25*x27; + basis_x_eval[ipt + 5*npts] = x22*x8 + x29; + basis_x_eval[ipt + 6*npts] = x30 + x32; + basis_x_eval[ipt + 7*npts] = x35*z; + basis_x_eval[ipt + 8*npts] = x38*y; + basis_x_eval[ipt + 9*npts] = x39 + x41; + basis_x_eval[ipt + 10*npts] = x15*x42; + basis_x_eval[ipt + 11*npts] = x43; + basis_x_eval[ipt + 12*npts] = x16*x42; + basis_x_eval[ipt + 13*npts] = x44; + basis_x_eval[ipt + 14*npts] = x17*x42; // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = radial_eval_alpha*x*x*x*x*y; - basis_y_eval[ipt + 1*npts] = x*x*x*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 2*npts] = radial_eval_alpha*x*x*x*y*z; - basis_y_eval[ipt + 3*npts] = x*x*y*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 4*npts] = x*x*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 5*npts] = radial_eval_alpha*x*x*y*z*z; - basis_y_eval[ipt + 6*npts] = x*y*y*(3*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 7*npts] = x*y*z*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 8*npts] = x*z*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 9*npts] = radial_eval_alpha*x*y*z*z*z; - basis_y_eval[ipt + 10*npts] = y*y*y*(4*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 11*npts] = y*y*z*(3*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 12*npts] = y*z*z*(2*radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 13*npts] = z*z*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 14*npts] = radial_eval_alpha*y*z*z*z*z; + basis_y_eval[ipt + 0*npts] = x0*x45; + basis_y_eval[ipt + 1*npts] = x24 + x46; + basis_y_eval[ipt + 2*npts] = x47; + basis_y_eval[ipt + 3*npts] = x32 + x4*x48; + basis_y_eval[ipt + 4*npts] = x50*z; + basis_y_eval[ipt + 5*npts] = x45*x9; + basis_y_eval[ipt + 6*npts] = x*x51; + basis_y_eval[ipt + 7*npts] = x52*x54; + basis_y_eval[ipt + 8*npts] = x*(x36 + x55); + basis_y_eval[ipt + 9*npts] = x44; + basis_y_eval[ipt + 10*npts] = radial_eval_alpha*x56 + x11*x19; + basis_y_eval[ipt + 11*npts] = x51*z; + basis_y_eval[ipt + 12*npts] = x48*x8 + x58; + basis_y_eval[ipt + 13*npts] = x39 + x60; + basis_y_eval[ipt + 14*npts] = x17*x45; // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = radial_eval_alpha*x*x*x*x*z; - basis_z_eval[ipt + 1*npts] = radial_eval_alpha*x*x*x*y*z; - basis_z_eval[ipt + 2*npts] = x*x*x*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 3*npts] = radial_eval_alpha*x*x*y*y*z; - basis_z_eval[ipt + 4*npts] = x*x*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 5*npts] = x*x*z*(2*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 6*npts] = radial_eval_alpha*x*y*y*y*z; - basis_z_eval[ipt + 7*npts] = x*y*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 8*npts] = x*y*z*(2*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 9*npts] = x*z*z*(3*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 10*npts] = radial_eval_alpha*y*y*y*y*z; - basis_z_eval[ipt + 11*npts] = y*y*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 12*npts] = y*y*z*(2*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 13*npts] = y*z*z*(3*radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 14*npts] = z*z*z*(4*radial_eval + radial_eval_alpha*z*z); + basis_z_eval[ipt + 0*npts] = x0*x61; + basis_z_eval[ipt + 1*npts] = x47; + basis_z_eval[ipt + 2*npts] = x29 + x46; + basis_z_eval[ipt + 3*npts] = x6*x61; + basis_z_eval[ipt + 4*npts] = y*(x37 + x49); + basis_z_eval[ipt + 5*npts] = x4*x62 + x41; + basis_z_eval[ipt + 6*npts] = x43; + basis_z_eval[ipt + 7*npts] = x*(x33 + x55); + basis_z_eval[ipt + 8*npts] = x63*x65; + basis_z_eval[ipt + 9*npts] = x*x66; + basis_z_eval[ipt + 10*npts] = x15*x61; + basis_z_eval[ipt + 11*npts] = x30 + x58; + basis_z_eval[ipt + 12*npts] = x5*x62 + x60; + basis_z_eval[ipt + 13*npts] = x66*y; + basis_z_eval[ipt + 14*npts] = radial_eval_alpha*x67 + x14*x19; + // Evaluate Laplacian of bfn - basis_lapl_eval[ipt + 0*npts] = x*x*(12*radial_eval + 11*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x + radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*x*x*z*z); - basis_lapl_eval[ipt + 1*npts] = x*y*(6*radial_eval + 11*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x + radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*x*x*z*z); - basis_lapl_eval[ipt + 2*npts] = x*z*(6*radial_eval + 11*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x + radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*x*x*z*z); - basis_lapl_eval[ipt + 3*npts] = x*x*y*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z) + x*x*(2*radial_eval + 5*radial_eval_alpha*y*y + radial_eval_alpha_squared*y*y*y*y) + y*y*(2*radial_eval + 5*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x); - basis_lapl_eval[ipt + 4*npts] = y*z*(2*radial_eval + 11*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x + radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*x*x*z*z); - basis_lapl_eval[ipt + 5*npts] = x*x*z*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y) + x*x*(2*radial_eval + 5*radial_eval_alpha*z*z + radial_eval_alpha_squared*z*z*z*z) + z*z*(2*radial_eval + 5*radial_eval_alpha*x*x + radial_eval_alpha_squared*x*x*x*x); - basis_lapl_eval[ipt + 6*npts] = x*y*(6*radial_eval + 11*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*y*y*y*y + radial_eval_alpha_squared*y*y*z*z); - basis_lapl_eval[ipt + 7*npts] = x*z*(2*radial_eval + 11*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*y*y*y*y + radial_eval_alpha_squared*y*y*z*z); - basis_lapl_eval[ipt + 8*npts] = x*y*(2*radial_eval + 11*radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z + radial_eval_alpha_squared*y*y*z*z + radial_eval_alpha_squared*z*z*z*z); - basis_lapl_eval[ipt + 9*npts] = x*z*(6*radial_eval + 11*radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z + radial_eval_alpha_squared*y*y*z*z + radial_eval_alpha_squared*z*z*z*z); - basis_lapl_eval[ipt + 10*npts] = y*y*(12*radial_eval + 11*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*y*y*y*y + radial_eval_alpha_squared*y*y*z*z); - basis_lapl_eval[ipt + 11*npts] = y*z*(6*radial_eval + 11*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*y*y*y*y + radial_eval_alpha_squared*y*y*z*z); - basis_lapl_eval[ipt + 12*npts] = y*y*z*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x) + y*y*(2*radial_eval + 5*radial_eval_alpha*z*z + radial_eval_alpha_squared*z*z*z*z) + z*z*(2*radial_eval + 5*radial_eval_alpha*y*y + radial_eval_alpha_squared*y*y*y*y); - basis_lapl_eval[ipt + 13*npts] = y*z*(6*radial_eval + 11*radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z + radial_eval_alpha_squared*y*y*z*z + radial_eval_alpha_squared*z*z*z*z); - basis_lapl_eval[ipt + 14*npts] = z*z*(12*radial_eval + 11*radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z + radial_eval_alpha_squared*y*y*z*z + radial_eval_alpha_squared*z*z*z*z); + basis_lapl_eval[ipt + 0*npts] = x123 + x142 + x71; + basis_lapl_eval[ipt + 1*npts] = x155*y; + basis_lapl_eval[ipt + 2*npts] = x155*z; + basis_lapl_eval[ipt + 3*npts] = x127 + x144 + x6*x69 + x79; + basis_lapl_eval[ipt + 4*npts] = x25*(x129 + x145 + x4*x69 + x80); + basis_lapl_eval[ipt + 5*npts] = x130 + x146 + x69*x9 + x83; + basis_lapl_eval[ipt + 6*npts] = x*x156; + basis_lapl_eval[ipt + 7*npts] = x52*(x133 + x148 + x5*x69 + x88); + basis_lapl_eval[ipt + 8*npts] = x63*(x134 + x149 + x69*x8 + x90); + basis_lapl_eval[ipt + 9*npts] = x*x157; + basis_lapl_eval[ipt + 10*npts] = x136 + x152 + x93; + basis_lapl_eval[ipt + 11*npts] = x156*z; + basis_lapl_eval[ipt + 12*npts] = x138 + x153 + x16*x69 + x94; + basis_lapl_eval[ipt + 13*npts] = x157*y; + basis_lapl_eval[ipt + 14*npts] = x139 + x154 + x95; + @@ -206,36 +366,36 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = radial_eval*x*x*x*x; - ang_eval_1 = radial_eval*x*x*x*y; - ang_eval_2 = radial_eval*x*x*x*z; - ang_eval_3 = radial_eval*x*x*y*y; + ang_eval_0 = radial_eval*x0; + ang_eval_1 = x1*x2; + ang_eval_2 = x2*x3; + ang_eval_3 = radial_eval*x6; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = radial_eval*x*x*y*z; - ang_eval_1 = radial_eval*x*x*z*z; - ang_eval_2 = radial_eval*x*y*y*y; - ang_eval_3 = radial_eval*x*y*y*z; + ang_eval_0 = x4*x7; + ang_eval_1 = radial_eval*x9; + ang_eval_2 = x10*x11; + ang_eval_3 = x12*x5; basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; basis_eval[ipt + 6*npts] = ang_eval_2; basis_eval[ipt + 7*npts] = ang_eval_3; - ang_eval_0 = radial_eval*x*y*z*z; - ang_eval_1 = radial_eval*x*z*z*z; - ang_eval_2 = radial_eval*y*y*y*y; - ang_eval_3 = radial_eval*y*y*y*z; + ang_eval_0 = x13*x8; + ang_eval_1 = x10*x14; + ang_eval_2 = radial_eval*x15; + ang_eval_3 = x11*x3; basis_eval[ipt + 8*npts] = ang_eval_0; basis_eval[ipt + 9*npts] = ang_eval_1; basis_eval[ipt + 10*npts] = ang_eval_2; basis_eval[ipt + 11*npts] = ang_eval_3; - ang_eval_0 = radial_eval*y*y*z*z; - ang_eval_1 = radial_eval*y*z*z*z; - ang_eval_2 = radial_eval*z*z*z*z; + ang_eval_0 = radial_eval*x16; + ang_eval_1 = x1*x14; + ang_eval_2 = radial_eval*x17; basis_eval[ipt + 12*npts] = ang_eval_0; basis_eval[ipt + 13*npts] = ang_eval_1; basis_eval[ipt + 14*npts] = ang_eval_2; @@ -246,18 +406,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = x*x*x*(4*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = radial_eval_alpha*x*x*x*x*y; - dang_eval_z_0 = radial_eval_alpha*x*x*x*x*z; - dang_eval_x_1 = x*x*y*(3*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = x*x*x*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = radial_eval_alpha*x*x*x*y*z; - dang_eval_x_2 = x*x*z*(3*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_2 = radial_eval_alpha*x*x*x*y*z; - dang_eval_z_2 = x*x*x*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_3 = x*y*y*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_3 = x*x*y*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = radial_eval_alpha*x*x*y*y*z; + dang_eval_x_0 = radial_eval_alpha*x18 + x19*x2; + dang_eval_y_0 = x0*x45; + dang_eval_z_0 = x0*x61; + dang_eval_x_1 = x21*y; + dang_eval_y_1 = x24 + x46; + dang_eval_z_1 = x47; + dang_eval_x_2 = x21*z; + dang_eval_y_2 = x47; + dang_eval_z_2 = x29 + x46; + dang_eval_x_3 = x22*x5 + x24; + dang_eval_y_3 = x32 + x4*x48; + dang_eval_z_3 = x6*x61; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -271,18 +431,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = x*y*z*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = x*x*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = x*x*y*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = x*z*z*(2*radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = radial_eval_alpha*x*x*y*z*z; - dang_eval_z_1 = x*x*z*(2*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = y*y*y*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_2 = x*y*y*(3*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_2 = radial_eval_alpha*x*y*y*y*z; - dang_eval_x_3 = y*y*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_3 = x*y*z*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = x*y*y*(radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x25*x27; + dang_eval_y_0 = x50*z; + dang_eval_z_0 = y*(x37 + x49); + dang_eval_x_1 = x22*x8 + x29; + dang_eval_y_1 = x45*x9; + dang_eval_z_1 = x4*x62 + x41; + dang_eval_x_2 = x30 + x32; + dang_eval_y_2 = x*x51; + dang_eval_z_2 = x43; + dang_eval_x_3 = x35*z; + dang_eval_y_3 = x52*x54; + dang_eval_z_3 = x*(x33 + x55); basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; @@ -296,18 +456,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 7*npts] = dang_eval_y_3; basis_z_eval[ipt + 7*npts] = dang_eval_z_3; - dang_eval_x_0 = y*z*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = x*z*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = x*y*z*(2*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = z*z*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = radial_eval_alpha*x*y*z*z*z; - dang_eval_z_1 = x*z*z*(3*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = radial_eval_alpha*x*y*y*y*y; - dang_eval_y_2 = y*y*y*(4*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_2 = radial_eval_alpha*y*y*y*y*z; - dang_eval_x_3 = radial_eval_alpha*x*y*y*y*z; - dang_eval_y_3 = y*y*z*(3*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_3 = y*y*y*(radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x38*y; + dang_eval_y_0 = x*(x36 + x55); + dang_eval_z_0 = x63*x65; + dang_eval_x_1 = x39 + x41; + dang_eval_y_1 = x44; + dang_eval_z_1 = x*x66; + dang_eval_x_2 = x15*x42; + dang_eval_y_2 = radial_eval_alpha*x56 + x11*x19; + dang_eval_z_2 = x15*x61; + dang_eval_x_3 = x43; + dang_eval_y_3 = x51*z; + dang_eval_z_3 = x30 + x58; basis_x_eval[ipt + 8*npts] = dang_eval_x_0; basis_y_eval[ipt + 8*npts] = dang_eval_y_0; basis_z_eval[ipt + 8*npts] = dang_eval_z_0; @@ -321,15 +481,15 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 11*npts] = dang_eval_y_3; basis_z_eval[ipt + 11*npts] = dang_eval_z_3; - dang_eval_x_0 = radial_eval_alpha*x*y*y*z*z; - dang_eval_y_0 = y*z*z*(2*radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = y*y*z*(2*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_1 = radial_eval_alpha*x*y*z*z*z; - dang_eval_y_1 = z*z*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = y*z*z*(3*radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = radial_eval_alpha*x*z*z*z*z; - dang_eval_y_2 = radial_eval_alpha*y*z*z*z*z; - dang_eval_z_2 = z*z*z*(4*radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x16*x42; + dang_eval_y_0 = x48*x8 + x58; + dang_eval_z_0 = x5*x62 + x60; + dang_eval_x_1 = x44; + dang_eval_y_1 = x39 + x60; + dang_eval_z_1 = x66*y; + dang_eval_x_2 = x17*x42; + dang_eval_y_2 = x17*x45; + dang_eval_z_2 = radial_eval_alpha*x67 + x14*x19; basis_x_eval[ipt + 12*npts] = dang_eval_x_0; basis_y_eval[ipt + 12*npts] = dang_eval_y_0; basis_z_eval[ipt + 12*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0.hpp index 0788c8ce..d12d8c12 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0.hpp @@ -64,7 +64,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_eval = task->bf + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -93,7 +92,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel } - + // Common Subexpressions + // Evaluate basis function basis_eval[ipt + 0*npts] = radial_eval; @@ -105,6 +105,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel + + #if 0 // Evaluate the angular part of bfn diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0_gradient.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0_gradient.hpp index 4dd7dac5..8b39fb1a 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0_gradient.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0_gradient.hpp @@ -67,7 +67,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -99,7 +98,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; - + // Common Subexpressions + // Evaluate basis function basis_eval[ipt + 0*npts] = radial_eval; @@ -119,6 +119,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel + + #if 0 // Evaluate the angular part of bfn diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0_hessian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0_hessian.hpp index 6dff65ca..b3b885ac 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0_hessian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0_hessian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_spherical_hessian_0( +__global__ __launch_bounds__(256,2) void collocation_device_shell_to_task_kernel_spherical_hessian_0( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[8][detail::shell_nprim_max + 1]; + __shared__ double coeff[8][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; @@ -108,7 +107,12 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = radial_eval_alpha_squared*(x*x); + const auto x1 = radial_eval_alpha_squared*x; + const auto x2 = radial_eval_alpha_squared*(y*y); + const auto x3 = radial_eval_alpha_squared*(z*z); + // Evaluate basis function basis_eval[ipt + 0*npts] = radial_eval; @@ -125,22 +129,24 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_z_eval[ipt + 0*npts] = radial_eval_alpha*z; // Evaluate second derivative of bfn wrt xx - basis_xx_eval[ipt + 0*npts] = radial_eval_alpha + radial_eval_alpha_squared*x*x; + basis_xx_eval[ipt + 0*npts] = radial_eval_alpha + x0; // Evaluate second derivative of bfn wrt xy - basis_xy_eval[ipt + 0*npts] = radial_eval_alpha_squared*x*y; + basis_xy_eval[ipt + 0*npts] = x1*y; // Evaluate second derivative of bfn wrt xz - basis_xz_eval[ipt + 0*npts] = radial_eval_alpha_squared*x*z; + basis_xz_eval[ipt + 0*npts] = x1*z; // Evaluate second derivative of bfn wrt yy - basis_yy_eval[ipt + 0*npts] = radial_eval_alpha + radial_eval_alpha_squared*y*y; + basis_yy_eval[ipt + 0*npts] = radial_eval_alpha + x2; // Evaluate second derivative of bfn wrt yz basis_yz_eval[ipt + 0*npts] = radial_eval_alpha_squared*y*z; // Evaluate second derivative of bfn wrt zz - basis_zz_eval[ipt + 0*npts] = radial_eval_alpha + radial_eval_alpha_squared*z*z; + basis_zz_eval[ipt + 0*npts] = radial_eval_alpha + x3; + + diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0_lapgrad.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0_lapgrad.hpp new file mode 100644 index 00000000..90329450 --- /dev/null +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0_lapgrad.hpp @@ -0,0 +1,204 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once +#include "collocation_device_constants.hpp" +#include "device/xc_device_task.hpp" +#include "device_specific/cuda_device_constants.hpp" +#include "device/common/shell_to_task.hpp" +#include + +namespace GauXC { + + +__global__ __launch_bounds__(256,2) void collocation_device_shell_to_task_kernel_spherical_lapgrad_0( + uint32_t nshell, + ShellToTaskDevice* __restrict__ shell_to_task, + XCDeviceTask* __restrict__ device_tasks +) { + + + __shared__ double alpha[8][detail::shell_nprim_max + 1]; + __shared__ double coeff[8][detail::shell_nprim_max + 1]; + double* my_alpha = alpha[threadIdx.x/32]; + double* my_coeff = coeff[threadIdx.x/32]; + + for( auto ish = blockIdx.z; ish < nshell; ish += gridDim.z ) { + const uint32_t ntasks = shell_to_task[ish].ntask; + const auto shell = shell_to_task[ish].shell_device; + const auto task_idx = shell_to_task[ish].task_idx_device; + const auto task_shell_offs = shell_to_task[ish].task_shell_offs_device; + + + // Load Shell Data into registers / SM + const uint32_t nprim = shell->nprim(); + const double3 O = *reinterpret_cast(shell->O_data()); + + const int global_warp_id = (threadIdx.x + blockIdx.x*blockDim.x) / cuda::warp_size; + const int nwarp_global = max((blockDim.x*gridDim.x) / cuda::warp_size,1); + + // Read in coeffs/exps into SM on first warp + { + auto* coeff_gm = shell->coeff_data(); + auto* alpha_gm = shell->alpha_data(); + static_assert( detail::shell_nprim_max == cuda::warp_size ); + const int warp_rank = threadIdx.x % cuda::warp_size; + my_alpha[warp_rank] = alpha_gm[warp_rank]; + my_coeff[warp_rank] = coeff_gm[warp_rank]; + } + + // Loop over tasks assigned to shells + // Place each task on a different warp + schedule across blocks + for( int itask = global_warp_id; itask < ntasks; itask += nwarp_global ) { + + const auto* task = device_tasks + task_idx[itask]; + const auto* __restrict__ points_x = task->points_x; + const auto* __restrict__ points_y = task->points_y; + const auto* __restrict__ points_z = task->points_z; + const uint32_t npts = task->npts; + const size_t shoff = task_shell_offs[itask] * npts; + + auto* __restrict__ basis_eval = task->bf + shoff; + auto* __restrict__ basis_x_eval = task->dbfx + shoff; + auto* __restrict__ basis_y_eval = task->dbfy + shoff; + auto* __restrict__ basis_z_eval = task->dbfz + shoff; + auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; + auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; + auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; + auto* __restrict__ basis_yy_eval = task->d2bfyy + shoff; + auto* __restrict__ basis_yz_eval = task->d2bfyz + shoff; + auto* __restrict__ basis_zz_eval = task->d2bfzz + shoff; + auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; + auto* __restrict__ basis_lapl_x_eval = task->d3bflapl_x + shoff; + auto* __restrict__ basis_lapl_y_eval = task->d3bflapl_y + shoff; + auto* __restrict__ basis_lapl_z_eval = task->d3bflapl_z + shoff; + + // Loop over points in task + // Assign each point to separate thread within the warp + #pragma unroll 1 + for( int ipt = threadIdx.x % cuda::warp_size; ipt < npts; ipt += cuda::warp_size ) { + //const double3 point = points[ipt]; + double3 point; + point.x = points_x[ipt]; + point.y = points_y[ipt]; + point.z = points_z[ipt]; + + + const auto x = point.x - O.x; + const auto y = point.y - O.y; + const auto z = point.z - O.z; + const auto rsq = x*x + y*y + z*z; + + // Evaluate radial part of bfn + double radial_eval = 0.; + double radial_eval_alpha = 0.; + double radial_eval_alpha_squared = 0.; + double radial_eval_alpha_cubed = 0.; + + #pragma unroll 1 + for( uint32_t i = 0; i < nprim; ++i ) { + const auto a = my_alpha[i]; + const auto e = my_coeff[i] * std::exp( - a * rsq ); + + radial_eval += e; + radial_eval_alpha += a * e; + radial_eval_alpha_squared += a * a * e; + radial_eval_alpha_cubed += a * a * a * e; + } + + radial_eval_alpha *= -2; + radial_eval_alpha_squared *= 4; + radial_eval_alpha_cubed *= -8; + + // Common Subexpressions + const auto x0 = x*x; + const auto x1 = radial_eval_alpha_squared*x0; + const auto x2 = radial_eval_alpha_squared*x; + const auto x3 = y*y; + const auto x4 = radial_eval_alpha_squared*x3; + const auto x5 = radial_eval_alpha_squared*y; + const auto x6 = z*z; + const auto x7 = radial_eval_alpha_squared*x6; + const auto x8 = radial_eval_alpha_cubed*x; + const auto x9 = radial_eval_alpha_cubed*y; + const auto x10 = radial_eval_alpha_cubed*z; + + + // Evaluate basis function + basis_eval[ipt + 0*npts] = radial_eval; + + + + // Evaluate first derivative of bfn wrt x + basis_x_eval[ipt + 0*npts] = radial_eval_alpha*x; + + // Evaluate first derivative of bfn wrt y + basis_y_eval[ipt + 0*npts] = radial_eval_alpha*y; + + // Evaluate first derivative of bfn wrt z + basis_z_eval[ipt + 0*npts] = radial_eval_alpha*z; + + // Evaluate second derivative of bfn wrt xx + basis_xx_eval[ipt + 0*npts] = radial_eval_alpha + x1; + + // Evaluate second derivative of bfn wrt xy + basis_xy_eval[ipt + 0*npts] = x2*y; + + // Evaluate second derivative of bfn wrt xz + basis_xz_eval[ipt + 0*npts] = x2*z; + + // Evaluate second derivative of bfn wrt yy + basis_yy_eval[ipt + 0*npts] = radial_eval_alpha + x4; + + // Evaluate second derivative of bfn wrt yz + basis_yz_eval[ipt + 0*npts] = x5*z; + + // Evaluate second derivative of bfn wrt zz + basis_zz_eval[ipt + 0*npts] = radial_eval_alpha + x7; + + // Evaluate Laplacian of bfn + basis_lapl_eval[ipt + 0*npts] = 3.0*radial_eval_alpha + x1 + x4 + x7; + + // Evaluate Laplacian gradient of bfn (dx) + basis_lapl_x_eval[ipt + 0*npts] = radial_eval_alpha_cubed*(x*x*x) + 5.0*x2 + x3*x8 + x6*x8; + // Evaluate Laplacian gradient of bfn (dy) + basis_lapl_y_eval[ipt + 0*npts] = radial_eval_alpha_cubed*(y*y*y) + x0*x9 + 5.0*x5 + x6*x9; + // Evaluate Laplacian gradient of bfn (dz) + basis_lapl_z_eval[ipt + 0*npts] = radial_eval_alpha_cubed*(z*z*z) + 5.0*radial_eval_alpha_squared*z + x0*x10 + x10*x3; + + + + +#if 0 + // Evaluate the angular part of bfn + + + + double ang_eval_0; + + + ang_eval_0 = radial_eval; + basis_eval[ipt + 0*npts] = ang_eval_0; + + + double dang_eval_x_0, dang_eval_y_0, dang_eval_z_0; + + dang_eval_x_0 = radial_eval_alpha*x; + dang_eval_y_0 = radial_eval_alpha*y; + dang_eval_z_0 = radial_eval_alpha*z; + basis_x_eval[ipt + 0*npts] = dang_eval_x_0; + basis_y_eval[ipt + 0*npts] = dang_eval_y_0; + basis_z_eval[ipt + 0*npts] = dang_eval_z_0; + +#endif + } // Loop over points within task + } // Loop over tasks + + } // Loop over shells +} // end kernel + +} // namespace GauXC diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0_laplacian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0_laplacian.hpp index de0353b5..da0c2c13 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0_laplacian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l0_laplacian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_spherical_laplacian_0( +__global__ __launch_bounds__(256,2) void collocation_device_shell_to_task_kernel_spherical_laplacian_0( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[8][detail::shell_nprim_max + 1]; + __shared__ double coeff[8][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; // Loop over points in task @@ -103,7 +102,12 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = radial_eval_alpha_squared*(x*x); + const auto x1 = radial_eval_alpha_squared*x; + const auto x2 = radial_eval_alpha_squared*(y*y); + const auto x3 = radial_eval_alpha_squared*(z*z); + // Evaluate basis function basis_eval[ipt + 0*npts] = radial_eval; @@ -119,8 +123,10 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel // Evaluate first derivative of bfn wrt z basis_z_eval[ipt + 0*npts] = radial_eval_alpha*z; + // Evaluate Laplacian of bfn - basis_lapl_eval[ipt + 0*npts] = 3*radial_eval_alpha + radial_eval_alpha_squared*x*x + radial_eval_alpha_squared*y*y + radial_eval_alpha_squared*z*z; + basis_lapl_eval[ipt + 0*npts] = 3.0*radial_eval_alpha + x0 + x2 + x3; + diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1.hpp index 709c0298..30b6d3e3 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1.hpp @@ -64,7 +64,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_eval = task->bf + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -93,7 +92,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel } - + // Common Subexpressions + // Evaluate basis function basis_eval[ipt + 0*npts] = radial_eval*y; @@ -107,6 +107,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel + + #if 0 // Evaluate the angular part of bfn diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1_gradient.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1_gradient.hpp index 0fe5eb9d..9394bbb2 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1_gradient.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1_gradient.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_spherical_gradient_1( +__global__ __launch_bounds__(256,2) void collocation_device_shell_to_task_kernel_spherical_gradient_1( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[8][detail::shell_nprim_max + 1]; + __shared__ double coeff[8][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -67,7 +67,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -99,7 +98,12 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; - + // Common Subexpressions + const auto x0 = radial_eval_alpha*x; + const auto x1 = x0*y; + const auto x2 = x0*z; + const auto x3 = radial_eval_alpha*y*z; + // Evaluate basis function basis_eval[ipt + 0*npts] = radial_eval*y; @@ -109,19 +113,21 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = radial_eval_alpha*x*y; - basis_x_eval[ipt + 1*npts] = radial_eval_alpha*x*z; - basis_x_eval[ipt + 2*npts] = radial_eval + radial_eval_alpha*x*x; + basis_x_eval[ipt + 0*npts] = x1; + basis_x_eval[ipt + 1*npts] = x2; + basis_x_eval[ipt + 2*npts] = radial_eval + radial_eval_alpha*(x*x); // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = radial_eval + radial_eval_alpha*y*y; - basis_y_eval[ipt + 1*npts] = radial_eval_alpha*y*z; - basis_y_eval[ipt + 2*npts] = radial_eval_alpha*x*y; + basis_y_eval[ipt + 0*npts] = radial_eval + radial_eval_alpha*(y*y); + basis_y_eval[ipt + 1*npts] = x3; + basis_y_eval[ipt + 2*npts] = x1; // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = radial_eval_alpha*y*z; - basis_z_eval[ipt + 1*npts] = radial_eval + radial_eval_alpha*z*z; - basis_z_eval[ipt + 2*npts] = radial_eval_alpha*x*z; + basis_z_eval[ipt + 0*npts] = x3; + basis_z_eval[ipt + 1*npts] = radial_eval + radial_eval_alpha*(z*z); + basis_z_eval[ipt + 2*npts] = x2; + + @@ -149,15 +155,15 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_1, dang_eval_y_1, dang_eval_z_1; double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; - dang_eval_x_0 = radial_eval_alpha*x*y; - dang_eval_y_0 = radial_eval + radial_eval_alpha*y*y; - dang_eval_z_0 = radial_eval_alpha*y*z; - dang_eval_x_1 = radial_eval_alpha*x*z; - dang_eval_y_1 = radial_eval_alpha*y*z; - dang_eval_z_1 = radial_eval + radial_eval_alpha*z*z; - dang_eval_x_2 = radial_eval + radial_eval_alpha*x*x; - dang_eval_y_2 = radial_eval_alpha*x*y; - dang_eval_z_2 = radial_eval_alpha*x*z; + dang_eval_x_0 = x1; + dang_eval_y_0 = radial_eval + radial_eval_alpha*(y*y); + dang_eval_z_0 = x3; + dang_eval_x_1 = x2; + dang_eval_y_1 = x3; + dang_eval_z_1 = radial_eval + radial_eval_alpha*(z*z); + dang_eval_x_2 = radial_eval + radial_eval_alpha*(x*x); + dang_eval_y_2 = x1; + dang_eval_z_2 = x2; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1_hessian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1_hessian.hpp index e70d24f8..ae8e5a18 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1_hessian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1_hessian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_spherical_hessian_1( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_spherical_hessian_1( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; @@ -108,7 +107,31 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = radial_eval_alpha*x; + const auto x1 = x0*y; + const auto x2 = x0*z; + const auto x3 = x*x; + const auto x4 = y*y; + const auto x5 = y*z; + const auto x6 = radial_eval_alpha*x5; + const auto x7 = z*z; + const auto x8 = radial_eval_alpha_squared*x3; + const auto x9 = radial_eval_alpha + x8; + const auto x10 = x9*y; + const auto x11 = x9*z; + const auto x12 = 3.0*radial_eval_alpha; + const auto x13 = radial_eval_alpha_squared*x4; + const auto x14 = radial_eval_alpha + x13; + const auto x15 = x*x14; + const auto x16 = radial_eval_alpha_squared*x*x5; + const auto x17 = radial_eval_alpha_squared*x7; + const auto x18 = radial_eval_alpha + x17; + const auto x19 = x*x18; + const auto x20 = x14*z; + const auto x21 = x18*y; + const auto x22 = 5.0*radial_eval_alpha + x13 + x17 + x8; + // Evaluate basis function basis_eval[ipt + 0*npts] = radial_eval*y; @@ -118,49 +141,51 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = radial_eval_alpha*x*y; - basis_x_eval[ipt + 1*npts] = radial_eval_alpha*x*z; - basis_x_eval[ipt + 2*npts] = radial_eval + radial_eval_alpha*x*x; + basis_x_eval[ipt + 0*npts] = x1; + basis_x_eval[ipt + 1*npts] = x2; + basis_x_eval[ipt + 2*npts] = radial_eval + radial_eval_alpha*x3; // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = radial_eval + radial_eval_alpha*y*y; - basis_y_eval[ipt + 1*npts] = radial_eval_alpha*y*z; - basis_y_eval[ipt + 2*npts] = radial_eval_alpha*x*y; + basis_y_eval[ipt + 0*npts] = radial_eval + radial_eval_alpha*x4; + basis_y_eval[ipt + 1*npts] = x6; + basis_y_eval[ipt + 2*npts] = x1; // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = radial_eval_alpha*y*z; - basis_z_eval[ipt + 1*npts] = radial_eval + radial_eval_alpha*z*z; - basis_z_eval[ipt + 2*npts] = radial_eval_alpha*x*z; + basis_z_eval[ipt + 0*npts] = x6; + basis_z_eval[ipt + 1*npts] = radial_eval + radial_eval_alpha*x7; + basis_z_eval[ipt + 2*npts] = x2; // Evaluate second derivative of bfn wrt xx - basis_xx_eval[ipt + 0*npts] = y*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 1*npts] = z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 2*npts] = x*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); + basis_xx_eval[ipt + 0*npts] = x10; + basis_xx_eval[ipt + 1*npts] = x11; + basis_xx_eval[ipt + 2*npts] = x*(x12 + x8); // Evaluate second derivative of bfn wrt xy - basis_xy_eval[ipt + 0*npts] = x*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_xy_eval[ipt + 1*npts] = radial_eval_alpha_squared*x*y*z; - basis_xy_eval[ipt + 2*npts] = y*(radial_eval_alpha + radial_eval_alpha_squared*x*x); + basis_xy_eval[ipt + 0*npts] = x15; + basis_xy_eval[ipt + 1*npts] = x16; + basis_xy_eval[ipt + 2*npts] = x10; // Evaluate second derivative of bfn wrt xz - basis_xz_eval[ipt + 0*npts] = radial_eval_alpha_squared*x*y*z; - basis_xz_eval[ipt + 1*npts] = x*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_xz_eval[ipt + 2*npts] = z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); + basis_xz_eval[ipt + 0*npts] = x16; + basis_xz_eval[ipt + 1*npts] = x19; + basis_xz_eval[ipt + 2*npts] = x11; // Evaluate second derivative of bfn wrt yy - basis_yy_eval[ipt + 0*npts] = y*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 1*npts] = z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 2*npts] = x*(radial_eval_alpha + radial_eval_alpha_squared*y*y); + basis_yy_eval[ipt + 0*npts] = y*(x12 + x13); + basis_yy_eval[ipt + 1*npts] = x20; + basis_yy_eval[ipt + 2*npts] = x15; // Evaluate second derivative of bfn wrt yz - basis_yz_eval[ipt + 0*npts] = z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yz_eval[ipt + 1*npts] = y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_yz_eval[ipt + 2*npts] = radial_eval_alpha_squared*x*y*z; + basis_yz_eval[ipt + 0*npts] = x20; + basis_yz_eval[ipt + 1*npts] = x21; + basis_yz_eval[ipt + 2*npts] = x16; // Evaluate second derivative of bfn wrt zz - basis_zz_eval[ipt + 0*npts] = y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 1*npts] = z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 2*npts] = x*(radial_eval_alpha + radial_eval_alpha_squared*z*z); + basis_zz_eval[ipt + 0*npts] = x21; + basis_zz_eval[ipt + 1*npts] = z*(x12 + x17); + basis_zz_eval[ipt + 2*npts] = x19; + + @@ -187,15 +212,15 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_1, dang_eval_y_1, dang_eval_z_1; double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; - dang_eval_x_0 = radial_eval_alpha*x*y; - dang_eval_y_0 = radial_eval + radial_eval_alpha*y*y; - dang_eval_z_0 = radial_eval_alpha*y*z; - dang_eval_x_1 = radial_eval_alpha*x*z; - dang_eval_y_1 = radial_eval_alpha*y*z; - dang_eval_z_1 = radial_eval + radial_eval_alpha*z*z; - dang_eval_x_2 = radial_eval + radial_eval_alpha*x*x; - dang_eval_y_2 = radial_eval_alpha*x*y; - dang_eval_z_2 = radial_eval_alpha*x*z; + dang_eval_x_0 = x1; + dang_eval_y_0 = radial_eval + radial_eval_alpha*x4; + dang_eval_z_0 = x6; + dang_eval_x_1 = x2; + dang_eval_y_1 = x6; + dang_eval_z_1 = radial_eval + radial_eval_alpha*x7; + dang_eval_x_2 = radial_eval + radial_eval_alpha*x3; + dang_eval_y_2 = x1; + dang_eval_z_2 = x2; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1_lapgrad.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1_lapgrad.hpp new file mode 100644 index 00000000..4961400b --- /dev/null +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1_lapgrad.hpp @@ -0,0 +1,281 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once +#include "collocation_device_constants.hpp" +#include "device/xc_device_task.hpp" +#include "device_specific/cuda_device_constants.hpp" +#include "device/common/shell_to_task.hpp" +#include + +namespace GauXC { + + +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_spherical_lapgrad_1( + uint32_t nshell, + ShellToTaskDevice* __restrict__ shell_to_task, + XCDeviceTask* __restrict__ device_tasks +) { + + + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; + double* my_alpha = alpha[threadIdx.x/32]; + double* my_coeff = coeff[threadIdx.x/32]; + + for( auto ish = blockIdx.z; ish < nshell; ish += gridDim.z ) { + const uint32_t ntasks = shell_to_task[ish].ntask; + const auto shell = shell_to_task[ish].shell_device; + const auto task_idx = shell_to_task[ish].task_idx_device; + const auto task_shell_offs = shell_to_task[ish].task_shell_offs_device; + + + // Load Shell Data into registers / SM + const uint32_t nprim = shell->nprim(); + const double3 O = *reinterpret_cast(shell->O_data()); + + const int global_warp_id = (threadIdx.x + blockIdx.x*blockDim.x) / cuda::warp_size; + const int nwarp_global = max((blockDim.x*gridDim.x) / cuda::warp_size,1); + + // Read in coeffs/exps into SM on first warp + { + auto* coeff_gm = shell->coeff_data(); + auto* alpha_gm = shell->alpha_data(); + static_assert( detail::shell_nprim_max == cuda::warp_size ); + const int warp_rank = threadIdx.x % cuda::warp_size; + my_alpha[warp_rank] = alpha_gm[warp_rank]; + my_coeff[warp_rank] = coeff_gm[warp_rank]; + } + + // Loop over tasks assigned to shells + // Place each task on a different warp + schedule across blocks + for( int itask = global_warp_id; itask < ntasks; itask += nwarp_global ) { + + const auto* task = device_tasks + task_idx[itask]; + const auto* __restrict__ points_x = task->points_x; + const auto* __restrict__ points_y = task->points_y; + const auto* __restrict__ points_z = task->points_z; + const uint32_t npts = task->npts; + const size_t shoff = task_shell_offs[itask] * npts; + + auto* __restrict__ basis_eval = task->bf + shoff; + auto* __restrict__ basis_x_eval = task->dbfx + shoff; + auto* __restrict__ basis_y_eval = task->dbfy + shoff; + auto* __restrict__ basis_z_eval = task->dbfz + shoff; + auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; + auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; + auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; + auto* __restrict__ basis_yy_eval = task->d2bfyy + shoff; + auto* __restrict__ basis_yz_eval = task->d2bfyz + shoff; + auto* __restrict__ basis_zz_eval = task->d2bfzz + shoff; + auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; + auto* __restrict__ basis_lapl_x_eval = task->d3bflapl_x + shoff; + auto* __restrict__ basis_lapl_y_eval = task->d3bflapl_y + shoff; + auto* __restrict__ basis_lapl_z_eval = task->d3bflapl_z + shoff; + + // Loop over points in task + // Assign each point to separate thread within the warp + #pragma unroll 1 + for( int ipt = threadIdx.x % cuda::warp_size; ipt < npts; ipt += cuda::warp_size ) { + //const double3 point = points[ipt]; + double3 point; + point.x = points_x[ipt]; + point.y = points_y[ipt]; + point.z = points_z[ipt]; + + + const auto x = point.x - O.x; + const auto y = point.y - O.y; + const auto z = point.z - O.z; + const auto rsq = x*x + y*y + z*z; + + // Evaluate radial part of bfn + double radial_eval = 0.; + double radial_eval_alpha = 0.; + double radial_eval_alpha_squared = 0.; + double radial_eval_alpha_cubed = 0.; + + #pragma unroll 1 + for( uint32_t i = 0; i < nprim; ++i ) { + const auto a = my_alpha[i]; + const auto e = my_coeff[i] * std::exp( - a * rsq ); + + radial_eval += e; + radial_eval_alpha += a * e; + radial_eval_alpha_squared += a * a * e; + radial_eval_alpha_cubed += a * a * a * e; + } + + radial_eval_alpha *= -2; + radial_eval_alpha_squared *= 4; + radial_eval_alpha_cubed *= -8; + + // Common Subexpressions + const auto x0 = radial_eval_alpha*x; + const auto x1 = x0*y; + const auto x2 = x0*z; + const auto x3 = x*x; + const auto x4 = x3; + const auto x5 = y*y; + const auto x6 = x5; + const auto x7 = y*z; + const auto x8 = radial_eval_alpha*x7; + const auto x9 = z*z; + const auto x10 = x9; + const auto x11 = radial_eval_alpha_squared*x4; + const auto x12 = radial_eval_alpha + x11; + const auto x13 = x12*y; + const auto x14 = x12*z; + const auto x15 = 3.0*radial_eval_alpha; + const auto x16 = radial_eval_alpha_squared*x6; + const auto x17 = radial_eval_alpha + x16; + const auto x18 = x*x17; + const auto x19 = radial_eval_alpha_squared*x*x7; + const auto x20 = radial_eval_alpha_squared*x10; + const auto x21 = radial_eval_alpha + x20; + const auto x22 = x*x21; + const auto x23 = x17*z; + const auto x24 = x21*y; + const auto x25 = 5.0*radial_eval_alpha; + const auto x26 = x16 + x20 + x25; + const auto x27 = x11 + x26; + const auto x28 = 5.0*radial_eval_alpha_squared; + const auto x29 = radial_eval_alpha_cubed*(x*x*x); + const auto x30 = radial_eval_alpha_cubed*x6 + radial_eval_alpha_squared; + const auto x31 = radial_eval_alpha_cubed*x10 + radial_eval_alpha_squared; + const auto x32 = x*x28 + x*x30 + x*x31 + x29; + const auto x33 = 3.0*radial_eval_alpha_squared; + const auto x34 = radial_eval_alpha_cubed*(y*y*y); + const auto x35 = radial_eval_alpha_cubed*x4 + radial_eval_alpha_squared; + const auto x36 = x11 + x25; + const auto x37 = x28*y + x31*y + x34 + x35*y; + const auto x38 = radial_eval_alpha_cubed*(z*z*z); + const auto x39 = x28*z + x30*z + x35*z + x38; + + + // Evaluate basis function + basis_eval[ipt + 0*npts] = radial_eval*y; + basis_eval[ipt + 1*npts] = radial_eval*z; + basis_eval[ipt + 2*npts] = radial_eval*x; + + + + // Evaluate first derivative of bfn wrt x + basis_x_eval[ipt + 0*npts] = x1; + basis_x_eval[ipt + 1*npts] = x2; + basis_x_eval[ipt + 2*npts] = radial_eval + radial_eval_alpha*x4; + + // Evaluate first derivative of bfn wrt y + basis_y_eval[ipt + 0*npts] = radial_eval + radial_eval_alpha*x6; + basis_y_eval[ipt + 1*npts] = x8; + basis_y_eval[ipt + 2*npts] = x1; + + // Evaluate first derivative of bfn wrt z + basis_z_eval[ipt + 0*npts] = x8; + basis_z_eval[ipt + 1*npts] = radial_eval + radial_eval_alpha*x10; + basis_z_eval[ipt + 2*npts] = x2; + + // Evaluate second derivative of bfn wrt xx + basis_xx_eval[ipt + 0*npts] = x13; + basis_xx_eval[ipt + 1*npts] = x14; + basis_xx_eval[ipt + 2*npts] = x*(x11 + x15); + + // Evaluate second derivative of bfn wrt xy + basis_xy_eval[ipt + 0*npts] = x18; + basis_xy_eval[ipt + 1*npts] = x19; + basis_xy_eval[ipt + 2*npts] = x13; + + // Evaluate second derivative of bfn wrt xz + basis_xz_eval[ipt + 0*npts] = x19; + basis_xz_eval[ipt + 1*npts] = x22; + basis_xz_eval[ipt + 2*npts] = x14; + + // Evaluate second derivative of bfn wrt yy + basis_yy_eval[ipt + 0*npts] = y*(x15 + x16); + basis_yy_eval[ipt + 1*npts] = x23; + basis_yy_eval[ipt + 2*npts] = x18; + + // Evaluate second derivative of bfn wrt yz + basis_yz_eval[ipt + 0*npts] = x23; + basis_yz_eval[ipt + 1*npts] = x24; + basis_yz_eval[ipt + 2*npts] = x19; + + // Evaluate second derivative of bfn wrt zz + basis_zz_eval[ipt + 0*npts] = x24; + basis_zz_eval[ipt + 1*npts] = z*(x15 + x20); + basis_zz_eval[ipt + 2*npts] = x22; + + // Evaluate Laplacian of bfn + basis_lapl_eval[ipt + 0*npts] = x27*y; + basis_lapl_eval[ipt + 1*npts] = x27*z; + basis_lapl_eval[ipt + 2*npts] = x*x27; + + // Evaluate Laplacian gradient of bfn (dx) + basis_lapl_x_eval[ipt + 0*npts] = x32*y; + basis_lapl_x_eval[ipt + 1*npts] = x32*z; + basis_lapl_x_eval[ipt + 2*npts] = x*(x*x33 + x29) + x26 + x3*x30 + x3*x31 + x33*x4; + // Evaluate Laplacian gradient of bfn (dy) + basis_lapl_y_eval[ipt + 0*npts] = x20 + x31*x5 + x33*x6 + x35*x5 + x36 + y*(x33*y + x34); + basis_lapl_y_eval[ipt + 1*npts] = x37*z; + basis_lapl_y_eval[ipt + 2*npts] = x*x37; + // Evaluate Laplacian gradient of bfn (dz) + basis_lapl_z_eval[ipt + 0*npts] = x39*y; + basis_lapl_z_eval[ipt + 1*npts] = x10*x33 + x16 + x30*x9 + x35*x9 + x36 + z*(x33*z + x38); + basis_lapl_z_eval[ipt + 2*npts] = x*x39; + + + + +#if 0 + // Evaluate the angular part of bfn + + + + double ang_eval_0; + double ang_eval_1; + double ang_eval_2; + + + ang_eval_0 = radial_eval*y; + ang_eval_1 = radial_eval*z; + ang_eval_2 = radial_eval*x; + basis_eval[ipt + 0*npts] = ang_eval_0; + basis_eval[ipt + 1*npts] = ang_eval_1; + basis_eval[ipt + 2*npts] = ang_eval_2; + + + double dang_eval_x_0, dang_eval_y_0, dang_eval_z_0; + double dang_eval_x_1, dang_eval_y_1, dang_eval_z_1; + double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; + + dang_eval_x_0 = x1; + dang_eval_y_0 = radial_eval + radial_eval_alpha*x6; + dang_eval_z_0 = x8; + dang_eval_x_1 = x2; + dang_eval_y_1 = x8; + dang_eval_z_1 = radial_eval + radial_eval_alpha*x10; + dang_eval_x_2 = radial_eval + radial_eval_alpha*x4; + dang_eval_y_2 = x1; + dang_eval_z_2 = x2; + basis_x_eval[ipt + 0*npts] = dang_eval_x_0; + basis_y_eval[ipt + 0*npts] = dang_eval_y_0; + basis_z_eval[ipt + 0*npts] = dang_eval_z_0; + basis_x_eval[ipt + 1*npts] = dang_eval_x_1; + basis_y_eval[ipt + 1*npts] = dang_eval_y_1; + basis_z_eval[ipt + 1*npts] = dang_eval_z_1; + basis_x_eval[ipt + 2*npts] = dang_eval_x_2; + basis_y_eval[ipt + 2*npts] = dang_eval_y_2; + basis_z_eval[ipt + 2*npts] = dang_eval_z_2; + +#endif + } // Loop over points within task + } // Loop over tasks + + } // Loop over shells +} // end kernel + +} // namespace GauXC diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1_laplacian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1_laplacian.hpp index 32575b6e..b1e41c43 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1_laplacian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l1_laplacian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_spherical_laplacian_1( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_spherical_laplacian_1( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; // Loop over points in task @@ -103,7 +102,31 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = radial_eval_alpha*x; + const auto x1 = x0*y; + const auto x2 = x0*z; + const auto x3 = x*x; + const auto x4 = y*y; + const auto x5 = y*z; + const auto x6 = radial_eval_alpha*x5; + const auto x7 = z*z; + const auto x8 = radial_eval_alpha_squared*x3; + const auto x9 = radial_eval_alpha + x8; + const auto x10 = x9*y; + const auto x11 = x9*z; + const auto x12 = 3.0*radial_eval_alpha; + const auto x13 = radial_eval_alpha_squared*x4; + const auto x14 = radial_eval_alpha + x13; + const auto x15 = x*x14; + const auto x16 = radial_eval_alpha_squared*x*x5; + const auto x17 = radial_eval_alpha_squared*x7; + const auto x18 = radial_eval_alpha + x17; + const auto x19 = x*x18; + const auto x20 = x14*z; + const auto x21 = x18*y; + const auto x22 = 5.0*radial_eval_alpha + x13 + x17 + x8; + // Evaluate basis function basis_eval[ipt + 0*npts] = radial_eval*y; @@ -113,24 +136,26 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = radial_eval_alpha*x*y; - basis_x_eval[ipt + 1*npts] = radial_eval_alpha*x*z; - basis_x_eval[ipt + 2*npts] = radial_eval + radial_eval_alpha*x*x; + basis_x_eval[ipt + 0*npts] = x1; + basis_x_eval[ipt + 1*npts] = x2; + basis_x_eval[ipt + 2*npts] = radial_eval + radial_eval_alpha*x3; // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = radial_eval + radial_eval_alpha*y*y; - basis_y_eval[ipt + 1*npts] = radial_eval_alpha*y*z; - basis_y_eval[ipt + 2*npts] = radial_eval_alpha*x*y; + basis_y_eval[ipt + 0*npts] = radial_eval + radial_eval_alpha*x4; + basis_y_eval[ipt + 1*npts] = x6; + basis_y_eval[ipt + 2*npts] = x1; // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = radial_eval_alpha*y*z; - basis_z_eval[ipt + 1*npts] = radial_eval + radial_eval_alpha*z*z; - basis_z_eval[ipt + 2*npts] = radial_eval_alpha*x*z; + basis_z_eval[ipt + 0*npts] = x6; + basis_z_eval[ipt + 1*npts] = radial_eval + radial_eval_alpha*x7; + basis_z_eval[ipt + 2*npts] = x2; + // Evaluate Laplacian of bfn - basis_lapl_eval[ipt + 0*npts] = y*(5*radial_eval_alpha + radial_eval_alpha_squared*x*x + radial_eval_alpha_squared*y*y + radial_eval_alpha_squared*z*z); - basis_lapl_eval[ipt + 1*npts] = z*(5*radial_eval_alpha + radial_eval_alpha_squared*x*x + radial_eval_alpha_squared*y*y + radial_eval_alpha_squared*z*z); - basis_lapl_eval[ipt + 2*npts] = x*(5*radial_eval_alpha + radial_eval_alpha_squared*x*x + radial_eval_alpha_squared*y*y + radial_eval_alpha_squared*z*z); + basis_lapl_eval[ipt + 0*npts] = x22*y; + basis_lapl_eval[ipt + 1*npts] = x22*z; + basis_lapl_eval[ipt + 2*npts] = x*x22; + @@ -157,15 +182,15 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_1, dang_eval_y_1, dang_eval_z_1; double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; - dang_eval_x_0 = radial_eval_alpha*x*y; - dang_eval_y_0 = radial_eval + radial_eval_alpha*y*y; - dang_eval_z_0 = radial_eval_alpha*y*z; - dang_eval_x_1 = radial_eval_alpha*x*z; - dang_eval_y_1 = radial_eval_alpha*y*z; - dang_eval_z_1 = radial_eval + radial_eval_alpha*z*z; - dang_eval_x_2 = radial_eval + radial_eval_alpha*x*x; - dang_eval_y_2 = radial_eval_alpha*x*y; - dang_eval_z_2 = radial_eval_alpha*x*z; + dang_eval_x_0 = x1; + dang_eval_y_0 = radial_eval + radial_eval_alpha*x4; + dang_eval_z_0 = x6; + dang_eval_x_1 = x2; + dang_eval_y_1 = x6; + dang_eval_z_1 = radial_eval + radial_eval_alpha*x7; + dang_eval_x_2 = radial_eval + radial_eval_alpha*x3; + dang_eval_y_2 = x1; + dang_eval_z_2 = x2; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2.hpp index f29e2496..3ec4a1b7 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2.hpp @@ -64,7 +64,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_eval = task->bf + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -93,14 +92,19 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel } - + // Common Subexpressions + const auto x0 = radial_eval*sqrt_3*y; + const auto x1 = 0.5*radial_eval; + const auto x2 = x*x; + const auto x3 = y*y; + // Evaluate basis function - basis_eval[ipt + 0*npts] = sqrt_3*radial_eval*x*y; - basis_eval[ipt + 1*npts] = sqrt_3*radial_eval*y*z; - basis_eval[ipt + 2*npts] = radial_eval*(-x*x - y*y + 2*z*z)/2; - basis_eval[ipt + 3*npts] = sqrt_3*radial_eval*x*z; - basis_eval[ipt + 4*npts] = sqrt_3*radial_eval*(x*x - y*y)/2; + basis_eval[ipt + 0*npts] = x*x0; + basis_eval[ipt + 1*npts] = x0*z; + basis_eval[ipt + 2*npts] = -x1*(x2 + x3 - 2.0*z*z); + basis_eval[ipt + 3*npts] = radial_eval*sqrt_3*x*z; + basis_eval[ipt + 4*npts] = sqrt_3*x1*(x2 - x3); @@ -109,6 +113,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel + + #if 0 // Evaluate the angular part of bfn @@ -120,16 +126,16 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = sqrt_3*radial_eval*x*y; - ang_eval_1 = sqrt_3*radial_eval*y*z; - ang_eval_2 = radial_eval*(-x*x - y*y + 2*z*z)/2; - ang_eval_3 = sqrt_3*radial_eval*x*z; + ang_eval_0 = x*x0; + ang_eval_1 = x0*z; + ang_eval_2 = -x1*(x2 + x3 - 2.0*z*z); + ang_eval_3 = radial_eval*sqrt_3*x*z; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = sqrt_3*radial_eval*(x*x - y*y)/2; + ang_eval_0 = sqrt_3*x1*(x2 - x3); basis_eval[ipt + 4*npts] = ang_eval_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2_gradient.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2_gradient.hpp index c14931c8..1afb5798 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2_gradient.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2_gradient.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_spherical_gradient_2( +__global__ __launch_bounds__(256,2) void collocation_device_shell_to_task_kernel_spherical_gradient_2( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[8][detail::shell_nprim_max + 1]; + __shared__ double coeff[8][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -67,7 +67,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -99,37 +98,60 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; - + // Common Subexpressions + const auto x0 = sqrt_3*y; + const auto x1 = radial_eval*x0; + const auto x2 = 0.5*radial_eval; + const auto x3 = x*x; + const auto x4 = y*y; + const auto x5 = z*z; + const auto x6 = -x3 - x4 + 2.0*x5; + const auto x7 = sqrt_3*z; + const auto x8 = x3 - x4; + const auto x9 = radial_eval + radial_eval_alpha*x3; + const auto x10 = radial_eval_alpha*x*x0*z; + const auto x11 = 0.5*x; + const auto x12 = 2.0*radial_eval; + const auto x13 = -x12; + const auto x14 = radial_eval_alpha*x6; + const auto x15 = x13 + x14; + const auto x16 = radial_eval_alpha*x8; + const auto x17 = sqrt_3*x; + const auto x18 = radial_eval + radial_eval_alpha*x4; + const auto x19 = radial_eval + radial_eval_alpha*x5; + // Evaluate basis function - basis_eval[ipt + 0*npts] = sqrt_3*radial_eval*x*y; - basis_eval[ipt + 1*npts] = sqrt_3*radial_eval*y*z; - basis_eval[ipt + 2*npts] = radial_eval*(-x*x - y*y + 2*z*z)/2; - basis_eval[ipt + 3*npts] = sqrt_3*radial_eval*x*z; - basis_eval[ipt + 4*npts] = sqrt_3*radial_eval*(x*x - y*y)/2; + basis_eval[ipt + 0*npts] = x*x1; + basis_eval[ipt + 1*npts] = x1*z; + basis_eval[ipt + 2*npts] = x2*x6; + basis_eval[ipt + 3*npts] = radial_eval*x*x7; + basis_eval[ipt + 4*npts] = sqrt_3*x2*x8; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = sqrt_3*y*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 1*npts] = sqrt_3*radial_eval_alpha*x*y*z; - basis_x_eval[ipt + 2*npts] = x*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - basis_x_eval[ipt + 3*npts] = sqrt_3*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 4*npts] = sqrt_3*x*(2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; + basis_x_eval[ipt + 0*npts] = x0*x9; + basis_x_eval[ipt + 1*npts] = x10; + basis_x_eval[ipt + 2*npts] = x11*x15; + basis_x_eval[ipt + 3*npts] = x7*x9; + basis_x_eval[ipt + 4*npts] = sqrt_3*x11*(x12 + x16); // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = sqrt_3*x*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 1*npts] = sqrt_3*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 2*npts] = y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - basis_y_eval[ipt + 3*npts] = sqrt_3*radial_eval_alpha*x*y*z; - basis_y_eval[ipt + 4*npts] = sqrt_3*y*(-2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; + basis_y_eval[ipt + 0*npts] = x17*x18; + basis_y_eval[ipt + 1*npts] = x18*x7; + basis_y_eval[ipt + 2*npts] = 0.5*x15*y; + basis_y_eval[ipt + 3*npts] = x10; + basis_y_eval[ipt + 4*npts] = 0.5*x0*(x13 + x16); // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = sqrt_3*radial_eval_alpha*x*y*z; - basis_z_eval[ipt + 1*npts] = sqrt_3*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 2*npts] = z*(4*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - basis_z_eval[ipt + 3*npts] = sqrt_3*x*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 4*npts] = sqrt_3*radial_eval_alpha*z*(x*x - y*y)/2; + basis_z_eval[ipt + 0*npts] = x10; + basis_z_eval[ipt + 1*npts] = x0*x19; + basis_z_eval[ipt + 2*npts] = 0.5*z*(4.0*radial_eval + x14); + basis_z_eval[ipt + 3*npts] = x17*x19; + basis_z_eval[ipt + 4*npts] = 0.5*radial_eval_alpha*x7*x8; + + @@ -146,16 +168,16 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = sqrt_3*radial_eval*x*y; - ang_eval_1 = sqrt_3*radial_eval*y*z; - ang_eval_2 = radial_eval*(-x*x - y*y + 2*z*z)/2; - ang_eval_3 = sqrt_3*radial_eval*x*z; + ang_eval_0 = x*x1; + ang_eval_1 = x1*z; + ang_eval_2 = x2*x6; + ang_eval_3 = radial_eval*x*x7; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = sqrt_3*radial_eval*(x*x - y*y)/2; + ang_eval_0 = sqrt_3*x2*x8; basis_eval[ipt + 4*npts] = ang_eval_0; @@ -164,18 +186,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = sqrt_3*y*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = sqrt_3*x*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = sqrt_3*radial_eval_alpha*x*y*z; - dang_eval_x_1 = sqrt_3*radial_eval_alpha*x*y*z; - dang_eval_y_1 = sqrt_3*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = sqrt_3*y*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = x*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - dang_eval_y_2 = y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - dang_eval_z_2 = z*(4*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - dang_eval_x_3 = sqrt_3*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_3 = sqrt_3*radial_eval_alpha*x*y*z; - dang_eval_z_3 = sqrt_3*x*(radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x0*x9; + dang_eval_y_0 = x17*x18; + dang_eval_z_0 = x10; + dang_eval_x_1 = x10; + dang_eval_y_1 = x18*x7; + dang_eval_z_1 = x0*x19; + dang_eval_x_2 = x11*x15; + dang_eval_y_2 = 0.5*x15*y; + dang_eval_z_2 = 0.5*z*(4.0*radial_eval + x14); + dang_eval_x_3 = x7*x9; + dang_eval_y_3 = x10; + dang_eval_z_3 = x17*x19; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -189,9 +211,9 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = sqrt_3*x*(2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - dang_eval_y_0 = sqrt_3*y*(-2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - dang_eval_z_0 = sqrt_3*radial_eval_alpha*z*(x*x - y*y)/2; + dang_eval_x_0 = sqrt_3*x11*(x12 + x16); + dang_eval_y_0 = 0.5*x0*(x13 + x16); + dang_eval_z_0 = 0.5*radial_eval_alpha*x7*x8; basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2_hessian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2_hessian.hpp index 400ee30e..9bc3eb44 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2_hessian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2_hessian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_spherical_hessian_2( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_spherical_hessian_2( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; @@ -108,79 +107,137 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = sqrt_3*y; + const auto x1 = x*x0; + const auto x2 = x0*z; + const auto x3 = 0.5*radial_eval; + const auto x4 = x*x; + const auto x5 = y*y; + const auto x6 = z*z; + const auto x7 = -x4 - x5 + 2.0*x6; + const auto x8 = sqrt_3*z; + const auto x9 = x*x8; + const auto x10 = x4 - x5; + const auto x11 = radial_eval + radial_eval_alpha*x4; + const auto x12 = radial_eval_alpha*x1*z; + const auto x13 = 0.5*x; + const auto x14 = 2.0*radial_eval; + const auto x15 = -x14; + const auto x16 = radial_eval_alpha*x7; + const auto x17 = x15 + x16; + const auto x18 = radial_eval_alpha*x10; + const auto x19 = sqrt_3*x; + const auto x20 = radial_eval_alpha*x5; + const auto x21 = radial_eval + x20; + const auto x22 = 0.5*y; + const auto x23 = radial_eval_alpha*x6; + const auto x24 = radial_eval + x23; + const auto x25 = 0.5*z; + const auto x26 = 4.0*radial_eval; + const auto x27 = 3.0*radial_eval_alpha; + const auto x28 = radial_eval_alpha_squared*x4; + const auto x29 = x27 + x28; + const auto x30 = radial_eval_alpha + x28; + const auto x31 = x2*x30; + const auto x32 = 4.0*radial_eval_alpha; + const auto x33 = x32*x4; + const auto x34 = x14 + x33; + const auto x35 = 0.5*sqrt_3; + const auto x36 = x10*x30; + const auto x37 = radial_eval_alpha_squared*x5; + const auto x38 = radial_eval_alpha + x37; + const auto x39 = x38*x9; + const auto x40 = radial_eval_alpha_squared*x7; + const auto x41 = radial_eval_alpha_squared*x6; + const auto x42 = radial_eval_alpha + x41; + const auto x43 = x1*x42; + const auto x44 = 2.0*radial_eval_alpha; + const auto x45 = x40 + x44; + const auto x46 = radial_eval_alpha_squared*x10; + const auto x47 = x27 + x37; + const auto x48 = x32*x5; + const auto x49 = x14 + x48; + const auto x50 = x27 + x41; + const auto x51 = 8.0*radial_eval_alpha*x6 + x42*x7; + const auto x52 = x10*x42; + const auto x53 = 7.0*radial_eval_alpha + x28 + x37 + x41; + const auto x54 = -x48; + // Evaluate basis function - basis_eval[ipt + 0*npts] = sqrt_3*radial_eval*x*y; - basis_eval[ipt + 1*npts] = sqrt_3*radial_eval*y*z; - basis_eval[ipt + 2*npts] = radial_eval*(-x*x - y*y + 2*z*z)/2; - basis_eval[ipt + 3*npts] = sqrt_3*radial_eval*x*z; - basis_eval[ipt + 4*npts] = sqrt_3*radial_eval*(x*x - y*y)/2; + basis_eval[ipt + 0*npts] = radial_eval*x1; + basis_eval[ipt + 1*npts] = radial_eval*x2; + basis_eval[ipt + 2*npts] = x3*x7; + basis_eval[ipt + 3*npts] = radial_eval*x9; + basis_eval[ipt + 4*npts] = sqrt_3*x10*x3; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = sqrt_3*y*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 1*npts] = sqrt_3*radial_eval_alpha*x*y*z; - basis_x_eval[ipt + 2*npts] = x*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - basis_x_eval[ipt + 3*npts] = sqrt_3*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 4*npts] = sqrt_3*x*(2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; + basis_x_eval[ipt + 0*npts] = x0*x11; + basis_x_eval[ipt + 1*npts] = x12; + basis_x_eval[ipt + 2*npts] = x13*x17; + basis_x_eval[ipt + 3*npts] = x11*x8; + basis_x_eval[ipt + 4*npts] = sqrt_3*x13*(x14 + x18); // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = sqrt_3*x*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 1*npts] = sqrt_3*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 2*npts] = y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - basis_y_eval[ipt + 3*npts] = sqrt_3*radial_eval_alpha*x*y*z; - basis_y_eval[ipt + 4*npts] = sqrt_3*y*(-2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; + basis_y_eval[ipt + 0*npts] = x19*x21; + basis_y_eval[ipt + 1*npts] = x21*x8; + basis_y_eval[ipt + 2*npts] = x17*x22; + basis_y_eval[ipt + 3*npts] = x12; + basis_y_eval[ipt + 4*npts] = 0.5*x0*(x15 + x18); // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = sqrt_3*radial_eval_alpha*x*y*z; - basis_z_eval[ipt + 1*npts] = sqrt_3*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 2*npts] = z*(4*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - basis_z_eval[ipt + 3*npts] = sqrt_3*x*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 4*npts] = sqrt_3*radial_eval_alpha*z*(x*x - y*y)/2; + basis_z_eval[ipt + 0*npts] = x12; + basis_z_eval[ipt + 1*npts] = x0*x24; + basis_z_eval[ipt + 2*npts] = x25*(x16 + x26); + basis_z_eval[ipt + 3*npts] = x19*x24; + basis_z_eval[ipt + 4*npts] = 0.5*radial_eval_alpha*x10*x8; // Evaluate second derivative of bfn wrt xx - basis_xx_eval[ipt + 0*npts] = sqrt_3*x*y*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 1*npts] = sqrt_3*y*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 2*npts] = -radial_eval - 2*radial_eval_alpha*x*x - (radial_eval_alpha + radial_eval_alpha_squared*x*x)*(x*x + y*y - 2*z*z)/2; - basis_xx_eval[ipt + 3*npts] = sqrt_3*x*z*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 4*npts] = sqrt_3*(radial_eval + 2*radial_eval_alpha*x*x + (radial_eval_alpha + radial_eval_alpha_squared*x*x)*(x*x - y*y)/2); + basis_xx_eval[ipt + 0*npts] = x1*x29; + basis_xx_eval[ipt + 1*npts] = x31; + basis_xx_eval[ipt + 2*npts] = 0.5*x30*x7 - 0.5*x34; + basis_xx_eval[ipt + 3*npts] = x29*x9; + basis_xx_eval[ipt + 4*npts] = x35*(x34 + x36); // Evaluate second derivative of bfn wrt xy - basis_xy_eval[ipt + 0*npts] = sqrt_3*(radial_eval + radial_eval_alpha*x*x + radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y); - basis_xy_eval[ipt + 1*npts] = sqrt_3*x*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_xy_eval[ipt + 2*npts] = x*y*(-4*radial_eval_alpha - radial_eval_alpha_squared*(x*x + y*y - 2*z*z))/2; - basis_xy_eval[ipt + 3*npts] = sqrt_3*y*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xy_eval[ipt + 4*npts] = sqrt_3*radial_eval_alpha_squared*x*y*(x*x - y*y)/2; + basis_xy_eval[ipt + 0*npts] = sqrt_3*(radial_eval_alpha_squared*x4*x5 + x11 + x20); + basis_xy_eval[ipt + 1*npts] = x39; + basis_xy_eval[ipt + 2*npts] = x13*y*(-x32 + x40); + basis_xy_eval[ipt + 3*npts] = x31; + basis_xy_eval[ipt + 4*npts] = radial_eval_alpha_squared*x0*x10*x13; // Evaluate second derivative of bfn wrt xz - basis_xz_eval[ipt + 0*npts] = sqrt_3*y*z*(radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xz_eval[ipt + 1*npts] = sqrt_3*x*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_xz_eval[ipt + 2*npts] = x*z*(2*radial_eval_alpha - radial_eval_alpha_squared*(x*x + y*y - 2*z*z))/2; - basis_xz_eval[ipt + 3*npts] = sqrt_3*(radial_eval + radial_eval_alpha*x*x + radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z); - basis_xz_eval[ipt + 4*npts] = sqrt_3*x*z*(2*radial_eval_alpha + radial_eval_alpha_squared*(x*x - y*y))/2; + basis_xz_eval[ipt + 0*npts] = x31; + basis_xz_eval[ipt + 1*npts] = x43; + basis_xz_eval[ipt + 2*npts] = x13*x45*z; + basis_xz_eval[ipt + 3*npts] = sqrt_3*(radial_eval_alpha_squared*x4*x6 + x11 + x23); + basis_xz_eval[ipt + 4*npts] = x13*x8*(x44 + x46); // Evaluate second derivative of bfn wrt yy - basis_yy_eval[ipt + 0*npts] = sqrt_3*x*y*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 1*npts] = sqrt_3*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 2*npts] = -radial_eval - 2*radial_eval_alpha*y*y - (radial_eval_alpha + radial_eval_alpha_squared*y*y)*(x*x + y*y - 2*z*z)/2; - basis_yy_eval[ipt + 3*npts] = sqrt_3*x*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 4*npts] = sqrt_3*(-radial_eval - 2*radial_eval_alpha*y*y + (radial_eval_alpha + radial_eval_alpha_squared*y*y)*(x*x - y*y)/2); + basis_yy_eval[ipt + 0*npts] = x1*x47; + basis_yy_eval[ipt + 1*npts] = x2*x47; + basis_yy_eval[ipt + 2*npts] = 0.5*x38*x7 - 0.5*x49; + basis_yy_eval[ipt + 3*npts] = x39; + basis_yy_eval[ipt + 4*npts] = x35*(x10*x38 - x49); // Evaluate second derivative of bfn wrt yz - basis_yz_eval[ipt + 0*npts] = sqrt_3*x*z*(radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yz_eval[ipt + 1*npts] = sqrt_3*(radial_eval + radial_eval_alpha*y*y + radial_eval_alpha*z*z + radial_eval_alpha_squared*y*y*z*z); - basis_yz_eval[ipt + 2*npts] = y*z*(2*radial_eval_alpha - radial_eval_alpha_squared*(x*x + y*y - 2*z*z))/2; - basis_yz_eval[ipt + 3*npts] = sqrt_3*x*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_yz_eval[ipt + 4*npts] = sqrt_3*y*z*(-2*radial_eval_alpha + radial_eval_alpha_squared*(x*x - y*y))/2; + basis_yz_eval[ipt + 0*npts] = x39; + basis_yz_eval[ipt + 1*npts] = sqrt_3*(radial_eval_alpha_squared*x5*x6 + x21 + x23); + basis_yz_eval[ipt + 2*npts] = x22*x45*z; + basis_yz_eval[ipt + 3*npts] = x43; + basis_yz_eval[ipt + 4*npts] = x0*x25*(-x44 + x46); // Evaluate second derivative of bfn wrt zz - basis_zz_eval[ipt + 0*npts] = sqrt_3*x*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 1*npts] = sqrt_3*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 2*npts] = 2*radial_eval + 4*radial_eval_alpha*z*z - (radial_eval_alpha + radial_eval_alpha_squared*z*z)*(x*x + y*y - 2*z*z)/2; - basis_zz_eval[ipt + 3*npts] = sqrt_3*x*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 4*npts] = sqrt_3*(radial_eval_alpha + radial_eval_alpha_squared*z*z)*(x*x - y*y)/2; + basis_zz_eval[ipt + 0*npts] = x43; + basis_zz_eval[ipt + 1*npts] = x2*x50; + basis_zz_eval[ipt + 2*npts] = 0.5*x26 + 0.5*x51; + basis_zz_eval[ipt + 3*npts] = x50*x9; + basis_zz_eval[ipt + 4*npts] = x35*x52; + + @@ -196,16 +253,16 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = sqrt_3*radial_eval*x*y; - ang_eval_1 = sqrt_3*radial_eval*y*z; - ang_eval_2 = radial_eval*(-x*x - y*y + 2*z*z)/2; - ang_eval_3 = sqrt_3*radial_eval*x*z; + ang_eval_0 = radial_eval*x1; + ang_eval_1 = radial_eval*x2; + ang_eval_2 = x3*x7; + ang_eval_3 = radial_eval*x9; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = sqrt_3*radial_eval*(x*x - y*y)/2; + ang_eval_0 = sqrt_3*x10*x3; basis_eval[ipt + 4*npts] = ang_eval_0; @@ -214,18 +271,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = sqrt_3*y*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = sqrt_3*x*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = sqrt_3*radial_eval_alpha*x*y*z; - dang_eval_x_1 = sqrt_3*radial_eval_alpha*x*y*z; - dang_eval_y_1 = sqrt_3*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = sqrt_3*y*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = x*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - dang_eval_y_2 = y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - dang_eval_z_2 = z*(4*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - dang_eval_x_3 = sqrt_3*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_3 = sqrt_3*radial_eval_alpha*x*y*z; - dang_eval_z_3 = sqrt_3*x*(radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x0*x11; + dang_eval_y_0 = x19*x21; + dang_eval_z_0 = x12; + dang_eval_x_1 = x12; + dang_eval_y_1 = x21*x8; + dang_eval_z_1 = x0*x24; + dang_eval_x_2 = x13*x17; + dang_eval_y_2 = x17*x22; + dang_eval_z_2 = x25*(x16 + x26); + dang_eval_x_3 = x11*x8; + dang_eval_y_3 = x12; + dang_eval_z_3 = x19*x24; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -239,9 +296,9 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = sqrt_3*x*(2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - dang_eval_y_0 = sqrt_3*y*(-2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - dang_eval_z_0 = sqrt_3*radial_eval_alpha*z*(x*x - y*y)/2; + dang_eval_x_0 = sqrt_3*x13*(x14 + x18); + dang_eval_y_0 = 0.5*x0*(x15 + x18); + dang_eval_z_0 = 0.5*radial_eval_alpha*x10*x8; basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2_lapgrad.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2_lapgrad.hpp new file mode 100644 index 00000000..2fc6b9d6 --- /dev/null +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2_lapgrad.hpp @@ -0,0 +1,382 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once +#include "collocation_device_constants.hpp" +#include "device/xc_device_task.hpp" +#include "device_specific/cuda_device_constants.hpp" +#include "device/common/shell_to_task.hpp" +#include + +namespace GauXC { + + +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_spherical_lapgrad_2( + uint32_t nshell, + ShellToTaskDevice* __restrict__ shell_to_task, + XCDeviceTask* __restrict__ device_tasks +) { + + + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; + double* my_alpha = alpha[threadIdx.x/32]; + double* my_coeff = coeff[threadIdx.x/32]; + + for( auto ish = blockIdx.z; ish < nshell; ish += gridDim.z ) { + const uint32_t ntasks = shell_to_task[ish].ntask; + const auto shell = shell_to_task[ish].shell_device; + const auto task_idx = shell_to_task[ish].task_idx_device; + const auto task_shell_offs = shell_to_task[ish].task_shell_offs_device; + + + // Load Shell Data into registers / SM + const uint32_t nprim = shell->nprim(); + const double3 O = *reinterpret_cast(shell->O_data()); + + const int global_warp_id = (threadIdx.x + blockIdx.x*blockDim.x) / cuda::warp_size; + const int nwarp_global = max((blockDim.x*gridDim.x) / cuda::warp_size,1); + + // Read in coeffs/exps into SM on first warp + { + auto* coeff_gm = shell->coeff_data(); + auto* alpha_gm = shell->alpha_data(); + static_assert( detail::shell_nprim_max == cuda::warp_size ); + const int warp_rank = threadIdx.x % cuda::warp_size; + my_alpha[warp_rank] = alpha_gm[warp_rank]; + my_coeff[warp_rank] = coeff_gm[warp_rank]; + } + + // Loop over tasks assigned to shells + // Place each task on a different warp + schedule across blocks + for( int itask = global_warp_id; itask < ntasks; itask += nwarp_global ) { + + const auto* task = device_tasks + task_idx[itask]; + const auto* __restrict__ points_x = task->points_x; + const auto* __restrict__ points_y = task->points_y; + const auto* __restrict__ points_z = task->points_z; + const uint32_t npts = task->npts; + const size_t shoff = task_shell_offs[itask] * npts; + + auto* __restrict__ basis_eval = task->bf + shoff; + auto* __restrict__ basis_x_eval = task->dbfx + shoff; + auto* __restrict__ basis_y_eval = task->dbfy + shoff; + auto* __restrict__ basis_z_eval = task->dbfz + shoff; + auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; + auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; + auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; + auto* __restrict__ basis_yy_eval = task->d2bfyy + shoff; + auto* __restrict__ basis_yz_eval = task->d2bfyz + shoff; + auto* __restrict__ basis_zz_eval = task->d2bfzz + shoff; + auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; + auto* __restrict__ basis_lapl_x_eval = task->d3bflapl_x + shoff; + auto* __restrict__ basis_lapl_y_eval = task->d3bflapl_y + shoff; + auto* __restrict__ basis_lapl_z_eval = task->d3bflapl_z + shoff; + + // Loop over points in task + // Assign each point to separate thread within the warp + #pragma unroll 1 + for( int ipt = threadIdx.x % cuda::warp_size; ipt < npts; ipt += cuda::warp_size ) { + //const double3 point = points[ipt]; + double3 point; + point.x = points_x[ipt]; + point.y = points_y[ipt]; + point.z = points_z[ipt]; + + + const auto x = point.x - O.x; + const auto y = point.y - O.y; + const auto z = point.z - O.z; + const auto rsq = x*x + y*y + z*z; + + // Evaluate radial part of bfn + double radial_eval = 0.; + double radial_eval_alpha = 0.; + double radial_eval_alpha_squared = 0.; + double radial_eval_alpha_cubed = 0.; + + #pragma unroll 1 + for( uint32_t i = 0; i < nprim; ++i ) { + const auto a = my_alpha[i]; + const auto e = my_coeff[i] * std::exp( - a * rsq ); + + radial_eval += e; + radial_eval_alpha += a * e; + radial_eval_alpha_squared += a * a * e; + radial_eval_alpha_cubed += a * a * a * e; + } + + radial_eval_alpha *= -2; + radial_eval_alpha_squared *= 4; + radial_eval_alpha_cubed *= -8; + + // Common Subexpressions + const auto x0 = sqrt_3*y; + const auto x1 = x*x0; + const auto x2 = x0*z; + const auto x3 = 0.5*radial_eval; + const auto x4 = x*x; + const auto x5 = x4; + const auto x6 = y*y; + const auto x7 = x6; + const auto x8 = z*z; + const auto x9 = x8; + const auto x10 = -x5 - x7 + 2.0*x9; + const auto x11 = sqrt_3*z; + const auto x12 = x*x11; + const auto x13 = x5 - x7; + const auto x14 = radial_eval + radial_eval_alpha*x5; + const auto x15 = radial_eval_alpha*x1*z; + const auto x16 = 0.5*x; + const auto x17 = 2.0*radial_eval; + const auto x18 = -x17; + const auto x19 = radial_eval_alpha*x10; + const auto x20 = x18 + x19; + const auto x21 = radial_eval_alpha*x13; + const auto x22 = sqrt_3*x; + const auto x23 = radial_eval_alpha*x7; + const auto x24 = radial_eval + x23; + const auto x25 = 0.5*y; + const auto x26 = radial_eval_alpha*x9; + const auto x27 = radial_eval + x26; + const auto x28 = 0.5*z; + const auto x29 = 4.0*radial_eval; + const auto x30 = 3.0*radial_eval_alpha; + const auto x31 = radial_eval_alpha_squared*x5; + const auto x32 = x30 + x31; + const auto x33 = radial_eval_alpha + x31; + const auto x34 = x2*x33; + const auto x35 = 4.0*radial_eval_alpha; + const auto x36 = x35*x5; + const auto x37 = x17 + x36; + const auto x38 = 0.5*sqrt_3; + const auto x39 = x13*x33; + const auto x40 = radial_eval_alpha_squared*x7; + const auto x41 = radial_eval_alpha + x40; + const auto x42 = x12*x41; + const auto x43 = radial_eval_alpha_squared*x10; + const auto x44 = radial_eval_alpha_squared*x9; + const auto x45 = radial_eval_alpha + x44; + const auto x46 = x1*x45; + const auto x47 = 2.0*radial_eval_alpha; + const auto x48 = x43 + x47; + const auto x49 = radial_eval_alpha_squared*x13; + const auto x50 = x30 + x40; + const auto x51 = x35*x7; + const auto x52 = x17 + x51; + const auto x53 = x30 + x44; + const auto x54 = 8.0*radial_eval_alpha; + const auto x55 = x10*x45 + x54*x9; + const auto x56 = x13*x45; + const auto x57 = x40 + x44; + const auto x58 = 7.0*radial_eval_alpha + x31 + x57; + const auto x59 = -x51; + const auto x60 = radial_eval_alpha_squared*x; + const auto x61 = radial_eval_alpha_cubed*(x*x*x); + const auto x62 = 3.0*x60 + x61; + const auto x63 = radial_eval_alpha_cubed*x7 + radial_eval_alpha_squared; + const auto x64 = radial_eval_alpha_cubed*x9 + radial_eval_alpha_squared; + const auto x65 = 2.0*radial_eval_alpha_squared; + const auto x66 = x*x62 + 3.0*x33 + x35 + x4*x63 + x4*x64 + x5*x65 + x57; + const auto x67 = 4.0*x60*x7; + const auto x68 = 2.0*x; + const auto x69 = 6.0*x*x33 + x*x35 + x41*x68 + x45*x68; + const auto x70 = x13*x63; + const auto x71 = x13*x64; + const auto x72 = radial_eval_alpha_squared*y; + const auto x73 = radial_eval_alpha_cubed*(y*y*y); + const auto x74 = 3.0*x72 + x73; + const auto x75 = radial_eval_alpha_cubed*x5 + radial_eval_alpha_squared; + const auto x76 = x31 + x35; + const auto x77 = 3.0*x41 + x44 + x6*x64 + x6*x75 + x65*x7 + x74*y + x76; + const auto x78 = x35*y; + const auto x79 = 4.0*x5*x72; + const auto x80 = 2.0*y; + const auto x81 = x33*x80; + const auto x82 = 6.0*x41*y; + const auto x83 = x45*x80; + const auto x84 = x13*x75; + const auto x85 = radial_eval_alpha_squared*z; + const auto x86 = radial_eval_alpha_cubed*(z*z*z); + const auto x87 = 3.0*x85 + x86; + const auto x88 = x40 + 3.0*x45 + x63*x8 + x65*x9 + x75*x8 + x76 + x87*z; + const auto x89 = 4.0*z; + const auto x90 = radial_eval_alpha_squared*x89; + const auto x91 = x5*x90; + const auto x92 = -x7*x90; + + + // Evaluate basis function + basis_eval[ipt + 0*npts] = radial_eval*x1; + basis_eval[ipt + 1*npts] = radial_eval*x2; + basis_eval[ipt + 2*npts] = x10*x3; + basis_eval[ipt + 3*npts] = radial_eval*x12; + basis_eval[ipt + 4*npts] = sqrt_3*x13*x3; + + + + // Evaluate first derivative of bfn wrt x + basis_x_eval[ipt + 0*npts] = x0*x14; + basis_x_eval[ipt + 1*npts] = x15; + basis_x_eval[ipt + 2*npts] = x16*x20; + basis_x_eval[ipt + 3*npts] = x11*x14; + basis_x_eval[ipt + 4*npts] = sqrt_3*x16*(x17 + x21); + + // Evaluate first derivative of bfn wrt y + basis_y_eval[ipt + 0*npts] = x22*x24; + basis_y_eval[ipt + 1*npts] = x11*x24; + basis_y_eval[ipt + 2*npts] = x20*x25; + basis_y_eval[ipt + 3*npts] = x15; + basis_y_eval[ipt + 4*npts] = 0.5*x0*(x18 + x21); + + // Evaluate first derivative of bfn wrt z + basis_z_eval[ipt + 0*npts] = x15; + basis_z_eval[ipt + 1*npts] = x0*x27; + basis_z_eval[ipt + 2*npts] = x28*(x19 + x29); + basis_z_eval[ipt + 3*npts] = x22*x27; + basis_z_eval[ipt + 4*npts] = 0.5*radial_eval_alpha*x11*x13; + + // Evaluate second derivative of bfn wrt xx + basis_xx_eval[ipt + 0*npts] = x1*x32; + basis_xx_eval[ipt + 1*npts] = x34; + basis_xx_eval[ipt + 2*npts] = 0.5*x10*x33 - 0.5*x37; + basis_xx_eval[ipt + 3*npts] = x12*x32; + basis_xx_eval[ipt + 4*npts] = x38*(x37 + x39); + + // Evaluate second derivative of bfn wrt xy + basis_xy_eval[ipt + 0*npts] = sqrt_3*(radial_eval_alpha_squared*x5*x7 + x14 + x23); + basis_xy_eval[ipt + 1*npts] = x42; + basis_xy_eval[ipt + 2*npts] = x16*y*(-x35 + x43); + basis_xy_eval[ipt + 3*npts] = x34; + basis_xy_eval[ipt + 4*npts] = radial_eval_alpha_squared*x0*x13*x16; + + // Evaluate second derivative of bfn wrt xz + basis_xz_eval[ipt + 0*npts] = x34; + basis_xz_eval[ipt + 1*npts] = x46; + basis_xz_eval[ipt + 2*npts] = x16*x48*z; + basis_xz_eval[ipt + 3*npts] = sqrt_3*(radial_eval_alpha_squared*x5*x9 + x14 + x26); + basis_xz_eval[ipt + 4*npts] = x11*x16*(x47 + x49); + + // Evaluate second derivative of bfn wrt yy + basis_yy_eval[ipt + 0*npts] = x1*x50; + basis_yy_eval[ipt + 1*npts] = x2*x50; + basis_yy_eval[ipt + 2*npts] = 0.5*x10*x41 - 0.5*x52; + basis_yy_eval[ipt + 3*npts] = x42; + basis_yy_eval[ipt + 4*npts] = x38*(x13*x41 - x52); + + // Evaluate second derivative of bfn wrt yz + basis_yz_eval[ipt + 0*npts] = x42; + basis_yz_eval[ipt + 1*npts] = sqrt_3*(radial_eval_alpha_squared*x7*x9 + x24 + x26); + basis_yz_eval[ipt + 2*npts] = x25*x48*z; + basis_yz_eval[ipt + 3*npts] = x46; + basis_yz_eval[ipt + 4*npts] = x0*x28*(-x47 + x49); + + // Evaluate second derivative of bfn wrt zz + basis_zz_eval[ipt + 0*npts] = x46; + basis_zz_eval[ipt + 1*npts] = x2*x53; + basis_zz_eval[ipt + 2*npts] = 0.5*x29 + 0.5*x55; + basis_zz_eval[ipt + 3*npts] = x12*x53; + basis_zz_eval[ipt + 4*npts] = x38*x56; + + // Evaluate Laplacian of bfn + basis_lapl_eval[ipt + 0*npts] = x1*x58; + basis_lapl_eval[ipt + 1*npts] = x2*x58; + basis_lapl_eval[ipt + 2*npts] = 0.5*x10*x33 + 0.5*x10*x41 - 0.5*x36 + 0.5*x55 + 0.5*x59; + basis_lapl_eval[ipt + 3*npts] = x12*x58; + basis_lapl_eval[ipt + 4*npts] = x38*(x13*x41 + x36 + x39 + x56 + x59); + + // Evaluate Laplacian gradient of bfn (dx) + basis_lapl_x_eval[ipt + 0*npts] = x0*x66; + basis_lapl_x_eval[ipt + 1*npts] = x2*(x*x63 + x*x64 + 7.0*x60 + x61); + basis_lapl_x_eval[ipt + 2*npts] = 4.0*radial_eval_alpha_squared*x*x9 + 0.5*x*x10*x63 + 0.5*x*x10*x64 + 0.5*x10*x62 - 0.5*x67 - 0.5*x69; + basis_lapl_x_eval[ipt + 3*npts] = x11*x66; + basis_lapl_x_eval[ipt + 4*npts] = x38*(x*x70 + x*x71 + x13*x62 - x67 + x69); + // Evaluate Laplacian gradient of bfn (dy) + basis_lapl_y_eval[ipt + 0*npts] = x22*x77; + basis_lapl_y_eval[ipt + 1*npts] = x11*x77; + basis_lapl_y_eval[ipt + 2*npts] = 4.0*radial_eval_alpha_squared*x9*y + 0.5*x10*x64*y + 0.5*x10*x74 + 0.5*x10*x75*y - 0.5*x78 - 0.5*x79 - 0.5*x81 - 0.5*x82 - 0.5*x83; + basis_lapl_y_eval[ipt + 3*npts] = x12*(x64*y + 7.0*x72 + x73 + x75*y); + basis_lapl_y_eval[ipt + 4*npts] = x38*(x13*x74 + x71*y - x78 + x79 - x81 - x82 - x83 + x84*y); + // Evaluate Laplacian gradient of bfn (dz) + basis_lapl_z_eval[ipt + 0*npts] = x1*(x63*z + x75*z + 7.0*x85 + x86); + basis_lapl_z_eval[ipt + 1*npts] = x0*x88; + basis_lapl_z_eval[ipt + 2*npts] = 0.5*x10*x63*z + 0.5*x10*x75*z + 0.5*x10*x87 + 0.5*x33*x89 + 0.5*x41*x89 + 6.0*x45*z + 0.5*x54*z - 0.5*x91 + 0.5*x92; + basis_lapl_z_eval[ipt + 3*npts] = x22*x88; + basis_lapl_z_eval[ipt + 4*npts] = x38*(x13*x87 + x70*z + x84*z + x91 + x92); + + + + +#if 0 + // Evaluate the angular part of bfn + + + + double ang_eval_0; + double ang_eval_1; + double ang_eval_2; + double ang_eval_3; + + + ang_eval_0 = radial_eval*x1; + ang_eval_1 = radial_eval*x2; + ang_eval_2 = x10*x3; + ang_eval_3 = radial_eval*x12; + basis_eval[ipt + 0*npts] = ang_eval_0; + basis_eval[ipt + 1*npts] = ang_eval_1; + basis_eval[ipt + 2*npts] = ang_eval_2; + basis_eval[ipt + 3*npts] = ang_eval_3; + + ang_eval_0 = sqrt_3*x13*x3; + basis_eval[ipt + 4*npts] = ang_eval_0; + + + double dang_eval_x_0, dang_eval_y_0, dang_eval_z_0; + double dang_eval_x_1, dang_eval_y_1, dang_eval_z_1; + double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; + double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; + + dang_eval_x_0 = x0*x14; + dang_eval_y_0 = x22*x24; + dang_eval_z_0 = x15; + dang_eval_x_1 = x15; + dang_eval_y_1 = x11*x24; + dang_eval_z_1 = x0*x27; + dang_eval_x_2 = x16*x20; + dang_eval_y_2 = x20*x25; + dang_eval_z_2 = x28*(x19 + x29); + dang_eval_x_3 = x11*x14; + dang_eval_y_3 = x15; + dang_eval_z_3 = x22*x27; + basis_x_eval[ipt + 0*npts] = dang_eval_x_0; + basis_y_eval[ipt + 0*npts] = dang_eval_y_0; + basis_z_eval[ipt + 0*npts] = dang_eval_z_0; + basis_x_eval[ipt + 1*npts] = dang_eval_x_1; + basis_y_eval[ipt + 1*npts] = dang_eval_y_1; + basis_z_eval[ipt + 1*npts] = dang_eval_z_1; + basis_x_eval[ipt + 2*npts] = dang_eval_x_2; + basis_y_eval[ipt + 2*npts] = dang_eval_y_2; + basis_z_eval[ipt + 2*npts] = dang_eval_z_2; + basis_x_eval[ipt + 3*npts] = dang_eval_x_3; + basis_y_eval[ipt + 3*npts] = dang_eval_y_3; + basis_z_eval[ipt + 3*npts] = dang_eval_z_3; + + dang_eval_x_0 = sqrt_3*x16*(x17 + x21); + dang_eval_y_0 = 0.5*x0*(x18 + x21); + dang_eval_z_0 = 0.5*radial_eval_alpha*x11*x13; + basis_x_eval[ipt + 4*npts] = dang_eval_x_0; + basis_y_eval[ipt + 4*npts] = dang_eval_y_0; + basis_z_eval[ipt + 4*npts] = dang_eval_z_0; + +#endif + } // Loop over points within task + } // Loop over tasks + + } // Loop over shells +} // end kernel + +} // namespace GauXC diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2_laplacian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2_laplacian.hpp index a3c3358c..2e3122d6 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2_laplacian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l2_laplacian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_spherical_laplacian_2( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_spherical_laplacian_2( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; // Loop over points in task @@ -103,44 +102,102 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = sqrt_3*y; + const auto x1 = x*x0; + const auto x2 = x0*z; + const auto x3 = 0.5*radial_eval; + const auto x4 = x*x; + const auto x5 = y*y; + const auto x6 = z*z; + const auto x7 = -x4 - x5 + 2.0*x6; + const auto x8 = sqrt_3*z; + const auto x9 = x*x8; + const auto x10 = x4 - x5; + const auto x11 = radial_eval + radial_eval_alpha*x4; + const auto x12 = radial_eval_alpha*x1*z; + const auto x13 = 0.5*x; + const auto x14 = 2.0*radial_eval; + const auto x15 = -x14; + const auto x16 = radial_eval_alpha*x7; + const auto x17 = x15 + x16; + const auto x18 = radial_eval_alpha*x10; + const auto x19 = sqrt_3*x; + const auto x20 = radial_eval_alpha*x5; + const auto x21 = radial_eval + x20; + const auto x22 = 0.5*y; + const auto x23 = radial_eval_alpha*x6; + const auto x24 = radial_eval + x23; + const auto x25 = 0.5*z; + const auto x26 = 4.0*radial_eval; + const auto x27 = 3.0*radial_eval_alpha; + const auto x28 = radial_eval_alpha_squared*x4; + const auto x29 = x27 + x28; + const auto x30 = radial_eval_alpha + x28; + const auto x31 = x2*x30; + const auto x32 = 4.0*radial_eval_alpha; + const auto x33 = x32*x4; + const auto x34 = x14 + x33; + const auto x35 = 0.5*sqrt_3; + const auto x36 = x10*x30; + const auto x37 = radial_eval_alpha_squared*x5; + const auto x38 = radial_eval_alpha + x37; + const auto x39 = x38*x9; + const auto x40 = radial_eval_alpha_squared*x7; + const auto x41 = radial_eval_alpha_squared*x6; + const auto x42 = radial_eval_alpha + x41; + const auto x43 = x1*x42; + const auto x44 = 2.0*radial_eval_alpha; + const auto x45 = x40 + x44; + const auto x46 = radial_eval_alpha_squared*x10; + const auto x47 = x27 + x37; + const auto x48 = x32*x5; + const auto x49 = x14 + x48; + const auto x50 = x27 + x41; + const auto x51 = 8.0*radial_eval_alpha*x6 + x42*x7; + const auto x52 = x10*x42; + const auto x53 = 7.0*radial_eval_alpha + x28 + x37 + x41; + const auto x54 = -x48; + // Evaluate basis function - basis_eval[ipt + 0*npts] = sqrt_3*radial_eval*x*y; - basis_eval[ipt + 1*npts] = sqrt_3*radial_eval*y*z; - basis_eval[ipt + 2*npts] = radial_eval*(-x*x - y*y + 2*z*z)/2; - basis_eval[ipt + 3*npts] = sqrt_3*radial_eval*x*z; - basis_eval[ipt + 4*npts] = sqrt_3*radial_eval*(x*x - y*y)/2; + basis_eval[ipt + 0*npts] = radial_eval*x1; + basis_eval[ipt + 1*npts] = radial_eval*x2; + basis_eval[ipt + 2*npts] = x3*x7; + basis_eval[ipt + 3*npts] = radial_eval*x9; + basis_eval[ipt + 4*npts] = sqrt_3*x10*x3; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = sqrt_3*y*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 1*npts] = sqrt_3*radial_eval_alpha*x*y*z; - basis_x_eval[ipt + 2*npts] = x*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - basis_x_eval[ipt + 3*npts] = sqrt_3*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 4*npts] = sqrt_3*x*(2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; + basis_x_eval[ipt + 0*npts] = x0*x11; + basis_x_eval[ipt + 1*npts] = x12; + basis_x_eval[ipt + 2*npts] = x13*x17; + basis_x_eval[ipt + 3*npts] = x11*x8; + basis_x_eval[ipt + 4*npts] = sqrt_3*x13*(x14 + x18); // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = sqrt_3*x*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 1*npts] = sqrt_3*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 2*npts] = y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - basis_y_eval[ipt + 3*npts] = sqrt_3*radial_eval_alpha*x*y*z; - basis_y_eval[ipt + 4*npts] = sqrt_3*y*(-2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; + basis_y_eval[ipt + 0*npts] = x19*x21; + basis_y_eval[ipt + 1*npts] = x21*x8; + basis_y_eval[ipt + 2*npts] = x17*x22; + basis_y_eval[ipt + 3*npts] = x12; + basis_y_eval[ipt + 4*npts] = 0.5*x0*(x15 + x18); // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = sqrt_3*radial_eval_alpha*x*y*z; - basis_z_eval[ipt + 1*npts] = sqrt_3*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 2*npts] = z*(4*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - basis_z_eval[ipt + 3*npts] = sqrt_3*x*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 4*npts] = sqrt_3*radial_eval_alpha*z*(x*x - y*y)/2; + basis_z_eval[ipt + 0*npts] = x12; + basis_z_eval[ipt + 1*npts] = x0*x24; + basis_z_eval[ipt + 2*npts] = x25*(x16 + x26); + basis_z_eval[ipt + 3*npts] = x19*x24; + basis_z_eval[ipt + 4*npts] = 0.5*radial_eval_alpha*x10*x8; + // Evaluate Laplacian of bfn - basis_lapl_eval[ipt + 0*npts] = sqrt_3*x*y*(7*radial_eval_alpha + radial_eval_alpha_squared*x*x + radial_eval_alpha_squared*y*y + radial_eval_alpha_squared*z*z); - basis_lapl_eval[ipt + 1*npts] = sqrt_3*y*z*(7*radial_eval_alpha + radial_eval_alpha_squared*x*x + radial_eval_alpha_squared*y*y + radial_eval_alpha_squared*z*z); - basis_lapl_eval[ipt + 2*npts] = -7*radial_eval_alpha*x*x/2 - 7*radial_eval_alpha*y*y/2 + 7*radial_eval_alpha*z*z - radial_eval_alpha_squared*x*x*x*x/2 - radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*x*x*z*z/2 - radial_eval_alpha_squared*y*y*y*y/2 + radial_eval_alpha_squared*y*y*z*z/2 + radial_eval_alpha_squared*z*z*z*z; - basis_lapl_eval[ipt + 3*npts] = sqrt_3*x*z*(7*radial_eval_alpha + radial_eval_alpha_squared*x*x + radial_eval_alpha_squared*y*y + radial_eval_alpha_squared*z*z); - basis_lapl_eval[ipt + 4*npts] = sqrt_3*(7*radial_eval_alpha*x*x - 7*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*x*x + radial_eval_alpha_squared*x*x*z*z - radial_eval_alpha_squared*y*y*y*y - radial_eval_alpha_squared*y*y*z*z)/2; + basis_lapl_eval[ipt + 0*npts] = x1*x53; + basis_lapl_eval[ipt + 1*npts] = x2*x53; + basis_lapl_eval[ipt + 2*npts] = 0.5*x30*x7 - 0.5*x33 + 0.5*x38*x7 + 0.5*x51 + 0.5*x54; + basis_lapl_eval[ipt + 3*npts] = x53*x9; + basis_lapl_eval[ipt + 4*npts] = x35*(x10*x38 + x33 + x36 + x52 + x54); + @@ -156,16 +213,16 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = sqrt_3*radial_eval*x*y; - ang_eval_1 = sqrt_3*radial_eval*y*z; - ang_eval_2 = radial_eval*(-x*x - y*y + 2*z*z)/2; - ang_eval_3 = sqrt_3*radial_eval*x*z; + ang_eval_0 = radial_eval*x1; + ang_eval_1 = radial_eval*x2; + ang_eval_2 = x3*x7; + ang_eval_3 = radial_eval*x9; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = sqrt_3*radial_eval*(x*x - y*y)/2; + ang_eval_0 = sqrt_3*x10*x3; basis_eval[ipt + 4*npts] = ang_eval_0; @@ -174,18 +231,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = sqrt_3*y*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_0 = sqrt_3*x*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_0 = sqrt_3*radial_eval_alpha*x*y*z; - dang_eval_x_1 = sqrt_3*radial_eval_alpha*x*y*z; - dang_eval_y_1 = sqrt_3*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = sqrt_3*y*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = x*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - dang_eval_y_2 = y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - dang_eval_z_2 = z*(4*radial_eval - radial_eval_alpha*(x*x + y*y - 2*z*z))/2; - dang_eval_x_3 = sqrt_3*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_3 = sqrt_3*radial_eval_alpha*x*y*z; - dang_eval_z_3 = sqrt_3*x*(radial_eval + radial_eval_alpha*z*z); + dang_eval_x_0 = x0*x11; + dang_eval_y_0 = x19*x21; + dang_eval_z_0 = x12; + dang_eval_x_1 = x12; + dang_eval_y_1 = x21*x8; + dang_eval_z_1 = x0*x24; + dang_eval_x_2 = x13*x17; + dang_eval_y_2 = x17*x22; + dang_eval_z_2 = x25*(x16 + x26); + dang_eval_x_3 = x11*x8; + dang_eval_y_3 = x12; + dang_eval_z_3 = x19*x24; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -199,9 +256,9 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = sqrt_3*x*(2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - dang_eval_y_0 = sqrt_3*y*(-2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - dang_eval_z_0 = sqrt_3*radial_eval_alpha*z*(x*x - y*y)/2; + dang_eval_x_0 = sqrt_3*x13*(x14 + x18); + dang_eval_y_0 = 0.5*x0*(x15 + x18); + dang_eval_z_0 = 0.5*radial_eval_alpha*x10*x8; basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3.hpp index c5e586b4..f82966cf 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3.hpp @@ -64,7 +64,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_eval = task->bf + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -93,16 +92,29 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel } - + // Common Subexpressions + const auto x0 = 0.25*radial_eval; + const auto x1 = x0*y; + const auto x2 = x*x; + const auto x3 = 3.0*x2; + const auto x4 = y*y; + const auto x5 = -x4; + const auto x6 = radial_eval*z; + const auto x7 = z*z; + const auto x8 = -x2 - x4 + 4.0*x7; + const auto x9 = 0.5*x6; + const auto x10 = 3.0*x4; + const auto x11 = x*x0; + // Evaluate basis function - basis_eval[ipt + 0*npts] = sqrt_10*radial_eval*y*(3*x*x - y*y)/4; - basis_eval[ipt + 1*npts] = sqrt_15*radial_eval*x*y*z; - basis_eval[ipt + 2*npts] = sqrt_6*radial_eval*y*(-x*x - y*y + 4*z*z)/4; - basis_eval[ipt + 3*npts] = radial_eval*z*(-3*x*x - 3*y*y + 2*z*z)/2; - basis_eval[ipt + 4*npts] = sqrt_6*radial_eval*x*(-x*x - y*y + 4*z*z)/4; - basis_eval[ipt + 5*npts] = sqrt_15*radial_eval*z*(x*x - y*y)/2; - basis_eval[ipt + 6*npts] = sqrt_10*radial_eval*x*(x*x - 3*y*y)/4; + basis_eval[ipt + 0*npts] = sqrt_10*x1*(x3 + x5); + basis_eval[ipt + 1*npts] = sqrt_15*x*x6*y; + basis_eval[ipt + 2*npts] = sqrt_6*x1*x8; + basis_eval[ipt + 3*npts] = -x9*(x10 + x3 - 2.0*x7); + basis_eval[ipt + 4*npts] = sqrt_6*x11*x8; + basis_eval[ipt + 5*npts] = sqrt_15*x9*(x2 + x5); + basis_eval[ipt + 6*npts] = sqrt_10*x11*(-x10 + x2); @@ -111,6 +123,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel + + #if 0 // Evaluate the angular part of bfn @@ -122,18 +136,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = sqrt_10*radial_eval*y*(3*x*x - y*y)/4; - ang_eval_1 = sqrt_15*radial_eval*x*y*z; - ang_eval_2 = sqrt_6*radial_eval*y*(-x*x - y*y + 4*z*z)/4; - ang_eval_3 = radial_eval*z*(-3*x*x - 3*y*y + 2*z*z)/2; + ang_eval_0 = sqrt_10*x1*(x3 + x5); + ang_eval_1 = sqrt_15*x*x6*y; + ang_eval_2 = sqrt_6*x1*x8; + ang_eval_3 = -x9*(x10 + x3 - 2.0*x7); basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = sqrt_6*radial_eval*x*(-x*x - y*y + 4*z*z)/4; - ang_eval_1 = sqrt_15*radial_eval*z*(x*x - y*y)/2; - ang_eval_2 = sqrt_10*radial_eval*x*(x*x - 3*y*y)/4; + ang_eval_0 = sqrt_6*x11*x8; + ang_eval_1 = sqrt_15*x9*(x2 + x5); + ang_eval_2 = sqrt_10*x11*(-x10 + x2); basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; basis_eval[ipt + 6*npts] = ang_eval_2; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3_gradient.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3_gradient.hpp index fe03a72b..f7b6232c 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3_gradient.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3_gradient.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_spherical_gradient_3( +__global__ __launch_bounds__(256,2) void collocation_device_shell_to_task_kernel_spherical_gradient_3( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[8][detail::shell_nprim_max + 1]; + __shared__ double coeff[8][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -67,7 +67,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -99,45 +98,86 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; - + // Common Subexpressions + const auto x0 = 0.25*sqrt_10; + const auto x1 = radial_eval*y; + const auto x2 = x*x; + const auto x3 = 3.0*x2; + const auto x4 = y*y; + const auto x5 = -x4; + const auto x6 = x3 + x5; + const auto x7 = sqrt_15*z; + const auto x8 = x7*y; + const auto x9 = radial_eval*x; + const auto x10 = 0.25*sqrt_6; + const auto x11 = z*z; + const auto x12 = -4.0*x11; + const auto x13 = x12 + x4; + const auto x14 = -x13 - x2; + const auto x15 = 0.5*z; + const auto x16 = 3.0*x4; + const auto x17 = -2.0*x11; + const auto x18 = -x16 - x17 - x3; + const auto x19 = 0.5*sqrt_15; + const auto x20 = x19*z; + const auto x21 = x2 + x5; + const auto x22 = -x16; + const auto x23 = x2 + x22; + const auto x24 = x*y; + const auto x25 = x0*x24; + const auto x26 = 6.0*radial_eval; + const auto x27 = 2.0*radial_eval; + const auto x28 = -x27; + const auto x29 = radial_eval_alpha*x14; + const auto x30 = x10*x24*(x28 + x29); + const auto x31 = -x26; + const auto x32 = radial_eval_alpha*x18 + x31; + const auto x33 = radial_eval_alpha*x21; + const auto x34 = radial_eval*(x22 + x3); + const auto x35 = radial_eval_alpha*x0*z; + const auto x36 = x10*z; + const auto x37 = 8.0*radial_eval + x29; + // Evaluate basis function - basis_eval[ipt + 0*npts] = sqrt_10*radial_eval*y*(3*x*x - y*y)/4; - basis_eval[ipt + 1*npts] = sqrt_15*radial_eval*x*y*z; - basis_eval[ipt + 2*npts] = sqrt_6*radial_eval*y*(-x*x - y*y + 4*z*z)/4; - basis_eval[ipt + 3*npts] = radial_eval*z*(-3*x*x - 3*y*y + 2*z*z)/2; - basis_eval[ipt + 4*npts] = sqrt_6*radial_eval*x*(-x*x - y*y + 4*z*z)/4; - basis_eval[ipt + 5*npts] = sqrt_15*radial_eval*z*(x*x - y*y)/2; - basis_eval[ipt + 6*npts] = sqrt_10*radial_eval*x*(x*x - 3*y*y)/4; + basis_eval[ipt + 0*npts] = x0*x1*x6; + basis_eval[ipt + 1*npts] = x8*x9; + basis_eval[ipt + 2*npts] = x1*x10*x14; + basis_eval[ipt + 3*npts] = radial_eval*x15*x18; + basis_eval[ipt + 4*npts] = x10*x14*x9; + basis_eval[ipt + 5*npts] = radial_eval*x20*x21; + basis_eval[ipt + 6*npts] = x0*x23*x9; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = sqrt_10*x*y*(6*radial_eval + radial_eval_alpha*(3*x*x - y*y))/4; - basis_x_eval[ipt + 1*npts] = sqrt_15*y*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 2*npts] = sqrt_6*x*y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - basis_x_eval[ipt + 3*npts] = x*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 2*z*z))/2; - basis_x_eval[ipt + 4*npts] = sqrt_6*(-radial_eval*(3*x*x + y*y - 4*z*z) - radial_eval_alpha*x*x*(x*x + y*y - 4*z*z))/4; - basis_x_eval[ipt + 5*npts] = sqrt_15*x*z*(2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - basis_x_eval[ipt + 6*npts] = sqrt_10*(3*radial_eval*(x*x - y*y) + radial_eval_alpha*x*x*(x*x - 3*y*y))/4; + basis_x_eval[ipt + 0*npts] = x25*(radial_eval_alpha*x6 + x26); + basis_x_eval[ipt + 1*npts] = x8*(radial_eval + radial_eval_alpha*x2); + basis_x_eval[ipt + 2*npts] = x30; + basis_x_eval[ipt + 3*npts] = x*x15*x32; + basis_x_eval[ipt + 4*npts] = -x10*(radial_eval*(x13 + x3) - radial_eval_alpha*x14*x2); + basis_x_eval[ipt + 5*npts] = x*x20*(x27 + x33); + basis_x_eval[ipt + 6*npts] = x0*(radial_eval_alpha*x2*x23 + x34); // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = sqrt_10*(-3*radial_eval*(-x*x + y*y) + radial_eval_alpha*y*y*(3*x*x - y*y))/4; - basis_y_eval[ipt + 1*npts] = sqrt_15*x*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 2*npts] = sqrt_6*(-radial_eval*(x*x + 3*y*y - 4*z*z) - radial_eval_alpha*y*y*(x*x + y*y - 4*z*z))/4; - basis_y_eval[ipt + 3*npts] = y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 2*z*z))/2; - basis_y_eval[ipt + 4*npts] = sqrt_6*x*y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - basis_y_eval[ipt + 5*npts] = sqrt_15*y*z*(-2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - basis_y_eval[ipt + 6*npts] = sqrt_10*x*y*(-6*radial_eval + radial_eval_alpha*(x*x - 3*y*y))/4; + basis_y_eval[ipt + 0*npts] = x0*(radial_eval_alpha*x4*x6 + x34); + basis_y_eval[ipt + 1*npts] = x*x7*(radial_eval + radial_eval_alpha*x4); + basis_y_eval[ipt + 2*npts] = -x10*(radial_eval*(x12 + x16 + x2) - radial_eval_alpha*x14*x4); + basis_y_eval[ipt + 3*npts] = x15*x32*y; + basis_y_eval[ipt + 4*npts] = x30; + basis_y_eval[ipt + 5*npts] = x20*y*(x28 + x33); + basis_y_eval[ipt + 6*npts] = x25*(radial_eval_alpha*x23 + x31); // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = sqrt_10*radial_eval_alpha*y*z*(3*x*x - y*y)/4; - basis_z_eval[ipt + 1*npts] = sqrt_15*x*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 2*npts] = sqrt_6*y*z*(8*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - basis_z_eval[ipt + 3*npts] = -3*radial_eval*(x*x + y*y - 2*z*z)/2 - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 2*z*z)/2; - basis_z_eval[ipt + 4*npts] = sqrt_6*x*z*(8*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - basis_z_eval[ipt + 5*npts] = sqrt_15*(radial_eval + radial_eval_alpha*z*z)*(x*x - y*y)/2; - basis_z_eval[ipt + 6*npts] = sqrt_10*radial_eval_alpha*x*z*(x*x - 3*y*y)/4; + basis_z_eval[ipt + 0*npts] = x35*x6*y; + basis_z_eval[ipt + 1*npts] = sqrt_15*x24*(radial_eval + radial_eval_alpha*x11); + basis_z_eval[ipt + 2*npts] = x36*x37*y; + basis_z_eval[ipt + 3*npts] = -1.5*radial_eval*(x17 + x2 + x4) + 0.5*radial_eval_alpha*x11*x18; + basis_z_eval[ipt + 4*npts] = x*x36*x37; + basis_z_eval[ipt + 5*npts] = x19*x21*(radial_eval + radial_eval_alpha*x11); + basis_z_eval[ipt + 6*npts] = x*x23*x35; + + @@ -154,18 +194,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = sqrt_10*radial_eval*y*(3*x*x - y*y)/4; - ang_eval_1 = sqrt_15*radial_eval*x*y*z; - ang_eval_2 = sqrt_6*radial_eval*y*(-x*x - y*y + 4*z*z)/4; - ang_eval_3 = radial_eval*z*(-3*x*x - 3*y*y + 2*z*z)/2; + ang_eval_0 = x0*x1*x6; + ang_eval_1 = x8*x9; + ang_eval_2 = x1*x10*x14; + ang_eval_3 = radial_eval*x15*x18; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = sqrt_6*radial_eval*x*(-x*x - y*y + 4*z*z)/4; - ang_eval_1 = sqrt_15*radial_eval*z*(x*x - y*y)/2; - ang_eval_2 = sqrt_10*radial_eval*x*(x*x - 3*y*y)/4; + ang_eval_0 = x10*x14*x9; + ang_eval_1 = radial_eval*x20*x21; + ang_eval_2 = x0*x23*x9; basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; basis_eval[ipt + 6*npts] = ang_eval_2; @@ -176,18 +216,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = sqrt_10*x*y*(6*radial_eval + radial_eval_alpha*(3*x*x - y*y))/4; - dang_eval_y_0 = sqrt_10*(-3*radial_eval*(-x*x + y*y) + radial_eval_alpha*y*y*(3*x*x - y*y))/4; - dang_eval_z_0 = sqrt_10*radial_eval_alpha*y*z*(3*x*x - y*y)/4; - dang_eval_x_1 = sqrt_15*y*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = sqrt_15*x*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = sqrt_15*x*y*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = sqrt_6*x*y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - dang_eval_y_2 = sqrt_6*(-radial_eval*(x*x + 3*y*y - 4*z*z) - radial_eval_alpha*y*y*(x*x + y*y - 4*z*z))/4; - dang_eval_z_2 = sqrt_6*y*z*(8*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - dang_eval_x_3 = x*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 2*z*z))/2; - dang_eval_y_3 = y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 2*z*z))/2; - dang_eval_z_3 = -3*radial_eval*(x*x + y*y - 2*z*z)/2 - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 2*z*z)/2; + dang_eval_x_0 = x25*(radial_eval_alpha*x6 + x26); + dang_eval_y_0 = x0*(radial_eval_alpha*x4*x6 + x34); + dang_eval_z_0 = x35*x6*y; + dang_eval_x_1 = x8*(radial_eval + radial_eval_alpha*x2); + dang_eval_y_1 = x*x7*(radial_eval + radial_eval_alpha*x4); + dang_eval_z_1 = sqrt_15*x24*(radial_eval + radial_eval_alpha*x11); + dang_eval_x_2 = x30; + dang_eval_y_2 = -x10*(radial_eval*(x12 + x16 + x2) - radial_eval_alpha*x14*x4); + dang_eval_z_2 = x36*x37*y; + dang_eval_x_3 = x*x15*x32; + dang_eval_y_3 = x15*x32*y; + dang_eval_z_3 = -1.5*radial_eval*(x17 + x2 + x4) + 0.5*radial_eval_alpha*x11*x18; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -201,15 +241,15 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = sqrt_6*(-radial_eval*(3*x*x + y*y - 4*z*z) - radial_eval_alpha*x*x*(x*x + y*y - 4*z*z))/4; - dang_eval_y_0 = sqrt_6*x*y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - dang_eval_z_0 = sqrt_6*x*z*(8*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - dang_eval_x_1 = sqrt_15*x*z*(2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - dang_eval_y_1 = sqrt_15*y*z*(-2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - dang_eval_z_1 = sqrt_15*(radial_eval + radial_eval_alpha*z*z)*(x*x - y*y)/2; - dang_eval_x_2 = sqrt_10*(3*radial_eval*(x*x - y*y) + radial_eval_alpha*x*x*(x*x - 3*y*y))/4; - dang_eval_y_2 = sqrt_10*x*y*(-6*radial_eval + radial_eval_alpha*(x*x - 3*y*y))/4; - dang_eval_z_2 = sqrt_10*radial_eval_alpha*x*z*(x*x - 3*y*y)/4; + dang_eval_x_0 = -x10*(radial_eval*(x13 + x3) - radial_eval_alpha*x14*x2); + dang_eval_y_0 = x30; + dang_eval_z_0 = x*x36*x37; + dang_eval_x_1 = x*x20*(x27 + x33); + dang_eval_y_1 = x20*y*(x28 + x33); + dang_eval_z_1 = x19*x21*(radial_eval + radial_eval_alpha*x11); + dang_eval_x_2 = x0*(radial_eval_alpha*x2*x23 + x34); + dang_eval_y_2 = x25*(radial_eval_alpha*x23 + x31); + dang_eval_z_2 = x*x23*x35; basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3_hessian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3_hessian.hpp index 04ba8677..52f95bf5 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3_hessian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3_hessian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_spherical_hessian_3( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_spherical_hessian_3( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; @@ -108,99 +107,211 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = 0.25*sqrt_10; + const auto x1 = x0*y; + const auto x2 = x*x; + const auto x3 = 3.0*x2; + const auto x4 = y*y; + const auto x5 = -x4; + const auto x6 = x3 + x5; + const auto x7 = sqrt_15*z; + const auto x8 = x7*y; + const auto x9 = x*x8; + const auto x10 = 0.25*sqrt_6; + const auto x11 = x10*y; + const auto x12 = z*z; + const auto x13 = -4.0*x12; + const auto x14 = x13 + x4; + const auto x15 = -x14 - x2; + const auto x16 = 0.5*z; + const auto x17 = 3.0*x4; + const auto x18 = -2.0*x12; + const auto x19 = -x17 - x18 - x3; + const auto x20 = x*x10; + const auto x21 = 0.5*sqrt_15; + const auto x22 = x21*z; + const auto x23 = x2 + x5; + const auto x24 = x*x0; + const auto x25 = -x17; + const auto x26 = x2 + x25; + const auto x27 = x*x1; + const auto x28 = 6.0*radial_eval; + const auto x29 = radial_eval + radial_eval_alpha*x2; + const auto x30 = x*x11; + const auto x31 = 2.0*radial_eval; + const auto x32 = -x31; + const auto x33 = radial_eval_alpha*x15; + const auto x34 = x30*(x32 + x33); + const auto x35 = x*x16; + const auto x36 = -x28; + const auto x37 = radial_eval_alpha*x19 + x36; + const auto x38 = -x14 - x3; + const auto x39 = x15*x2; + const auto x40 = x*x22; + const auto x41 = radial_eval_alpha*x23; + const auto x42 = x31 + x41; + const auto x43 = x25 + x3; + const auto x44 = radial_eval*x43; + const auto x45 = x2*x26; + const auto x46 = x4*x6; + const auto x47 = radial_eval_alpha*x4; + const auto x48 = radial_eval + x47; + const auto x49 = -x13 - x17 - x2; + const auto x50 = x15*x4; + const auto x51 = x32 + x41; + const auto x52 = radial_eval_alpha*z; + const auto x53 = sqrt_15*y; + const auto x54 = radial_eval_alpha*x12; + const auto x55 = 8.0*radial_eval; + const auto x56 = x33 + x55; + const auto x57 = -x18 - x2 - x4; + const auto x58 = x12*x19; + const auto x59 = x12*x23; + const auto x60 = radial_eval_alpha_squared*x2; + const auto x61 = radial_eval_alpha + x60; + const auto x62 = x6*x61; + const auto x63 = 12.0*radial_eval_alpha; + const auto x64 = x2*x63; + const auto x65 = x28 + x64; + const auto x66 = 3.0*radial_eval_alpha; + const auto x67 = 4.0*radial_eval_alpha; + const auto x68 = x2*x67; + const auto x69 = x31 + x68; + const auto x70 = x15*x61; + const auto x71 = 2.0*radial_eval_alpha; + const auto x72 = x38*x71 + x70; + const auto x73 = x23*x61; + const auto x74 = x43*x71; + const auto x75 = x26*x61 + x74; + const auto x76 = 6.0*radial_eval_alpha; + const auto x77 = radial_eval_alpha*x43; + const auto x78 = radial_eval_alpha_squared*x46 + x77; + const auto x79 = radial_eval_alpha*x49 + radial_eval_alpha_squared*x50; + const auto x80 = radial_eval_alpha*x38 + radial_eval_alpha_squared*x39; + const auto x81 = radial_eval_alpha_squared*x45 + x77; + const auto x82 = x27*z; + const auto x83 = x30*z*(radial_eval_alpha_squared*x15 + x76); + const auto x84 = radial_eval_alpha_squared*x58 - x12*x76 + x36 + x57*x66; + const auto x85 = x10*z; + const auto x86 = 8.0*radial_eval_alpha; + const auto x87 = x12*x71; + const auto x88 = radial_eval_alpha_squared*x59; + const auto x89 = x0*z; + const auto x90 = radial_eval_alpha_squared*x4; + const auto x91 = radial_eval_alpha + x90; + const auto x92 = x6*x91 + x74; + const auto x93 = x15*x91; + const auto x94 = x49*x71 + x93; + const auto x95 = x4*x63; + const auto x96 = x28 + x95; + const auto x97 = x4*x67; + const auto x98 = x31 + x97; + const auto x99 = radial_eval_alpha_squared*x12; + const auto x100 = radial_eval_alpha + x99; + const auto x101 = x100*x6; + const auto x102 = 16.0*radial_eval_alpha*x12 + x100*x15; + const auto x103 = x102 + x55; + const auto x104 = x100*x19 + x57*x76; + const auto x105 = x23*(x100 + x71); + const auto x106 = x100*x26; + const auto x107 = -x95; + const auto x108 = -x97; + // Evaluate basis function - basis_eval[ipt + 0*npts] = sqrt_10*radial_eval*y*(3*x*x - y*y)/4; - basis_eval[ipt + 1*npts] = sqrt_15*radial_eval*x*y*z; - basis_eval[ipt + 2*npts] = sqrt_6*radial_eval*y*(-x*x - y*y + 4*z*z)/4; - basis_eval[ipt + 3*npts] = radial_eval*z*(-3*x*x - 3*y*y + 2*z*z)/2; - basis_eval[ipt + 4*npts] = sqrt_6*radial_eval*x*(-x*x - y*y + 4*z*z)/4; - basis_eval[ipt + 5*npts] = sqrt_15*radial_eval*z*(x*x - y*y)/2; - basis_eval[ipt + 6*npts] = sqrt_10*radial_eval*x*(x*x - 3*y*y)/4; + basis_eval[ipt + 0*npts] = radial_eval*x1*x6; + basis_eval[ipt + 1*npts] = radial_eval*x9; + basis_eval[ipt + 2*npts] = radial_eval*x11*x15; + basis_eval[ipt + 3*npts] = radial_eval*x16*x19; + basis_eval[ipt + 4*npts] = radial_eval*x15*x20; + basis_eval[ipt + 5*npts] = radial_eval*x22*x23; + basis_eval[ipt + 6*npts] = radial_eval*x24*x26; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = sqrt_10*x*y*(6*radial_eval + radial_eval_alpha*(3*x*x - y*y))/4; - basis_x_eval[ipt + 1*npts] = sqrt_15*y*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 2*npts] = sqrt_6*x*y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - basis_x_eval[ipt + 3*npts] = x*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 2*z*z))/2; - basis_x_eval[ipt + 4*npts] = sqrt_6*(-radial_eval*(3*x*x + y*y - 4*z*z) - radial_eval_alpha*x*x*(x*x + y*y - 4*z*z))/4; - basis_x_eval[ipt + 5*npts] = sqrt_15*x*z*(2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - basis_x_eval[ipt + 6*npts] = sqrt_10*(3*radial_eval*(x*x - y*y) + radial_eval_alpha*x*x*(x*x - 3*y*y))/4; + basis_x_eval[ipt + 0*npts] = x27*(radial_eval_alpha*x6 + x28); + basis_x_eval[ipt + 1*npts] = x29*x8; + basis_x_eval[ipt + 2*npts] = x34; + basis_x_eval[ipt + 3*npts] = x35*x37; + basis_x_eval[ipt + 4*npts] = x10*(radial_eval*x38 + radial_eval_alpha*x39); + basis_x_eval[ipt + 5*npts] = x40*x42; + basis_x_eval[ipt + 6*npts] = x0*(radial_eval_alpha*x45 + x44); // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = sqrt_10*(-3*radial_eval*(-x*x + y*y) + radial_eval_alpha*y*y*(3*x*x - y*y))/4; - basis_y_eval[ipt + 1*npts] = sqrt_15*x*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 2*npts] = sqrt_6*(-radial_eval*(x*x + 3*y*y - 4*z*z) - radial_eval_alpha*y*y*(x*x + y*y - 4*z*z))/4; - basis_y_eval[ipt + 3*npts] = y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 2*z*z))/2; - basis_y_eval[ipt + 4*npts] = sqrt_6*x*y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - basis_y_eval[ipt + 5*npts] = sqrt_15*y*z*(-2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - basis_y_eval[ipt + 6*npts] = sqrt_10*x*y*(-6*radial_eval + radial_eval_alpha*(x*x - 3*y*y))/4; + basis_y_eval[ipt + 0*npts] = x0*(radial_eval_alpha*x46 + x44); + basis_y_eval[ipt + 1*npts] = x*x48*x7; + basis_y_eval[ipt + 2*npts] = x10*(radial_eval*x49 + radial_eval_alpha*x50); + basis_y_eval[ipt + 3*npts] = x16*x37*y; + basis_y_eval[ipt + 4*npts] = x34; + basis_y_eval[ipt + 5*npts] = x22*x51*y; + basis_y_eval[ipt + 6*npts] = x27*(radial_eval_alpha*x26 + x36); // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = sqrt_10*radial_eval_alpha*y*z*(3*x*x - y*y)/4; - basis_z_eval[ipt + 1*npts] = sqrt_15*x*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 2*npts] = sqrt_6*y*z*(8*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - basis_z_eval[ipt + 3*npts] = -3*radial_eval*(x*x + y*y - 2*z*z)/2 - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 2*z*z)/2; - basis_z_eval[ipt + 4*npts] = sqrt_6*x*z*(8*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - basis_z_eval[ipt + 5*npts] = sqrt_15*(radial_eval + radial_eval_alpha*z*z)*(x*x - y*y)/2; - basis_z_eval[ipt + 6*npts] = sqrt_10*radial_eval_alpha*x*z*(x*x - 3*y*y)/4; + basis_z_eval[ipt + 0*npts] = x1*x52*x6; + basis_z_eval[ipt + 1*npts] = x*x53*(radial_eval + x54); + basis_z_eval[ipt + 2*npts] = x11*x56*z; + basis_z_eval[ipt + 3*npts] = 1.5*radial_eval*x57 + 0.5*radial_eval_alpha*x58; + basis_z_eval[ipt + 4*npts] = x20*x56*z; + basis_z_eval[ipt + 5*npts] = x21*(radial_eval*x23 + radial_eval_alpha*x59); + basis_z_eval[ipt + 6*npts] = x24*x26*x52; // Evaluate second derivative of bfn wrt xx - basis_xx_eval[ipt + 0*npts] = sqrt_10*y*(6*radial_eval + 12*radial_eval_alpha*x*x + (radial_eval_alpha + radial_eval_alpha_squared*x*x)*(3*x*x - y*y))/4; - basis_xx_eval[ipt + 1*npts] = sqrt_15*x*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*x*x); - basis_xx_eval[ipt + 2*npts] = sqrt_6*y*(-2*radial_eval - 4*radial_eval_alpha*x*x - (radial_eval_alpha + radial_eval_alpha_squared*x*x)*(x*x + y*y - 4*z*z))/4; - basis_xx_eval[ipt + 3*npts] = z*(-6*radial_eval - 12*radial_eval_alpha*x*x - (radial_eval_alpha + radial_eval_alpha_squared*x*x)*(3*x*x + 3*y*y - 2*z*z))/2; - basis_xx_eval[ipt + 4*npts] = sqrt_6*x*(-6*radial_eval - 2*radial_eval_alpha*(3*x*x + y*y - 4*z*z) - (radial_eval_alpha + radial_eval_alpha_squared*x*x)*(x*x + y*y - 4*z*z))/4; - basis_xx_eval[ipt + 5*npts] = sqrt_15*z*(2*radial_eval + 4*radial_eval_alpha*x*x + (radial_eval_alpha + radial_eval_alpha_squared*x*x)*(x*x - y*y))/2; - basis_xx_eval[ipt + 6*npts] = sqrt_10*x*(6*radial_eval + 6*radial_eval_alpha*(x*x - y*y) + (radial_eval_alpha + radial_eval_alpha_squared*x*x)*(x*x - 3*y*y))/4; + basis_xx_eval[ipt + 0*npts] = x1*(x62 + x65); + basis_xx_eval[ipt + 1*npts] = x9*(x60 + x66); + basis_xx_eval[ipt + 2*npts] = x11*(x15*x61 - x69); + basis_xx_eval[ipt + 3*npts] = x16*(x19*x61 - x65); + basis_xx_eval[ipt + 4*npts] = x20*(x36 + x72); + basis_xx_eval[ipt + 5*npts] = x22*(x69 + x73); + basis_xx_eval[ipt + 6*npts] = x24*(x28 + x75); // Evaluate second derivative of bfn wrt xy - basis_xy_eval[ipt + 0*npts] = sqrt_10*x*(6*radial_eval + 3*radial_eval_alpha*x*x + 3*radial_eval_alpha*y*y + 3*radial_eval_alpha_squared*x*x*y*y - radial_eval_alpha_squared*y*y*y*y)/4; - basis_xy_eval[ipt + 1*npts] = sqrt_15*z*(radial_eval + radial_eval_alpha*x*x + radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*y*y); - basis_xy_eval[ipt + 2*npts] = sqrt_6*x*(-2*radial_eval - 2*radial_eval_alpha*y*y - radial_eval_alpha*(x*x + 3*y*y - 4*z*z) - radial_eval_alpha_squared*y*y*(x*x + y*y - 4*z*z))/4; - basis_xy_eval[ipt + 3*npts] = x*y*z*(-12*radial_eval_alpha - radial_eval_alpha_squared*(3*x*x + 3*y*y - 2*z*z))/2; - basis_xy_eval[ipt + 4*npts] = sqrt_6*y*(-2*radial_eval - 2*radial_eval_alpha*x*x - radial_eval_alpha*(3*x*x + y*y - 4*z*z) - radial_eval_alpha_squared*x*x*(x*x + y*y - 4*z*z))/4; - basis_xy_eval[ipt + 5*npts] = sqrt_15*radial_eval_alpha_squared*x*y*z*(x*x - y*y)/2; - basis_xy_eval[ipt + 6*npts] = sqrt_10*y*(-6*radial_eval - 3*radial_eval_alpha*x*x - 3*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*x*x - 3*radial_eval_alpha_squared*x*x*y*y)/4; + basis_xy_eval[ipt + 0*npts] = x24*(x28 + x4*x76 + x78); + basis_xy_eval[ipt + 1*npts] = x7*(radial_eval_alpha_squared*x2*x4 + x29 + x47); + basis_xy_eval[ipt + 2*npts] = x20*(x32 - x4*x71 + x79); + basis_xy_eval[ipt + 3*npts] = x35*y*(radial_eval_alpha_squared*x19 - x63); + basis_xy_eval[ipt + 4*npts] = x11*(-x2*x71 + x32 + x80); + basis_xy_eval[ipt + 5*npts] = radial_eval_alpha_squared*x23*x40*y; + basis_xy_eval[ipt + 6*npts] = x1*(-x2*x76 + x36 + x81); // Evaluate second derivative of bfn wrt xz - basis_xz_eval[ipt + 0*npts] = sqrt_10*x*y*z*(6*radial_eval_alpha + radial_eval_alpha_squared*(3*x*x - y*y))/4; - basis_xz_eval[ipt + 1*npts] = sqrt_15*y*(radial_eval + radial_eval_alpha*x*x + radial_eval_alpha*z*z + radial_eval_alpha_squared*x*x*z*z); - basis_xz_eval[ipt + 2*npts] = sqrt_6*x*y*z*(6*radial_eval_alpha - radial_eval_alpha_squared*(x*x + y*y - 4*z*z))/4; - basis_xz_eval[ipt + 3*npts] = x*(-6*radial_eval - 3*radial_eval_alpha*x*x - 3*radial_eval_alpha*y*y - 3*radial_eval_alpha_squared*x*x*z*z - 3*radial_eval_alpha_squared*y*y*z*z + 2*radial_eval_alpha_squared*z*z*z*z)/2; - basis_xz_eval[ipt + 4*npts] = sqrt_6*z*(8*radial_eval + 8*radial_eval_alpha*x*x - radial_eval_alpha*(3*x*x + y*y - 4*z*z) - radial_eval_alpha_squared*x*x*(x*x + y*y - 4*z*z))/4; - basis_xz_eval[ipt + 5*npts] = sqrt_15*x*(2*radial_eval + 2*radial_eval_alpha*z*z + radial_eval_alpha*(x*x - y*y) + radial_eval_alpha_squared*z*z*(x*x - y*y))/2; - basis_xz_eval[ipt + 6*npts] = sqrt_10*z*(3*radial_eval_alpha*(x*x - y*y) + radial_eval_alpha_squared*x*x*(x*x - 3*y*y))/4; + basis_xz_eval[ipt + 0*npts] = x82*(radial_eval_alpha_squared*x6 + x76); + basis_xz_eval[ipt + 1*npts] = x53*(radial_eval_alpha_squared*x12*x2 + x29 + x54); + basis_xz_eval[ipt + 2*npts] = x83; + basis_xz_eval[ipt + 3*npts] = 0.5*x*x84; + basis_xz_eval[ipt + 4*npts] = x85*(x2*x86 + x55 + x80); + basis_xz_eval[ipt + 5*npts] = x*x21*(x42 + x87 + x88); + basis_xz_eval[ipt + 6*npts] = x81*x89; // Evaluate second derivative of bfn wrt yy - basis_yy_eval[ipt + 0*npts] = sqrt_10*y*(-6*radial_eval - 6*radial_eval_alpha*(-x*x + y*y) + (radial_eval_alpha + radial_eval_alpha_squared*y*y)*(3*x*x - y*y))/4; - basis_yy_eval[ipt + 1*npts] = sqrt_15*x*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*y*y); - basis_yy_eval[ipt + 2*npts] = sqrt_6*y*(-6*radial_eval - 2*radial_eval_alpha*(x*x + 3*y*y - 4*z*z) - (radial_eval_alpha + radial_eval_alpha_squared*y*y)*(x*x + y*y - 4*z*z))/4; - basis_yy_eval[ipt + 3*npts] = z*(-6*radial_eval - 12*radial_eval_alpha*y*y - (radial_eval_alpha + radial_eval_alpha_squared*y*y)*(3*x*x + 3*y*y - 2*z*z))/2; - basis_yy_eval[ipt + 4*npts] = sqrt_6*x*(-2*radial_eval - 4*radial_eval_alpha*y*y - (radial_eval_alpha + radial_eval_alpha_squared*y*y)*(x*x + y*y - 4*z*z))/4; - basis_yy_eval[ipt + 5*npts] = sqrt_15*z*(-2*radial_eval - 4*radial_eval_alpha*y*y + (radial_eval_alpha + radial_eval_alpha_squared*y*y)*(x*x - y*y))/2; - basis_yy_eval[ipt + 6*npts] = sqrt_10*x*(-6*radial_eval - 12*radial_eval_alpha*y*y + (radial_eval_alpha + radial_eval_alpha_squared*y*y)*(x*x - 3*y*y))/4; + basis_yy_eval[ipt + 0*npts] = x1*(x36 + x92); + basis_yy_eval[ipt + 1*npts] = x9*(x66 + x90); + basis_yy_eval[ipt + 2*npts] = x11*(x36 + x94); + basis_yy_eval[ipt + 3*npts] = x16*(x19*x91 - x96); + basis_yy_eval[ipt + 4*npts] = x20*(x15*x91 - x98); + basis_yy_eval[ipt + 5*npts] = x22*(x23*x91 - x98); + basis_yy_eval[ipt + 6*npts] = x24*(x26*x91 - x96); // Evaluate second derivative of bfn wrt yz - basis_yz_eval[ipt + 0*npts] = sqrt_10*z*(-3*radial_eval_alpha*(-x*x + y*y) + radial_eval_alpha_squared*y*y*(3*x*x - y*y))/4; - basis_yz_eval[ipt + 1*npts] = sqrt_15*x*(radial_eval + radial_eval_alpha*y*y + radial_eval_alpha*z*z + radial_eval_alpha_squared*y*y*z*z); - basis_yz_eval[ipt + 2*npts] = sqrt_6*z*(8*radial_eval + 8*radial_eval_alpha*y*y - radial_eval_alpha*(x*x + 3*y*y - 4*z*z) - radial_eval_alpha_squared*y*y*(x*x + y*y - 4*z*z))/4; - basis_yz_eval[ipt + 3*npts] = y*(-6*radial_eval - 3*radial_eval_alpha*x*x - 3*radial_eval_alpha*y*y - 3*radial_eval_alpha_squared*x*x*z*z - 3*radial_eval_alpha_squared*y*y*z*z + 2*radial_eval_alpha_squared*z*z*z*z)/2; - basis_yz_eval[ipt + 4*npts] = sqrt_6*x*y*z*(6*radial_eval_alpha - radial_eval_alpha_squared*(x*x + y*y - 4*z*z))/4; - basis_yz_eval[ipt + 5*npts] = sqrt_15*y*(-2*radial_eval - 2*radial_eval_alpha*z*z + radial_eval_alpha*(x*x - y*y) + radial_eval_alpha_squared*z*z*(x*x - y*y))/2; - basis_yz_eval[ipt + 6*npts] = sqrt_10*x*y*z*(-6*radial_eval_alpha + radial_eval_alpha_squared*(x*x - 3*y*y))/4; + basis_yz_eval[ipt + 0*npts] = x78*x89; + basis_yz_eval[ipt + 1*npts] = sqrt_15*x*(radial_eval_alpha_squared*x12*x4 + x48 + x54); + basis_yz_eval[ipt + 2*npts] = x85*(x4*x86 + x55 + x79); + basis_yz_eval[ipt + 3*npts] = 0.5*x84*y; + basis_yz_eval[ipt + 4*npts] = x83; + basis_yz_eval[ipt + 5*npts] = x21*y*(x51 - x87 + x88); + basis_yz_eval[ipt + 6*npts] = x82*(radial_eval_alpha_squared*x26 - x76); // Evaluate second derivative of bfn wrt zz - basis_zz_eval[ipt + 0*npts] = sqrt_10*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z)*(3*x*x - y*y)/4; - basis_zz_eval[ipt + 1*npts] = sqrt_15*x*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z); - basis_zz_eval[ipt + 2*npts] = sqrt_6*y*(8*radial_eval + 16*radial_eval_alpha*z*z - (radial_eval_alpha + radial_eval_alpha_squared*z*z)*(x*x + y*y - 4*z*z))/4; - basis_zz_eval[ipt + 3*npts] = z*(12*radial_eval - 6*radial_eval_alpha*(x*x + y*y - 2*z*z) - (radial_eval_alpha + radial_eval_alpha_squared*z*z)*(3*x*x + 3*y*y - 2*z*z))/2; - basis_zz_eval[ipt + 4*npts] = sqrt_6*x*(8*radial_eval + 16*radial_eval_alpha*z*z - (radial_eval_alpha + radial_eval_alpha_squared*z*z)*(x*x + y*y - 4*z*z))/4; - basis_zz_eval[ipt + 5*npts] = sqrt_15*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z)*(x*x - y*y)/2; - basis_zz_eval[ipt + 6*npts] = sqrt_10*x*(radial_eval_alpha + radial_eval_alpha_squared*z*z)*(x*x - 3*y*y)/4; + basis_zz_eval[ipt + 0*npts] = x1*x101; + basis_zz_eval[ipt + 1*npts] = x9*(x66 + x99); + basis_zz_eval[ipt + 2*npts] = x103*x11; + basis_zz_eval[ipt + 3*npts] = x16*(12.0*radial_eval + x104); + basis_zz_eval[ipt + 4*npts] = x103*x20; + basis_zz_eval[ipt + 5*npts] = x105*x22; + basis_zz_eval[ipt + 6*npts] = x106*x24; + + @@ -216,18 +327,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = sqrt_10*radial_eval*y*(3*x*x - y*y)/4; - ang_eval_1 = sqrt_15*radial_eval*x*y*z; - ang_eval_2 = sqrt_6*radial_eval*y*(-x*x - y*y + 4*z*z)/4; - ang_eval_3 = radial_eval*z*(-3*x*x - 3*y*y + 2*z*z)/2; + ang_eval_0 = radial_eval*x1*x6; + ang_eval_1 = radial_eval*x9; + ang_eval_2 = radial_eval*x11*x15; + ang_eval_3 = radial_eval*x16*x19; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = sqrt_6*radial_eval*x*(-x*x - y*y + 4*z*z)/4; - ang_eval_1 = sqrt_15*radial_eval*z*(x*x - y*y)/2; - ang_eval_2 = sqrt_10*radial_eval*x*(x*x - 3*y*y)/4; + ang_eval_0 = radial_eval*x15*x20; + ang_eval_1 = radial_eval*x22*x23; + ang_eval_2 = radial_eval*x24*x26; basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; basis_eval[ipt + 6*npts] = ang_eval_2; @@ -238,18 +349,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = sqrt_10*x*y*(6*radial_eval + radial_eval_alpha*(3*x*x - y*y))/4; - dang_eval_y_0 = sqrt_10*(-3*radial_eval*(-x*x + y*y) + radial_eval_alpha*y*y*(3*x*x - y*y))/4; - dang_eval_z_0 = sqrt_10*radial_eval_alpha*y*z*(3*x*x - y*y)/4; - dang_eval_x_1 = sqrt_15*y*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = sqrt_15*x*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = sqrt_15*x*y*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = sqrt_6*x*y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - dang_eval_y_2 = sqrt_6*(-radial_eval*(x*x + 3*y*y - 4*z*z) - radial_eval_alpha*y*y*(x*x + y*y - 4*z*z))/4; - dang_eval_z_2 = sqrt_6*y*z*(8*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - dang_eval_x_3 = x*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 2*z*z))/2; - dang_eval_y_3 = y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 2*z*z))/2; - dang_eval_z_3 = -3*radial_eval*(x*x + y*y - 2*z*z)/2 - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 2*z*z)/2; + dang_eval_x_0 = x27*(radial_eval_alpha*x6 + x28); + dang_eval_y_0 = x0*(radial_eval_alpha*x46 + x44); + dang_eval_z_0 = x1*x52*x6; + dang_eval_x_1 = x29*x8; + dang_eval_y_1 = x*x48*x7; + dang_eval_z_1 = x*x53*(radial_eval + x54); + dang_eval_x_2 = x34; + dang_eval_y_2 = x10*(radial_eval*x49 + radial_eval_alpha*x50); + dang_eval_z_2 = x11*x56*z; + dang_eval_x_3 = x35*x37; + dang_eval_y_3 = x16*x37*y; + dang_eval_z_3 = 1.5*radial_eval*x57 + 0.5*radial_eval_alpha*x58; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -263,15 +374,15 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = sqrt_6*(-radial_eval*(3*x*x + y*y - 4*z*z) - radial_eval_alpha*x*x*(x*x + y*y - 4*z*z))/4; - dang_eval_y_0 = sqrt_6*x*y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - dang_eval_z_0 = sqrt_6*x*z*(8*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - dang_eval_x_1 = sqrt_15*x*z*(2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - dang_eval_y_1 = sqrt_15*y*z*(-2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - dang_eval_z_1 = sqrt_15*(radial_eval + radial_eval_alpha*z*z)*(x*x - y*y)/2; - dang_eval_x_2 = sqrt_10*(3*radial_eval*(x*x - y*y) + radial_eval_alpha*x*x*(x*x - 3*y*y))/4; - dang_eval_y_2 = sqrt_10*x*y*(-6*radial_eval + radial_eval_alpha*(x*x - 3*y*y))/4; - dang_eval_z_2 = sqrt_10*radial_eval_alpha*x*z*(x*x - 3*y*y)/4; + dang_eval_x_0 = x10*(radial_eval*x38 + radial_eval_alpha*x39); + dang_eval_y_0 = x34; + dang_eval_z_0 = x20*x56*z; + dang_eval_x_1 = x40*x42; + dang_eval_y_1 = x22*x51*y; + dang_eval_z_1 = x21*(radial_eval*x23 + radial_eval_alpha*x59); + dang_eval_x_2 = x0*(radial_eval_alpha*x45 + x44); + dang_eval_y_2 = x27*(radial_eval_alpha*x26 + x36); + dang_eval_z_2 = x24*x26*x52; basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3_lapgrad.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3_lapgrad.hpp new file mode 100644 index 00000000..ae33bce6 --- /dev/null +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3_lapgrad.hpp @@ -0,0 +1,510 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once +#include "collocation_device_constants.hpp" +#include "device/xc_device_task.hpp" +#include "device_specific/cuda_device_constants.hpp" +#include "device/common/shell_to_task.hpp" +#include + +namespace GauXC { + + +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_spherical_lapgrad_3( + uint32_t nshell, + ShellToTaskDevice* __restrict__ shell_to_task, + XCDeviceTask* __restrict__ device_tasks +) { + + + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; + double* my_alpha = alpha[threadIdx.x/32]; + double* my_coeff = coeff[threadIdx.x/32]; + + for( auto ish = blockIdx.z; ish < nshell; ish += gridDim.z ) { + const uint32_t ntasks = shell_to_task[ish].ntask; + const auto shell = shell_to_task[ish].shell_device; + const auto task_idx = shell_to_task[ish].task_idx_device; + const auto task_shell_offs = shell_to_task[ish].task_shell_offs_device; + + + // Load Shell Data into registers / SM + const uint32_t nprim = shell->nprim(); + const double3 O = *reinterpret_cast(shell->O_data()); + + const int global_warp_id = (threadIdx.x + blockIdx.x*blockDim.x) / cuda::warp_size; + const int nwarp_global = max((blockDim.x*gridDim.x) / cuda::warp_size,1); + + // Read in coeffs/exps into SM on first warp + { + auto* coeff_gm = shell->coeff_data(); + auto* alpha_gm = shell->alpha_data(); + static_assert( detail::shell_nprim_max == cuda::warp_size ); + const int warp_rank = threadIdx.x % cuda::warp_size; + my_alpha[warp_rank] = alpha_gm[warp_rank]; + my_coeff[warp_rank] = coeff_gm[warp_rank]; + } + + // Loop over tasks assigned to shells + // Place each task on a different warp + schedule across blocks + for( int itask = global_warp_id; itask < ntasks; itask += nwarp_global ) { + + const auto* task = device_tasks + task_idx[itask]; + const auto* __restrict__ points_x = task->points_x; + const auto* __restrict__ points_y = task->points_y; + const auto* __restrict__ points_z = task->points_z; + const uint32_t npts = task->npts; + const size_t shoff = task_shell_offs[itask] * npts; + + auto* __restrict__ basis_eval = task->bf + shoff; + auto* __restrict__ basis_x_eval = task->dbfx + shoff; + auto* __restrict__ basis_y_eval = task->dbfy + shoff; + auto* __restrict__ basis_z_eval = task->dbfz + shoff; + auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; + auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; + auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; + auto* __restrict__ basis_yy_eval = task->d2bfyy + shoff; + auto* __restrict__ basis_yz_eval = task->d2bfyz + shoff; + auto* __restrict__ basis_zz_eval = task->d2bfzz + shoff; + auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; + auto* __restrict__ basis_lapl_x_eval = task->d3bflapl_x + shoff; + auto* __restrict__ basis_lapl_y_eval = task->d3bflapl_y + shoff; + auto* __restrict__ basis_lapl_z_eval = task->d3bflapl_z + shoff; + + // Loop over points in task + // Assign each point to separate thread within the warp + #pragma unroll 1 + for( int ipt = threadIdx.x % cuda::warp_size; ipt < npts; ipt += cuda::warp_size ) { + //const double3 point = points[ipt]; + double3 point; + point.x = points_x[ipt]; + point.y = points_y[ipt]; + point.z = points_z[ipt]; + + + const auto x = point.x - O.x; + const auto y = point.y - O.y; + const auto z = point.z - O.z; + const auto rsq = x*x + y*y + z*z; + + // Evaluate radial part of bfn + double radial_eval = 0.; + double radial_eval_alpha = 0.; + double radial_eval_alpha_squared = 0.; + double radial_eval_alpha_cubed = 0.; + + #pragma unroll 1 + for( uint32_t i = 0; i < nprim; ++i ) { + const auto a = my_alpha[i]; + const auto e = my_coeff[i] * std::exp( - a * rsq ); + + radial_eval += e; + radial_eval_alpha += a * e; + radial_eval_alpha_squared += a * a * e; + radial_eval_alpha_cubed += a * a * a * e; + } + + radial_eval_alpha *= -2; + radial_eval_alpha_squared *= 4; + radial_eval_alpha_cubed *= -8; + + // Common Subexpressions + const auto x0 = 0.25*sqrt_10; + const auto x1 = x0*y; + const auto x2 = x*x; + const auto x3 = x2; + const auto x4 = 3.0*x3; + const auto x5 = y*y; + const auto x6 = x5; + const auto x7 = -x6; + const auto x8 = x4 + x7; + const auto x9 = sqrt_15*z; + const auto x10 = x9*y; + const auto x11 = x*x10; + const auto x12 = 0.25*sqrt_6; + const auto x13 = x12*y; + const auto x14 = z*z; + const auto x15 = x14; + const auto x16 = -4.0*x15; + const auto x17 = x16 + x6; + const auto x18 = -x17 - x3; + const auto x19 = 0.5*z; + const auto x20 = 3.0*x6; + const auto x21 = -2.0*x15; + const auto x22 = -x20 - x21 - x4; + const auto x23 = x*x12; + const auto x24 = 0.5*sqrt_15; + const auto x25 = x24*z; + const auto x26 = x3 + x7; + const auto x27 = x*x0; + const auto x28 = -x20; + const auto x29 = x28 + x3; + const auto x30 = x*x1; + const auto x31 = 6.0*radial_eval; + const auto x32 = radial_eval + radial_eval_alpha*x3; + const auto x33 = x*x13; + const auto x34 = 2.0*radial_eval; + const auto x35 = -x34; + const auto x36 = radial_eval_alpha*x18; + const auto x37 = x33*(x35 + x36); + const auto x38 = x*x19; + const auto x39 = -x31; + const auto x40 = radial_eval_alpha*x22 + x39; + const auto x41 = -x17 - x4; + const auto x42 = x18*x3; + const auto x43 = x*x25; + const auto x44 = radial_eval_alpha*x26; + const auto x45 = x34 + x44; + const auto x46 = x28 + x4; + const auto x47 = radial_eval*x46; + const auto x48 = x29*x3; + const auto x49 = x6*x8; + const auto x50 = x*x9; + const auto x51 = radial_eval_alpha*x6; + const auto x52 = radial_eval + x51; + const auto x53 = -x16 - x20 - x3; + const auto x54 = x18*x6; + const auto x55 = x35 + x44; + const auto x56 = radial_eval_alpha*z; + const auto x57 = sqrt_15*y; + const auto x58 = x*x57; + const auto x59 = radial_eval_alpha*x15; + const auto x60 = 8.0*radial_eval; + const auto x61 = x36 + x60; + const auto x62 = -x21 - x3 - x6; + const auto x63 = x15*x22; + const auto x64 = x15*x26; + const auto x65 = radial_eval_alpha_squared*x3; + const auto x66 = radial_eval_alpha + x65; + const auto x67 = x66*x8; + const auto x68 = 12.0*radial_eval_alpha; + const auto x69 = x3*x68; + const auto x70 = x31 + x69; + const auto x71 = 3.0*radial_eval_alpha; + const auto x72 = 4.0*radial_eval_alpha; + const auto x73 = x3*x72; + const auto x74 = x34 + x73; + const auto x75 = x18*x66; + const auto x76 = 2.0*radial_eval_alpha; + const auto x77 = x41*x76 + x75; + const auto x78 = x26*x66; + const auto x79 = x46*x76; + const auto x80 = x29*x66 + x79; + const auto x81 = 6.0*radial_eval_alpha; + const auto x82 = radial_eval_alpha*x46; + const auto x83 = radial_eval_alpha_squared*x49 + x82; + const auto x84 = x3*x6; + const auto x85 = radial_eval_alpha*x53 + radial_eval_alpha_squared*x54; + const auto x86 = radial_eval_alpha*x41 + radial_eval_alpha_squared*x42; + const auto x87 = radial_eval_alpha_squared*x48 + x82; + const auto x88 = x30*z; + const auto x89 = x15*x3; + const auto x90 = x33*z*(radial_eval_alpha_squared*x18 + x81); + const auto x91 = radial_eval_alpha_squared*x63 - x15*x81 + x39 + x62*x71; + const auto x92 = x12*z; + const auto x93 = 8.0*radial_eval_alpha; + const auto x94 = x15*x76; + const auto x95 = radial_eval_alpha_squared*x64; + const auto x96 = x0*z; + const auto x97 = radial_eval_alpha_squared*x6; + const auto x98 = radial_eval_alpha + x97; + const auto x99 = x79 + x8*x98; + const auto x100 = x18*x98; + const auto x101 = x100 + x53*x76; + const auto x102 = x6*x68; + const auto x103 = x102 + x31; + const auto x104 = x6*x72; + const auto x105 = x104 + x34; + const auto x106 = x15*x6; + const auto x107 = radial_eval_alpha_squared*x15; + const auto x108 = radial_eval_alpha + x107; + const auto x109 = x108*x8; + const auto x110 = 16.0*radial_eval_alpha*x15; + const auto x111 = x108*x18 + x110; + const auto x112 = x111 + x60; + const auto x113 = x108*x22 + x62*x81; + const auto x114 = x108*x26; + const auto x115 = x114 + x26*x76; + const auto x116 = x108*x29; + const auto x117 = x107 + x97; + const auto x118 = -x73; + const auto x119 = -x102; + const auto x120 = -x69; + const auto x121 = x119 + x120; + const auto x122 = -x104; + const auto x123 = x122 + x26*x98 + x73 + x78; + const auto x124 = 3.0*radial_eval_alpha_squared; + const auto x125 = x*(radial_eval_alpha_cubed*(x*x) + x124); + const auto x126 = radial_eval_alpha_cubed*x6 + radial_eval_alpha_squared; + const auto x127 = x126*x8; + const auto x128 = radial_eval_alpha_cubed*x15 + radial_eval_alpha_squared; + const auto x129 = x128*x8; + const auto x130 = 2.0*x; + const auto x131 = radial_eval_alpha_squared*x130; + const auto x132 = 6.0*x; + const auto x133 = 24.0*radial_eval_alpha; + const auto x134 = x*x133 + 18.0*x*x66 + x108*x132 + x132*x98; + const auto x135 = 4.0*radial_eval_alpha_squared; + const auto x136 = x*x93; + const auto x137 = 16.0*radial_eval_alpha_squared; + const auto x138 = x132*x66; + const auto x139 = x130*x98; + const auto x140 = x108*x130; + const auto x141 = x126*x18; + const auto x142 = x128*x18; + const auto x143 = x125*x18; + const auto x144 = 12.0*radial_eval_alpha_squared; + const auto x145 = x110 - x135*x84; + const auto x146 = x126*x26; + const auto x147 = x128*x26; + const auto x148 = x46*x98; + const auto x149 = x46*x66; + const auto x150 = x126*x29; + const auto x151 = x128*x29; + const auto x152 = x144*x84; + const auto x153 = x108*x46 + x119 + x69; + const auto x154 = y*(radial_eval_alpha_cubed*(y*y) + x124); + const auto x155 = radial_eval_alpha_cubed*x3 + radial_eval_alpha_squared; + const auto x156 = x155*x8; + const auto x157 = x65 + x81; + const auto x158 = x154*x18; + const auto x159 = x155*x18; + const auto x160 = x133*y; + const auto x161 = 6.0*y; + const auto x162 = x161*x66; + const auto x163 = 18.0*x98*y; + const auto x164 = x108*x161; + const auto x165 = 2.0*y; + const auto x166 = radial_eval_alpha_squared*x165; + const auto x167 = -x108*x165 - x161*x98 - x165*x66 - x93*y; + const auto x168 = x155*x26; + const auto x169 = x155*x29; + const auto x170 = x144*z; + const auto x171 = 2.0*radial_eval_alpha_squared*z; + const auto x172 = x171*x46; + const auto x173 = z*(radial_eval_alpha_cubed*(z*z) + x124); + const auto x174 = x135*z; + const auto x175 = 8.0*z; + const auto x176 = 24.0*x108*z + x141*z + x159*z + x173*x18 + x175*x66 + x175*x98 + 32.0*x56; + + + // Evaluate basis function + basis_eval[ipt + 0*npts] = radial_eval*x1*x8; + basis_eval[ipt + 1*npts] = radial_eval*x11; + basis_eval[ipt + 2*npts] = radial_eval*x13*x18; + basis_eval[ipt + 3*npts] = radial_eval*x19*x22; + basis_eval[ipt + 4*npts] = radial_eval*x18*x23; + basis_eval[ipt + 5*npts] = radial_eval*x25*x26; + basis_eval[ipt + 6*npts] = radial_eval*x27*x29; + + + + // Evaluate first derivative of bfn wrt x + basis_x_eval[ipt + 0*npts] = x30*(radial_eval_alpha*x8 + x31); + basis_x_eval[ipt + 1*npts] = x10*x32; + basis_x_eval[ipt + 2*npts] = x37; + basis_x_eval[ipt + 3*npts] = x38*x40; + basis_x_eval[ipt + 4*npts] = x12*(radial_eval*x41 + radial_eval_alpha*x42); + basis_x_eval[ipt + 5*npts] = x43*x45; + basis_x_eval[ipt + 6*npts] = x0*(radial_eval_alpha*x48 + x47); + + // Evaluate first derivative of bfn wrt y + basis_y_eval[ipt + 0*npts] = x0*(radial_eval_alpha*x49 + x47); + basis_y_eval[ipt + 1*npts] = x50*x52; + basis_y_eval[ipt + 2*npts] = x12*(radial_eval*x53 + radial_eval_alpha*x54); + basis_y_eval[ipt + 3*npts] = x19*x40*y; + basis_y_eval[ipt + 4*npts] = x37; + basis_y_eval[ipt + 5*npts] = x25*x55*y; + basis_y_eval[ipt + 6*npts] = x30*(radial_eval_alpha*x29 + x39); + + // Evaluate first derivative of bfn wrt z + basis_z_eval[ipt + 0*npts] = x1*x56*x8; + basis_z_eval[ipt + 1*npts] = x58*(radial_eval + x59); + basis_z_eval[ipt + 2*npts] = x13*x61*z; + basis_z_eval[ipt + 3*npts] = 1.5*radial_eval*x62 + 0.5*radial_eval_alpha*x63; + basis_z_eval[ipt + 4*npts] = x23*x61*z; + basis_z_eval[ipt + 5*npts] = x24*(radial_eval*x26 + radial_eval_alpha*x64); + basis_z_eval[ipt + 6*npts] = x27*x29*x56; + + // Evaluate second derivative of bfn wrt xx + basis_xx_eval[ipt + 0*npts] = x1*(x67 + x70); + basis_xx_eval[ipt + 1*npts] = x11*(x65 + x71); + basis_xx_eval[ipt + 2*npts] = x13*(x18*x66 - x74); + basis_xx_eval[ipt + 3*npts] = x19*(x22*x66 - x70); + basis_xx_eval[ipt + 4*npts] = x23*(x39 + x77); + basis_xx_eval[ipt + 5*npts] = x25*(x74 + x78); + basis_xx_eval[ipt + 6*npts] = x27*(x31 + x80); + + // Evaluate second derivative of bfn wrt xy + basis_xy_eval[ipt + 0*npts] = x27*(x31 + x6*x81 + x83); + basis_xy_eval[ipt + 1*npts] = x9*(radial_eval_alpha_squared*x84 + x32 + x51); + basis_xy_eval[ipt + 2*npts] = x23*(x35 - x6*x76 + x85); + basis_xy_eval[ipt + 3*npts] = x38*y*(radial_eval_alpha_squared*x22 - x68); + basis_xy_eval[ipt + 4*npts] = x13*(-x3*x76 + x35 + x86); + basis_xy_eval[ipt + 5*npts] = radial_eval_alpha_squared*x26*x43*y; + basis_xy_eval[ipt + 6*npts] = x1*(-x3*x81 + x39 + x87); + + // Evaluate second derivative of bfn wrt xz + basis_xz_eval[ipt + 0*npts] = x88*(radial_eval_alpha_squared*x8 + x81); + basis_xz_eval[ipt + 1*npts] = x57*(radial_eval_alpha_squared*x89 + x32 + x59); + basis_xz_eval[ipt + 2*npts] = x90; + basis_xz_eval[ipt + 3*npts] = 0.5*x*x91; + basis_xz_eval[ipt + 4*npts] = x92*(x3*x93 + x60 + x86); + basis_xz_eval[ipt + 5*npts] = x*x24*(x45 + x94 + x95); + basis_xz_eval[ipt + 6*npts] = x87*x96; + + // Evaluate second derivative of bfn wrt yy + basis_yy_eval[ipt + 0*npts] = x1*(x39 + x99); + basis_yy_eval[ipt + 1*npts] = x11*(x71 + x97); + basis_yy_eval[ipt + 2*npts] = x13*(x101 + x39); + basis_yy_eval[ipt + 3*npts] = x19*(-x103 + x22*x98); + basis_yy_eval[ipt + 4*npts] = x23*(-x105 + x18*x98); + basis_yy_eval[ipt + 5*npts] = x25*(-x105 + x26*x98); + basis_yy_eval[ipt + 6*npts] = x27*(-x103 + x29*x98); + + // Evaluate second derivative of bfn wrt yz + basis_yz_eval[ipt + 0*npts] = x83*x96; + basis_yz_eval[ipt + 1*npts] = sqrt_15*x*(radial_eval_alpha_squared*x106 + x52 + x59); + basis_yz_eval[ipt + 2*npts] = x92*(x6*x93 + x60 + x85); + basis_yz_eval[ipt + 3*npts] = 0.5*x91*y; + basis_yz_eval[ipt + 4*npts] = x90; + basis_yz_eval[ipt + 5*npts] = x24*y*(x55 - x94 + x95); + basis_yz_eval[ipt + 6*npts] = x88*(radial_eval_alpha_squared*x29 - x81); + + // Evaluate second derivative of bfn wrt zz + basis_zz_eval[ipt + 0*npts] = x1*x109; + basis_zz_eval[ipt + 1*npts] = x11*(x107 + x71); + basis_zz_eval[ipt + 2*npts] = x112*x13; + basis_zz_eval[ipt + 3*npts] = x19*(12.0*radial_eval + x113); + basis_zz_eval[ipt + 4*npts] = x112*x23; + basis_zz_eval[ipt + 5*npts] = x115*x25; + basis_zz_eval[ipt + 6*npts] = x116*x27; + + // Evaluate Laplacian of bfn + basis_lapl_eval[ipt + 0*npts] = x1*(x109 + x67 + x69 + x99); + basis_lapl_eval[ipt + 1*npts] = x11*(9.0*radial_eval_alpha + x117 + x65); + basis_lapl_eval[ipt + 2*npts] = x13*(x101 + x111 + x118 + x75); + basis_lapl_eval[ipt + 3*npts] = x19*(x113 + x121 + x22*x66 + x22*x98); + basis_lapl_eval[ipt + 4*npts] = x23*(x100 + x111 + x122 + x77); + basis_lapl_eval[ipt + 5*npts] = x25*(x115 + x123); + basis_lapl_eval[ipt + 6*npts] = x27*(x116 + x119 + x29*x98 + x80); + + // Evaluate Laplacian gradient of bfn (dx) + basis_lapl_x_eval[ipt + 0*npts] = x1*(x*x127 + x*x129 + x125*x8 + x131*x46 + x134); + basis_lapl_x_eval[ipt + 1*npts] = x10*(x*x125 + x117 + x126*x2 + x128*x2 + x135*x3 + 3.0*x66 + x81); + basis_lapl_x_eval[ipt + 2*npts] = x13*(x*x137*x15 + x*x141 + x*x142 + x131*x53 - x136 - x138 - x139 - x140 + x143); + basis_lapl_x_eval[ipt + 3*npts] = x19*(6.0*radial_eval_alpha_squared*x*x62 + x*x126*x22 + x*x128*x22 - x*x144*x6 + x125*x22 - x134); + basis_lapl_x_eval[ipt + 4*npts] = x12*(x*x143 + x108*x41 + x120 + x122 + x137*x89 + x141*x2 + x142*x2 + x145 + 3.0*x41*x66 + x41*x98); + basis_lapl_x_eval[ipt + 5*npts] = x25*(-x*x135*x6 + x*x146 + x*x147 + x125*x26 + x131*x26 + x136 + x138 + x139 + x140); + basis_lapl_x_eval[ipt + 6*npts] = x0*(x*x125*x29 + x148 + 3.0*x149 + x150*x2 + x151*x2 - x152 + x153); + // Evaluate Laplacian gradient of bfn (dy) + basis_lapl_y_eval[ipt + 0*npts] = x0*(x129*x5 + 3.0*x148 + x149 + x152 + x153 + x154*x8*y + x156*x5); + basis_lapl_y_eval[ipt + 1*npts] = x50*(x107 + x128*x5 + x135*x6 + x154*y + x155*x5 + x157 + 3.0*x98); + basis_lapl_y_eval[ipt + 2*npts] = x12*(x106*x137 + x108*x53 + x118 + x119 + x142*x5 + x145 + x158*y + x159*x5 + x53*x66 + 3.0*x53*x98); + basis_lapl_y_eval[ipt + 3*npts] = -x19*(-6.0*radial_eval_alpha_squared*x62*y - x128*x22*y + x144*x3*y - x154*x22 - x155*x22*y + x160 + x162 + x163 + x164); + basis_lapl_y_eval[ipt + 4*npts] = x23*(x137*x15*y + x142*y + x158 + x159*y + x166*x41 + x167); + basis_lapl_y_eval[ipt + 5*npts] = x25*(x135*x3*y + x147*y + x154*x26 + x166*x26 + x167 + x168*y); + basis_lapl_y_eval[ipt + 6*npts] = x27*(x151*y + x154*x29 - x160 - x162 - x163 - x164 + x166*x46 + x169*y); + // Evaluate Laplacian gradient of bfn (dz) + basis_lapl_z_eval[ipt + 0*npts] = x1*(x127*z + x156*z + x170*x3 + x172 + x173*x8); + basis_lapl_z_eval[ipt + 1*npts] = x58*(3.0*x108 + x126*x14 + x135*x15 + x14*x155 + x157 + x173*z + x97); + basis_lapl_z_eval[ipt + 2*npts] = x13*(x171*x53 - x174*x3 + x176); + basis_lapl_z_eval[ipt + 3*npts] = -0.5*x106*x144 + 4.5*x108*x62 + 0.5*x121 + 0.5*x126*x14*x22 + 0.5*x133*x15 + 0.5*x14*x155*x22 - 0.5*x144*x89 + 0.5*x173*x22*z + 1.5*x62*x66 + 1.5*x62*x98; + basis_lapl_z_eval[ipt + 4*npts] = x23*(x171*x41 - x174*x6 + x176); + basis_lapl_z_eval[ipt + 5*npts] = x24*(-x106*x135 + 3.0*x114 + x123 + x135*x89 + x14*x146 + x14*x168 + x173*x26*z); + basis_lapl_z_eval[ipt + 6*npts] = x27*(x150*z + x169*z - x170*x6 + x172 + x173*x29); + + + + +#if 0 + // Evaluate the angular part of bfn + + + + double ang_eval_0; + double ang_eval_1; + double ang_eval_2; + double ang_eval_3; + + + ang_eval_0 = radial_eval*x1*x8; + ang_eval_1 = radial_eval*x11; + ang_eval_2 = radial_eval*x13*x18; + ang_eval_3 = radial_eval*x19*x22; + basis_eval[ipt + 0*npts] = ang_eval_0; + basis_eval[ipt + 1*npts] = ang_eval_1; + basis_eval[ipt + 2*npts] = ang_eval_2; + basis_eval[ipt + 3*npts] = ang_eval_3; + + ang_eval_0 = radial_eval*x18*x23; + ang_eval_1 = radial_eval*x25*x26; + ang_eval_2 = radial_eval*x27*x29; + basis_eval[ipt + 4*npts] = ang_eval_0; + basis_eval[ipt + 5*npts] = ang_eval_1; + basis_eval[ipt + 6*npts] = ang_eval_2; + + + double dang_eval_x_0, dang_eval_y_0, dang_eval_z_0; + double dang_eval_x_1, dang_eval_y_1, dang_eval_z_1; + double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; + double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; + + dang_eval_x_0 = x30*(radial_eval_alpha*x8 + x31); + dang_eval_y_0 = x0*(radial_eval_alpha*x49 + x47); + dang_eval_z_0 = x1*x56*x8; + dang_eval_x_1 = x10*x32; + dang_eval_y_1 = x50*x52; + dang_eval_z_1 = x58*(radial_eval + x59); + dang_eval_x_2 = x37; + dang_eval_y_2 = x12*(radial_eval*x53 + radial_eval_alpha*x54); + dang_eval_z_2 = x13*x61*z; + dang_eval_x_3 = x38*x40; + dang_eval_y_3 = x19*x40*y; + dang_eval_z_3 = 1.5*radial_eval*x62 + 0.5*radial_eval_alpha*x63; + basis_x_eval[ipt + 0*npts] = dang_eval_x_0; + basis_y_eval[ipt + 0*npts] = dang_eval_y_0; + basis_z_eval[ipt + 0*npts] = dang_eval_z_0; + basis_x_eval[ipt + 1*npts] = dang_eval_x_1; + basis_y_eval[ipt + 1*npts] = dang_eval_y_1; + basis_z_eval[ipt + 1*npts] = dang_eval_z_1; + basis_x_eval[ipt + 2*npts] = dang_eval_x_2; + basis_y_eval[ipt + 2*npts] = dang_eval_y_2; + basis_z_eval[ipt + 2*npts] = dang_eval_z_2; + basis_x_eval[ipt + 3*npts] = dang_eval_x_3; + basis_y_eval[ipt + 3*npts] = dang_eval_y_3; + basis_z_eval[ipt + 3*npts] = dang_eval_z_3; + + dang_eval_x_0 = x12*(radial_eval*x41 + radial_eval_alpha*x42); + dang_eval_y_0 = x37; + dang_eval_z_0 = x23*x61*z; + dang_eval_x_1 = x43*x45; + dang_eval_y_1 = x25*x55*y; + dang_eval_z_1 = x24*(radial_eval*x26 + radial_eval_alpha*x64); + dang_eval_x_2 = x0*(radial_eval_alpha*x48 + x47); + dang_eval_y_2 = x30*(radial_eval_alpha*x29 + x39); + dang_eval_z_2 = x27*x29*x56; + basis_x_eval[ipt + 4*npts] = dang_eval_x_0; + basis_y_eval[ipt + 4*npts] = dang_eval_y_0; + basis_z_eval[ipt + 4*npts] = dang_eval_z_0; + basis_x_eval[ipt + 5*npts] = dang_eval_x_1; + basis_y_eval[ipt + 5*npts] = dang_eval_y_1; + basis_z_eval[ipt + 5*npts] = dang_eval_z_1; + basis_x_eval[ipt + 6*npts] = dang_eval_x_2; + basis_y_eval[ipt + 6*npts] = dang_eval_y_2; + basis_z_eval[ipt + 6*npts] = dang_eval_z_2; + +#endif + } // Loop over points within task + } // Loop over tasks + + } // Loop over shells +} // end kernel + +} // namespace GauXC diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3_laplacian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3_laplacian.hpp index 18dff71c..09adc56d 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3_laplacian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l3_laplacian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_spherical_laplacian_3( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_spherical_laplacian_3( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; // Loop over points in task @@ -103,54 +102,166 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = 0.25*sqrt_10; + const auto x1 = x0*y; + const auto x2 = x*x; + const auto x3 = 3.0*x2; + const auto x4 = y*y; + const auto x5 = -x4; + const auto x6 = x3 + x5; + const auto x7 = sqrt_15*z; + const auto x8 = x7*y; + const auto x9 = x*x8; + const auto x10 = 0.25*sqrt_6; + const auto x11 = x10*y; + const auto x12 = z*z; + const auto x13 = -4.0*x12; + const auto x14 = x13 + x4; + const auto x15 = -x14 - x2; + const auto x16 = 0.5*z; + const auto x17 = 3.0*x4; + const auto x18 = -2.0*x12; + const auto x19 = -x17 - x18 - x3; + const auto x20 = x*x10; + const auto x21 = 0.5*sqrt_15; + const auto x22 = x21*z; + const auto x23 = x2 + x5; + const auto x24 = x*x0; + const auto x25 = -x17; + const auto x26 = x2 + x25; + const auto x27 = x*x1; + const auto x28 = 6.0*radial_eval; + const auto x29 = radial_eval + radial_eval_alpha*x2; + const auto x30 = x*x11; + const auto x31 = 2.0*radial_eval; + const auto x32 = -x31; + const auto x33 = radial_eval_alpha*x15; + const auto x34 = x30*(x32 + x33); + const auto x35 = x*x16; + const auto x36 = -x28; + const auto x37 = radial_eval_alpha*x19 + x36; + const auto x38 = -x14 - x3; + const auto x39 = x15*x2; + const auto x40 = x*x22; + const auto x41 = radial_eval_alpha*x23; + const auto x42 = x31 + x41; + const auto x43 = x25 + x3; + const auto x44 = radial_eval*x43; + const auto x45 = x2*x26; + const auto x46 = x4*x6; + const auto x47 = radial_eval_alpha*x4; + const auto x48 = radial_eval + x47; + const auto x49 = -x13 - x17 - x2; + const auto x50 = x15*x4; + const auto x51 = x32 + x41; + const auto x52 = radial_eval_alpha*z; + const auto x53 = sqrt_15*y; + const auto x54 = radial_eval_alpha*x12; + const auto x55 = 8.0*radial_eval; + const auto x56 = x33 + x55; + const auto x57 = -x18 - x2 - x4; + const auto x58 = x12*x19; + const auto x59 = x12*x23; + const auto x60 = radial_eval_alpha_squared*x2; + const auto x61 = radial_eval_alpha + x60; + const auto x62 = x6*x61; + const auto x63 = 12.0*radial_eval_alpha; + const auto x64 = x2*x63; + const auto x65 = x28 + x64; + const auto x66 = 3.0*radial_eval_alpha; + const auto x67 = 4.0*radial_eval_alpha; + const auto x68 = x2*x67; + const auto x69 = x31 + x68; + const auto x70 = x15*x61; + const auto x71 = 2.0*radial_eval_alpha; + const auto x72 = x38*x71 + x70; + const auto x73 = x23*x61; + const auto x74 = x43*x71; + const auto x75 = x26*x61 + x74; + const auto x76 = 6.0*radial_eval_alpha; + const auto x77 = radial_eval_alpha*x43; + const auto x78 = radial_eval_alpha_squared*x46 + x77; + const auto x79 = radial_eval_alpha*x49 + radial_eval_alpha_squared*x50; + const auto x80 = radial_eval_alpha*x38 + radial_eval_alpha_squared*x39; + const auto x81 = radial_eval_alpha_squared*x45 + x77; + const auto x82 = x27*z; + const auto x83 = x30*z*(radial_eval_alpha_squared*x15 + x76); + const auto x84 = radial_eval_alpha_squared*x58 - x12*x76 + x36 + x57*x66; + const auto x85 = x10*z; + const auto x86 = 8.0*radial_eval_alpha; + const auto x87 = x12*x71; + const auto x88 = radial_eval_alpha_squared*x59; + const auto x89 = x0*z; + const auto x90 = radial_eval_alpha_squared*x4; + const auto x91 = radial_eval_alpha + x90; + const auto x92 = x6*x91 + x74; + const auto x93 = x15*x91; + const auto x94 = x49*x71 + x93; + const auto x95 = x4*x63; + const auto x96 = x28 + x95; + const auto x97 = x4*x67; + const auto x98 = x31 + x97; + const auto x99 = radial_eval_alpha_squared*x12; + const auto x100 = radial_eval_alpha + x99; + const auto x101 = x100*x6; + const auto x102 = 16.0*radial_eval_alpha*x12 + x100*x15; + const auto x103 = x102 + x55; + const auto x104 = x100*x19 + x57*x76; + const auto x105 = x23*(x100 + x71); + const auto x106 = x100*x26; + const auto x107 = -x95; + const auto x108 = -x97; + // Evaluate basis function - basis_eval[ipt + 0*npts] = sqrt_10*radial_eval*y*(3*x*x - y*y)/4; - basis_eval[ipt + 1*npts] = sqrt_15*radial_eval*x*y*z; - basis_eval[ipt + 2*npts] = sqrt_6*radial_eval*y*(-x*x - y*y + 4*z*z)/4; - basis_eval[ipt + 3*npts] = radial_eval*z*(-3*x*x - 3*y*y + 2*z*z)/2; - basis_eval[ipt + 4*npts] = sqrt_6*radial_eval*x*(-x*x - y*y + 4*z*z)/4; - basis_eval[ipt + 5*npts] = sqrt_15*radial_eval*z*(x*x - y*y)/2; - basis_eval[ipt + 6*npts] = sqrt_10*radial_eval*x*(x*x - 3*y*y)/4; + basis_eval[ipt + 0*npts] = radial_eval*x1*x6; + basis_eval[ipt + 1*npts] = radial_eval*x9; + basis_eval[ipt + 2*npts] = radial_eval*x11*x15; + basis_eval[ipt + 3*npts] = radial_eval*x16*x19; + basis_eval[ipt + 4*npts] = radial_eval*x15*x20; + basis_eval[ipt + 5*npts] = radial_eval*x22*x23; + basis_eval[ipt + 6*npts] = radial_eval*x24*x26; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = sqrt_10*x*y*(6*radial_eval + radial_eval_alpha*(3*x*x - y*y))/4; - basis_x_eval[ipt + 1*npts] = sqrt_15*y*z*(radial_eval + radial_eval_alpha*x*x); - basis_x_eval[ipt + 2*npts] = sqrt_6*x*y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - basis_x_eval[ipt + 3*npts] = x*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 2*z*z))/2; - basis_x_eval[ipt + 4*npts] = sqrt_6*(-radial_eval*(3*x*x + y*y - 4*z*z) - radial_eval_alpha*x*x*(x*x + y*y - 4*z*z))/4; - basis_x_eval[ipt + 5*npts] = sqrt_15*x*z*(2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - basis_x_eval[ipt + 6*npts] = sqrt_10*(3*radial_eval*(x*x - y*y) + radial_eval_alpha*x*x*(x*x - 3*y*y))/4; + basis_x_eval[ipt + 0*npts] = x27*(radial_eval_alpha*x6 + x28); + basis_x_eval[ipt + 1*npts] = x29*x8; + basis_x_eval[ipt + 2*npts] = x34; + basis_x_eval[ipt + 3*npts] = x35*x37; + basis_x_eval[ipt + 4*npts] = x10*(radial_eval*x38 + radial_eval_alpha*x39); + basis_x_eval[ipt + 5*npts] = x40*x42; + basis_x_eval[ipt + 6*npts] = x0*(radial_eval_alpha*x45 + x44); // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = sqrt_10*(-3*radial_eval*(-x*x + y*y) + radial_eval_alpha*y*y*(3*x*x - y*y))/4; - basis_y_eval[ipt + 1*npts] = sqrt_15*x*z*(radial_eval + radial_eval_alpha*y*y); - basis_y_eval[ipt + 2*npts] = sqrt_6*(-radial_eval*(x*x + 3*y*y - 4*z*z) - radial_eval_alpha*y*y*(x*x + y*y - 4*z*z))/4; - basis_y_eval[ipt + 3*npts] = y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 2*z*z))/2; - basis_y_eval[ipt + 4*npts] = sqrt_6*x*y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - basis_y_eval[ipt + 5*npts] = sqrt_15*y*z*(-2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - basis_y_eval[ipt + 6*npts] = sqrt_10*x*y*(-6*radial_eval + radial_eval_alpha*(x*x - 3*y*y))/4; + basis_y_eval[ipt + 0*npts] = x0*(radial_eval_alpha*x46 + x44); + basis_y_eval[ipt + 1*npts] = x*x48*x7; + basis_y_eval[ipt + 2*npts] = x10*(radial_eval*x49 + radial_eval_alpha*x50); + basis_y_eval[ipt + 3*npts] = x16*x37*y; + basis_y_eval[ipt + 4*npts] = x34; + basis_y_eval[ipt + 5*npts] = x22*x51*y; + basis_y_eval[ipt + 6*npts] = x27*(radial_eval_alpha*x26 + x36); // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = sqrt_10*radial_eval_alpha*y*z*(3*x*x - y*y)/4; - basis_z_eval[ipt + 1*npts] = sqrt_15*x*y*(radial_eval + radial_eval_alpha*z*z); - basis_z_eval[ipt + 2*npts] = sqrt_6*y*z*(8*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - basis_z_eval[ipt + 3*npts] = -3*radial_eval*(x*x + y*y - 2*z*z)/2 - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 2*z*z)/2; - basis_z_eval[ipt + 4*npts] = sqrt_6*x*z*(8*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - basis_z_eval[ipt + 5*npts] = sqrt_15*(radial_eval + radial_eval_alpha*z*z)*(x*x - y*y)/2; - basis_z_eval[ipt + 6*npts] = sqrt_10*radial_eval_alpha*x*z*(x*x - 3*y*y)/4; + basis_z_eval[ipt + 0*npts] = x1*x52*x6; + basis_z_eval[ipt + 1*npts] = x*x53*(radial_eval + x54); + basis_z_eval[ipt + 2*npts] = x11*x56*z; + basis_z_eval[ipt + 3*npts] = 1.5*radial_eval*x57 + 0.5*radial_eval_alpha*x58; + basis_z_eval[ipt + 4*npts] = x20*x56*z; + basis_z_eval[ipt + 5*npts] = x21*(radial_eval*x23 + radial_eval_alpha*x59); + basis_z_eval[ipt + 6*npts] = x24*x26*x52; + // Evaluate Laplacian of bfn - basis_lapl_eval[ipt + 0*npts] = sqrt_10*y*(27*radial_eval_alpha*x*x - 9*radial_eval_alpha*y*y + 3*radial_eval_alpha_squared*x*x*x*x + 2*radial_eval_alpha_squared*x*x*y*y + 3*radial_eval_alpha_squared*x*x*z*z - radial_eval_alpha_squared*y*y*y*y - radial_eval_alpha_squared*y*y*z*z)/4; - basis_lapl_eval[ipt + 1*npts] = sqrt_15*x*y*z*(9*radial_eval_alpha + radial_eval_alpha_squared*x*x + radial_eval_alpha_squared*y*y + radial_eval_alpha_squared*z*z); - basis_lapl_eval[ipt + 2*npts] = sqrt_6*y*(-9*radial_eval_alpha*x*x - 9*radial_eval_alpha*y*y + 36*radial_eval_alpha*z*z - radial_eval_alpha_squared*x*x*x*x - 2*radial_eval_alpha_squared*x*x*y*y + 3*radial_eval_alpha_squared*x*x*z*z - radial_eval_alpha_squared*y*y*y*y + 3*radial_eval_alpha_squared*y*y*z*z + 4*radial_eval_alpha_squared*z*z*z*z)/4; - basis_lapl_eval[ipt + 3*npts] = z*(-27*radial_eval_alpha*x*x - 27*radial_eval_alpha*y*y + 18*radial_eval_alpha*z*z - 3*radial_eval_alpha_squared*x*x*x*x - 6*radial_eval_alpha_squared*x*x*y*y - radial_eval_alpha_squared*x*x*z*z - 3*radial_eval_alpha_squared*y*y*y*y - radial_eval_alpha_squared*y*y*z*z + 2*radial_eval_alpha_squared*z*z*z*z)/2; - basis_lapl_eval[ipt + 4*npts] = sqrt_6*x*(-9*radial_eval_alpha*x*x - 9*radial_eval_alpha*y*y + 36*radial_eval_alpha*z*z - radial_eval_alpha_squared*x*x*x*x - 2*radial_eval_alpha_squared*x*x*y*y + 3*radial_eval_alpha_squared*x*x*z*z - radial_eval_alpha_squared*y*y*y*y + 3*radial_eval_alpha_squared*y*y*z*z + 4*radial_eval_alpha_squared*z*z*z*z)/4; - basis_lapl_eval[ipt + 5*npts] = sqrt_15*z*(9*radial_eval_alpha*x*x - 9*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*x*x + radial_eval_alpha_squared*x*x*z*z - radial_eval_alpha_squared*y*y*y*y - radial_eval_alpha_squared*y*y*z*z)/2; - basis_lapl_eval[ipt + 6*npts] = sqrt_10*x*(9*radial_eval_alpha*x*x - 27*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*x*x - 2*radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*x*x*z*z - 3*radial_eval_alpha_squared*y*y*y*y - 3*radial_eval_alpha_squared*y*y*z*z)/4; + basis_lapl_eval[ipt + 0*npts] = x1*(x101 + x62 + x64 + x92); + basis_lapl_eval[ipt + 1*npts] = x9*(9.0*radial_eval_alpha + x60 + x90 + x99); + basis_lapl_eval[ipt + 2*npts] = x11*(x102 - x68 + x70 + x94); + basis_lapl_eval[ipt + 3*npts] = x16*(x104 + x107 + x19*x61 + x19*x91 - x64); + basis_lapl_eval[ipt + 4*npts] = x20*(x102 + x108 + x72 + x93); + basis_lapl_eval[ipt + 5*npts] = x22*(x105 + x108 + x23*x91 + x68 + x73); + basis_lapl_eval[ipt + 6*npts] = x24*(x106 + x107 + x26*x91 + x75); + @@ -166,18 +277,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = sqrt_10*radial_eval*y*(3*x*x - y*y)/4; - ang_eval_1 = sqrt_15*radial_eval*x*y*z; - ang_eval_2 = sqrt_6*radial_eval*y*(-x*x - y*y + 4*z*z)/4; - ang_eval_3 = radial_eval*z*(-3*x*x - 3*y*y + 2*z*z)/2; + ang_eval_0 = radial_eval*x1*x6; + ang_eval_1 = radial_eval*x9; + ang_eval_2 = radial_eval*x11*x15; + ang_eval_3 = radial_eval*x16*x19; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = sqrt_6*radial_eval*x*(-x*x - y*y + 4*z*z)/4; - ang_eval_1 = sqrt_15*radial_eval*z*(x*x - y*y)/2; - ang_eval_2 = sqrt_10*radial_eval*x*(x*x - 3*y*y)/4; + ang_eval_0 = radial_eval*x15*x20; + ang_eval_1 = radial_eval*x22*x23; + ang_eval_2 = radial_eval*x24*x26; basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; basis_eval[ipt + 6*npts] = ang_eval_2; @@ -188,18 +299,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = sqrt_10*x*y*(6*radial_eval + radial_eval_alpha*(3*x*x - y*y))/4; - dang_eval_y_0 = sqrt_10*(-3*radial_eval*(-x*x + y*y) + radial_eval_alpha*y*y*(3*x*x - y*y))/4; - dang_eval_z_0 = sqrt_10*radial_eval_alpha*y*z*(3*x*x - y*y)/4; - dang_eval_x_1 = sqrt_15*y*z*(radial_eval + radial_eval_alpha*x*x); - dang_eval_y_1 = sqrt_15*x*z*(radial_eval + radial_eval_alpha*y*y); - dang_eval_z_1 = sqrt_15*x*y*(radial_eval + radial_eval_alpha*z*z); - dang_eval_x_2 = sqrt_6*x*y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - dang_eval_y_2 = sqrt_6*(-radial_eval*(x*x + 3*y*y - 4*z*z) - radial_eval_alpha*y*y*(x*x + y*y - 4*z*z))/4; - dang_eval_z_2 = sqrt_6*y*z*(8*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - dang_eval_x_3 = x*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 2*z*z))/2; - dang_eval_y_3 = y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 2*z*z))/2; - dang_eval_z_3 = -3*radial_eval*(x*x + y*y - 2*z*z)/2 - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 2*z*z)/2; + dang_eval_x_0 = x27*(radial_eval_alpha*x6 + x28); + dang_eval_y_0 = x0*(radial_eval_alpha*x46 + x44); + dang_eval_z_0 = x1*x52*x6; + dang_eval_x_1 = x29*x8; + dang_eval_y_1 = x*x48*x7; + dang_eval_z_1 = x*x53*(radial_eval + x54); + dang_eval_x_2 = x34; + dang_eval_y_2 = x10*(radial_eval*x49 + radial_eval_alpha*x50); + dang_eval_z_2 = x11*x56*z; + dang_eval_x_3 = x35*x37; + dang_eval_y_3 = x16*x37*y; + dang_eval_z_3 = 1.5*radial_eval*x57 + 0.5*radial_eval_alpha*x58; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -213,15 +324,15 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = sqrt_6*(-radial_eval*(3*x*x + y*y - 4*z*z) - radial_eval_alpha*x*x*(x*x + y*y - 4*z*z))/4; - dang_eval_y_0 = sqrt_6*x*y*(-2*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - dang_eval_z_0 = sqrt_6*x*z*(8*radial_eval - radial_eval_alpha*(x*x + y*y - 4*z*z))/4; - dang_eval_x_1 = sqrt_15*x*z*(2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - dang_eval_y_1 = sqrt_15*y*z*(-2*radial_eval + radial_eval_alpha*(x*x - y*y))/2; - dang_eval_z_1 = sqrt_15*(radial_eval + radial_eval_alpha*z*z)*(x*x - y*y)/2; - dang_eval_x_2 = sqrt_10*(3*radial_eval*(x*x - y*y) + radial_eval_alpha*x*x*(x*x - 3*y*y))/4; - dang_eval_y_2 = sqrt_10*x*y*(-6*radial_eval + radial_eval_alpha*(x*x - 3*y*y))/4; - dang_eval_z_2 = sqrt_10*radial_eval_alpha*x*z*(x*x - 3*y*y)/4; + dang_eval_x_0 = x10*(radial_eval*x38 + radial_eval_alpha*x39); + dang_eval_y_0 = x34; + dang_eval_z_0 = x20*x56*z; + dang_eval_x_1 = x40*x42; + dang_eval_y_1 = x22*x51*y; + dang_eval_z_1 = x21*(radial_eval*x23 + radial_eval_alpha*x59); + dang_eval_x_2 = x0*(radial_eval_alpha*x45 + x44); + dang_eval_y_2 = x27*(radial_eval_alpha*x26 + x36); + dang_eval_z_2 = x24*x26*x52; basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4.hpp index a7a11723..ce027407 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4.hpp @@ -64,7 +64,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_eval = task->bf + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -93,18 +92,37 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel } - + // Common Subexpressions + const auto x0 = 0.5*radial_eval*x*y; + const auto x1 = x*x; + const auto x2 = y*y; + const auto x3 = -x2; + const auto x4 = 0.25*radial_eval; + const auto x5 = x4*z; + const auto x6 = x5*y; + const auto x7 = 3.0*x1; + const auto x8 = z*z; + const auto x9 = 3.0*x2; + const auto x10 = -x7 + 4.0*x8 - x9; + const auto x11 = 0.125*radial_eval; + const auto x12 = x*x*x*x; + const auto x13 = y*y*y*y; + const auto x14 = 6.0*x1*x2; + const auto x15 = x1*x8; + const auto x16 = x2*x8; + const auto x17 = x*x5; + // Evaluate basis function - basis_eval[ipt + 0*npts] = sqrt_35*radial_eval*x*y*(x*x - y*y)/2; - basis_eval[ipt + 1*npts] = sqrt_70*radial_eval*y*z*(3*x*x - y*y)/4; - basis_eval[ipt + 2*npts] = sqrt_5*radial_eval*x*y*(-x*x - y*y + 6*z*z)/2; - basis_eval[ipt + 3*npts] = sqrt_10*radial_eval*y*z*(-3*x*x - 3*y*y + 4*z*z)/4; - basis_eval[ipt + 4*npts] = radial_eval*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z)/8; - basis_eval[ipt + 5*npts] = sqrt_10*radial_eval*x*z*(-3*x*x - 3*y*y + 4*z*z)/4; - basis_eval[ipt + 6*npts] = sqrt_5*radial_eval*(-x*x*x*x + 6*x*x*z*z + y*y*y*y - 6*y*y*z*z)/4; - basis_eval[ipt + 7*npts] = sqrt_70*radial_eval*x*z*(x*x - 3*y*y)/4; - basis_eval[ipt + 8*npts] = sqrt_35*radial_eval*(x*x*x*x - 6*x*x*y*y + y*y*y*y)/8; + basis_eval[ipt + 0*npts] = sqrt_35*x0*(x1 + x3); + basis_eval[ipt + 1*npts] = sqrt_70*x6*(x3 + x7); + basis_eval[ipt + 2*npts] = -sqrt_5*x0*(x1 + x2 - 6.0*x8); + basis_eval[ipt + 3*npts] = sqrt_10*x10*x6; + basis_eval[ipt + 4*npts] = x11*(3.0*x12 + 3.0*x13 + x14 - 24.0*x15 - 24.0*x16 + 8.0*(z*z*z*z)); + basis_eval[ipt + 5*npts] = sqrt_10*x10*x17; + basis_eval[ipt + 6*npts] = -sqrt_5*x4*(x12 - x13 - 6.0*x15 + 6.0*x16); + basis_eval[ipt + 7*npts] = sqrt_70*x17*(x1 - x9); + basis_eval[ipt + 8*npts] = sqrt_35*x11*(x12 + x13 - x14); @@ -113,6 +131,8 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel + + #if 0 // Evaluate the angular part of bfn @@ -124,25 +144,25 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = sqrt_35*radial_eval*x*y*(x*x - y*y)/2; - ang_eval_1 = sqrt_70*radial_eval*y*z*(3*x*x - y*y)/4; - ang_eval_2 = sqrt_5*radial_eval*x*y*(-x*x - y*y + 6*z*z)/2; - ang_eval_3 = sqrt_10*radial_eval*y*z*(-3*x*x - 3*y*y + 4*z*z)/4; + ang_eval_0 = sqrt_35*x0*(x1 + x3); + ang_eval_1 = sqrt_70*x6*(x3 + x7); + ang_eval_2 = -sqrt_5*x0*(x1 + x2 - 6.0*x8); + ang_eval_3 = sqrt_10*x10*x6; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = radial_eval*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z)/8; - ang_eval_1 = sqrt_10*radial_eval*x*z*(-3*x*x - 3*y*y + 4*z*z)/4; - ang_eval_2 = sqrt_5*radial_eval*(-x*x*x*x + 6*x*x*z*z + y*y*y*y - 6*y*y*z*z)/4; - ang_eval_3 = sqrt_70*radial_eval*x*z*(x*x - 3*y*y)/4; + ang_eval_0 = x11*(3.0*x12 + 3.0*x13 + x14 - 24.0*x15 - 24.0*x16 + 8.0*(z*z*z*z)); + ang_eval_1 = sqrt_10*x10*x17; + ang_eval_2 = -sqrt_5*x4*(x12 - x13 - 6.0*x15 + 6.0*x16); + ang_eval_3 = sqrt_70*x17*(x1 - x9); basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; basis_eval[ipt + 6*npts] = ang_eval_2; basis_eval[ipt + 7*npts] = ang_eval_3; - ang_eval_0 = sqrt_35*radial_eval*(x*x*x*x - 6*x*x*y*y + y*y*y*y)/8; + ang_eval_0 = sqrt_35*x11*(x12 + x13 - x14); basis_eval[ipt + 8*npts] = ang_eval_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4_gradient.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4_gradient.hpp index 096c3db5..6017ff3b 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4_gradient.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4_gradient.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_spherical_gradient_4( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_spherical_gradient_4( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -67,7 +67,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - // Loop over points in task // Assign each point to separate thread within the warp #pragma unroll 1 @@ -99,53 +98,113 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; - + // Common Subexpressions + const auto x0 = 0.5*y; + const auto x1 = sqrt_35*x0; + const auto x2 = radial_eval*x; + const auto x3 = x*x; + const auto x4 = y*y; + const auto x5 = -x4; + const auto x6 = x3 + x5; + const auto x7 = 0.25*z; + const auto x8 = sqrt_70*x7; + const auto x9 = radial_eval*y; + const auto x10 = 3.0*x3; + const auto x11 = x10 + x5; + const auto x12 = sqrt_5*x0; + const auto x13 = z*z; + const auto x14 = -6.0*x13; + const auto x15 = x14 + x4; + const auto x16 = -x15 - x3; + const auto x17 = sqrt_10*x7; + const auto x18 = -4.0*x13; + const auto x19 = 3.0*x4; + const auto x20 = x18 + x19; + const auto x21 = -x10 - x20; + const auto x22 = 0.125*radial_eval; + const auto x23 = x*x*x*x; + const auto x24 = y*y*y*y; + const auto x25 = 6.0*x3*x4; + const auto x26 = x13*x3; + const auto x27 = x13*x4; + const auto x28 = 3.0*x23 + 3.0*x24 + x25 - 24.0*x26 - 24.0*x27 + 8.0*(z*z*z*z); + const auto x29 = 0.25*sqrt_5; + const auto x30 = -x23 + x24 + 6.0*x26 - 6.0*x27; + const auto x31 = -x19; + const auto x32 = x3 + x31; + const auto x33 = x23 + x24 - x25; + const auto x34 = radial_eval*x11; + const auto x35 = x*y; + const auto x36 = x35*x8; + const auto x37 = 6.0*radial_eval; + const auto x38 = -x37; + const auto x39 = x17*x35*(radial_eval_alpha*x21 + x38); + const auto x40 = 12.0*radial_eval; + const auto x41 = x*x*x; + const auto x42 = radial_eval_alpha*x; + const auto x43 = 4.0*radial_eval; + const auto x44 = 3.0*x; + const auto x45 = radial_eval*(x10 + x31); + const auto x46 = 0.125*sqrt_35; + const auto x47 = 0.5*x; + const auto x48 = radial_eval*x32; + const auto x49 = y*y*y; + const auto x50 = radial_eval_alpha*y; + const auto x51 = 3.0*y; + const auto x52 = 0.25*y; + const auto x53 = -radial_eval*(x10 - 12.0*x13 + x19) + radial_eval_alpha*x13*x21; + const auto x54 = 3.0*z; + const auto x55 = radial_eval_alpha*z; + const auto x56 = 0.25*x; + // Evaluate basis function - basis_eval[ipt + 0*npts] = sqrt_35*radial_eval*x*y*(x*x - y*y)/2; - basis_eval[ipt + 1*npts] = sqrt_70*radial_eval*y*z*(3*x*x - y*y)/4; - basis_eval[ipt + 2*npts] = sqrt_5*radial_eval*x*y*(-x*x - y*y + 6*z*z)/2; - basis_eval[ipt + 3*npts] = sqrt_10*radial_eval*y*z*(-3*x*x - 3*y*y + 4*z*z)/4; - basis_eval[ipt + 4*npts] = radial_eval*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z)/8; - basis_eval[ipt + 5*npts] = sqrt_10*radial_eval*x*z*(-3*x*x - 3*y*y + 4*z*z)/4; - basis_eval[ipt + 6*npts] = sqrt_5*radial_eval*(-x*x*x*x + 6*x*x*z*z + y*y*y*y - 6*y*y*z*z)/4; - basis_eval[ipt + 7*npts] = sqrt_70*radial_eval*x*z*(x*x - 3*y*y)/4; - basis_eval[ipt + 8*npts] = sqrt_35*radial_eval*(x*x*x*x - 6*x*x*y*y + y*y*y*y)/8; + basis_eval[ipt + 0*npts] = x1*x2*x6; + basis_eval[ipt + 1*npts] = x11*x8*x9; + basis_eval[ipt + 2*npts] = x12*x16*x2; + basis_eval[ipt + 3*npts] = x17*x21*x9; + basis_eval[ipt + 4*npts] = x22*x28; + basis_eval[ipt + 5*npts] = x17*x2*x21; + basis_eval[ipt + 6*npts] = radial_eval*x29*x30; + basis_eval[ipt + 7*npts] = x2*x32*x8; + basis_eval[ipt + 8*npts] = sqrt_35*x22*x33; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = sqrt_35*y*(radial_eval*(3*x*x - y*y) + radial_eval_alpha*x*x*(x*x - y*y))/2; - basis_x_eval[ipt + 1*npts] = sqrt_70*x*y*z*(6*radial_eval + radial_eval_alpha*(3*x*x - y*y))/4; - basis_x_eval[ipt + 2*npts] = sqrt_5*y*(-radial_eval*(3*x*x + y*y - 6*z*z) - radial_eval_alpha*x*x*(x*x + y*y - 6*z*z))/2; - basis_x_eval[ipt + 3*npts] = sqrt_10*x*y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 4*z*z))/4; - basis_x_eval[ipt + 4*npts] = x*(12*radial_eval*(x*x + y*y - 4*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - basis_x_eval[ipt + 5*npts] = sqrt_10*z*(-radial_eval*(9*x*x + 3*y*y - 4*z*z) - radial_eval_alpha*x*x*(3*x*x + 3*y*y - 4*z*z))/4; - basis_x_eval[ipt + 6*npts] = sqrt_5*x*(-4*radial_eval*(x*x - 3*z*z) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - basis_x_eval[ipt + 7*npts] = sqrt_70*z*(3*radial_eval*(x*x - y*y) + radial_eval_alpha*x*x*(x*x - 3*y*y))/4; - basis_x_eval[ipt + 8*npts] = sqrt_35*x*(4*radial_eval*(x*x - 3*y*y) + radial_eval_alpha*(x*x*x*x - 6*x*x*y*y + y*y*y*y))/8; + basis_x_eval[ipt + 0*npts] = x1*(radial_eval_alpha*x3*x6 + x34); + basis_x_eval[ipt + 1*npts] = x36*(radial_eval_alpha*x11 + x37); + basis_x_eval[ipt + 2*npts] = -x12*(radial_eval*(x10 + x15) - radial_eval_alpha*x16*x3); + basis_x_eval[ipt + 3*npts] = x39; + basis_x_eval[ipt + 4*npts] = 0.125*x28*x42 + 0.125*x40*(-4.0*x*x13 + x*x4 + x41); + basis_x_eval[ipt + 5*npts] = -x17*(radial_eval*(x20 + 9.0*x3) - radial_eval_alpha*x21*x3); + basis_x_eval[ipt + 6*npts] = x29*(x30*x42 + x43*(x13*x44 - x41)); + basis_x_eval[ipt + 7*npts] = x8*(radial_eval_alpha*x3*x32 + x45); + basis_x_eval[ipt + 8*npts] = x46*(x33*x42 - x43*(x4*x44 - x41)); // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = sqrt_35*x*(-radial_eval*(-x*x + 3*y*y) + radial_eval_alpha*y*y*(x*x - y*y))/2; - basis_y_eval[ipt + 1*npts] = sqrt_70*z*(-3*radial_eval*(-x*x + y*y) + radial_eval_alpha*y*y*(3*x*x - y*y))/4; - basis_y_eval[ipt + 2*npts] = sqrt_5*x*(-radial_eval*(x*x + 3*y*y - 6*z*z) - radial_eval_alpha*y*y*(x*x + y*y - 6*z*z))/2; - basis_y_eval[ipt + 3*npts] = sqrt_10*z*(-radial_eval*(3*x*x + 9*y*y - 4*z*z) - radial_eval_alpha*y*y*(3*x*x + 3*y*y - 4*z*z))/4; - basis_y_eval[ipt + 4*npts] = y*(12*radial_eval*(x*x + y*y - 4*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - basis_y_eval[ipt + 5*npts] = sqrt_10*x*y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 4*z*z))/4; - basis_y_eval[ipt + 6*npts] = sqrt_5*y*(4*radial_eval*(y*y - 3*z*z) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - basis_y_eval[ipt + 7*npts] = sqrt_70*x*y*z*(-6*radial_eval + radial_eval_alpha*(x*x - 3*y*y))/4; - basis_y_eval[ipt + 8*npts] = sqrt_35*y*(-4*radial_eval*(3*x*x - y*y) + radial_eval_alpha*(x*x*x*x - 6*x*x*y*y + y*y*y*y))/8; + basis_y_eval[ipt + 0*npts] = sqrt_35*x47*(radial_eval_alpha*x4*x6 + x48); + basis_y_eval[ipt + 1*npts] = x8*(radial_eval_alpha*x11*x4 + x45); + basis_y_eval[ipt + 2*npts] = -sqrt_5*x47*(radial_eval*(x14 + x19 + x3) - radial_eval_alpha*x16*x4); + basis_y_eval[ipt + 3*npts] = -x17*(radial_eval*(x10 + x18 + 9.0*x4) - radial_eval_alpha*x21*x4); + basis_y_eval[ipt + 4*npts] = 0.125*x28*x50 + 0.125*x40*(-4.0*x13*y + x3*y + x49); + basis_y_eval[ipt + 5*npts] = x39; + basis_y_eval[ipt + 6*npts] = x29*(x30*x50 - x43*(x13*x51 - x49)); + basis_y_eval[ipt + 7*npts] = x36*(radial_eval_alpha*x32 + x38); + basis_y_eval[ipt + 8*npts] = x46*(x33*x50 - x43*(x3*x51 - x49)); // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = sqrt_35*radial_eval_alpha*x*y*z*(x*x - y*y)/2; - basis_z_eval[ipt + 1*npts] = sqrt_70*y*(radial_eval + radial_eval_alpha*z*z)*(3*x*x - y*y)/4; - basis_z_eval[ipt + 2*npts] = sqrt_5*x*y*z*(12*radial_eval - radial_eval_alpha*(x*x + y*y - 6*z*z))/2; - basis_z_eval[ipt + 3*npts] = sqrt_10*y*(3*radial_eval*(-x*x - y*y + 4*z*z) - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 4*z*z))/4; - basis_z_eval[ipt + 4*npts] = z*(-16*radial_eval*(3*x*x + 3*y*y - 2*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - basis_z_eval[ipt + 5*npts] = sqrt_10*x*(3*radial_eval*(-x*x - y*y + 4*z*z) - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 4*z*z))/4; - basis_z_eval[ipt + 6*npts] = sqrt_5*z*(12*radial_eval*(x*x - y*y) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - basis_z_eval[ipt + 7*npts] = sqrt_70*x*(radial_eval + radial_eval_alpha*z*z)*(x*x - 3*y*y)/4; - basis_z_eval[ipt + 8*npts] = sqrt_35*radial_eval_alpha*z*(x*x*x*x - 6*x*x*y*y + y*y*y*y)/8; + basis_z_eval[ipt + 0*npts] = x1*x42*x6*z; + basis_z_eval[ipt + 1*npts] = sqrt_70*x52*(radial_eval_alpha*x11*x13 + x34); + basis_z_eval[ipt + 2*npts] = x*x12*z*(radial_eval_alpha*x16 + x40); + basis_z_eval[ipt + 3*npts] = sqrt_10*x52*x53; + basis_z_eval[ipt + 4*npts] = -2.0*radial_eval*(x3*x54 + x4*x54 - 2.0*z*z*z) + 0.125*x28*x55; + basis_z_eval[ipt + 5*npts] = sqrt_10*x53*x56; + basis_z_eval[ipt + 6*npts] = x29*z*(radial_eval_alpha*x30 + x40*x6); + basis_z_eval[ipt + 7*npts] = sqrt_70*x56*(radial_eval_alpha*x13*x32 + x48); + basis_z_eval[ipt + 8*npts] = x33*x46*x55; + + @@ -162,25 +221,25 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = sqrt_35*radial_eval*x*y*(x*x - y*y)/2; - ang_eval_1 = sqrt_70*radial_eval*y*z*(3*x*x - y*y)/4; - ang_eval_2 = sqrt_5*radial_eval*x*y*(-x*x - y*y + 6*z*z)/2; - ang_eval_3 = sqrt_10*radial_eval*y*z*(-3*x*x - 3*y*y + 4*z*z)/4; + ang_eval_0 = x1*x2*x6; + ang_eval_1 = x11*x8*x9; + ang_eval_2 = x12*x16*x2; + ang_eval_3 = x17*x21*x9; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = radial_eval*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z)/8; - ang_eval_1 = sqrt_10*radial_eval*x*z*(-3*x*x - 3*y*y + 4*z*z)/4; - ang_eval_2 = sqrt_5*radial_eval*(-x*x*x*x + 6*x*x*z*z + y*y*y*y - 6*y*y*z*z)/4; - ang_eval_3 = sqrt_70*radial_eval*x*z*(x*x - 3*y*y)/4; + ang_eval_0 = x22*x28; + ang_eval_1 = x17*x2*x21; + ang_eval_2 = radial_eval*x29*x30; + ang_eval_3 = x2*x32*x8; basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; basis_eval[ipt + 6*npts] = ang_eval_2; basis_eval[ipt + 7*npts] = ang_eval_3; - ang_eval_0 = sqrt_35*radial_eval*(x*x*x*x - 6*x*x*y*y + y*y*y*y)/8; + ang_eval_0 = sqrt_35*x22*x33; basis_eval[ipt + 8*npts] = ang_eval_0; @@ -189,18 +248,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = sqrt_35*y*(radial_eval*(3*x*x - y*y) + radial_eval_alpha*x*x*(x*x - y*y))/2; - dang_eval_y_0 = sqrt_35*x*(-radial_eval*(-x*x + 3*y*y) + radial_eval_alpha*y*y*(x*x - y*y))/2; - dang_eval_z_0 = sqrt_35*radial_eval_alpha*x*y*z*(x*x - y*y)/2; - dang_eval_x_1 = sqrt_70*x*y*z*(6*radial_eval + radial_eval_alpha*(3*x*x - y*y))/4; - dang_eval_y_1 = sqrt_70*z*(-3*radial_eval*(-x*x + y*y) + radial_eval_alpha*y*y*(3*x*x - y*y))/4; - dang_eval_z_1 = sqrt_70*y*(radial_eval + radial_eval_alpha*z*z)*(3*x*x - y*y)/4; - dang_eval_x_2 = sqrt_5*y*(-radial_eval*(3*x*x + y*y - 6*z*z) - radial_eval_alpha*x*x*(x*x + y*y - 6*z*z))/2; - dang_eval_y_2 = sqrt_5*x*(-radial_eval*(x*x + 3*y*y - 6*z*z) - radial_eval_alpha*y*y*(x*x + y*y - 6*z*z))/2; - dang_eval_z_2 = sqrt_5*x*y*z*(12*radial_eval - radial_eval_alpha*(x*x + y*y - 6*z*z))/2; - dang_eval_x_3 = sqrt_10*x*y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 4*z*z))/4; - dang_eval_y_3 = sqrt_10*z*(-radial_eval*(3*x*x + 9*y*y - 4*z*z) - radial_eval_alpha*y*y*(3*x*x + 3*y*y - 4*z*z))/4; - dang_eval_z_3 = sqrt_10*y*(3*radial_eval*(-x*x - y*y + 4*z*z) - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 4*z*z))/4; + dang_eval_x_0 = x1*(radial_eval_alpha*x3*x6 + x34); + dang_eval_y_0 = sqrt_35*x47*(radial_eval_alpha*x4*x6 + x48); + dang_eval_z_0 = x1*x42*x6*z; + dang_eval_x_1 = x36*(radial_eval_alpha*x11 + x37); + dang_eval_y_1 = x8*(radial_eval_alpha*x11*x4 + x45); + dang_eval_z_1 = sqrt_70*x52*(radial_eval_alpha*x11*x13 + x34); + dang_eval_x_2 = -x12*(radial_eval*(x10 + x15) - radial_eval_alpha*x16*x3); + dang_eval_y_2 = -sqrt_5*x47*(radial_eval*(x14 + x19 + x3) - radial_eval_alpha*x16*x4); + dang_eval_z_2 = x*x12*z*(radial_eval_alpha*x16 + x40); + dang_eval_x_3 = x39; + dang_eval_y_3 = -x17*(radial_eval*(x10 + x18 + 9.0*x4) - radial_eval_alpha*x21*x4); + dang_eval_z_3 = sqrt_10*x52*x53; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -214,18 +273,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = x*(12*radial_eval*(x*x + y*y - 4*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - dang_eval_y_0 = y*(12*radial_eval*(x*x + y*y - 4*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - dang_eval_z_0 = z*(-16*radial_eval*(3*x*x + 3*y*y - 2*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - dang_eval_x_1 = sqrt_10*z*(-radial_eval*(9*x*x + 3*y*y - 4*z*z) - radial_eval_alpha*x*x*(3*x*x + 3*y*y - 4*z*z))/4; - dang_eval_y_1 = sqrt_10*x*y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 4*z*z))/4; - dang_eval_z_1 = sqrt_10*x*(3*radial_eval*(-x*x - y*y + 4*z*z) - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 4*z*z))/4; - dang_eval_x_2 = sqrt_5*x*(-4*radial_eval*(x*x - 3*z*z) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - dang_eval_y_2 = sqrt_5*y*(4*radial_eval*(y*y - 3*z*z) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - dang_eval_z_2 = sqrt_5*z*(12*radial_eval*(x*x - y*y) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - dang_eval_x_3 = sqrt_70*z*(3*radial_eval*(x*x - y*y) + radial_eval_alpha*x*x*(x*x - 3*y*y))/4; - dang_eval_y_3 = sqrt_70*x*y*z*(-6*radial_eval + radial_eval_alpha*(x*x - 3*y*y))/4; - dang_eval_z_3 = sqrt_70*x*(radial_eval + radial_eval_alpha*z*z)*(x*x - 3*y*y)/4; + dang_eval_x_0 = 0.125*x28*x42 + 0.125*x40*(-4.0*x*x13 + x*x4 + x41); + dang_eval_y_0 = 0.125*x28*x50 + 0.125*x40*(-4.0*x13*y + x3*y + x49); + dang_eval_z_0 = -2.0*radial_eval*(x3*x54 + x4*x54 - 2.0*z*z*z) + 0.125*x28*x55; + dang_eval_x_1 = -x17*(radial_eval*(x20 + 9.0*x3) - radial_eval_alpha*x21*x3); + dang_eval_y_1 = x39; + dang_eval_z_1 = sqrt_10*x53*x56; + dang_eval_x_2 = x29*(x30*x42 + x43*(x13*x44 - x41)); + dang_eval_y_2 = x29*(x30*x50 - x43*(x13*x51 - x49)); + dang_eval_z_2 = x29*z*(radial_eval_alpha*x30 + x40*x6); + dang_eval_x_3 = x8*(radial_eval_alpha*x3*x32 + x45); + dang_eval_y_3 = x36*(radial_eval_alpha*x32 + x38); + dang_eval_z_3 = sqrt_70*x56*(radial_eval_alpha*x13*x32 + x48); basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; @@ -239,9 +298,9 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 7*npts] = dang_eval_y_3; basis_z_eval[ipt + 7*npts] = dang_eval_z_3; - dang_eval_x_0 = sqrt_35*x*(4*radial_eval*(x*x - 3*y*y) + radial_eval_alpha*(x*x*x*x - 6*x*x*y*y + y*y*y*y))/8; - dang_eval_y_0 = sqrt_35*y*(-4*radial_eval*(3*x*x - y*y) + radial_eval_alpha*(x*x*x*x - 6*x*x*y*y + y*y*y*y))/8; - dang_eval_z_0 = sqrt_35*radial_eval_alpha*z*(x*x*x*x - 6*x*x*y*y + y*y*y*y)/8; + dang_eval_x_0 = x46*(x33*x42 - x43*(x4*x44 - x41)); + dang_eval_y_0 = x46*(x33*x50 - x43*(x3*x51 - x49)); + dang_eval_z_0 = x33*x46*x55; basis_x_eval[ipt + 8*npts] = dang_eval_x_0; basis_y_eval[ipt + 8*npts] = dang_eval_y_0; basis_z_eval[ipt + 8*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4_hessian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4_hessian.hpp index bb3845ed..5820b65e 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4_hessian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4_hessian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_spherical_hessian_4( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_spherical_hessian_4( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; @@ -108,119 +107,298 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = 0.5*sqrt_35; + const auto x1 = x0*y; + const auto x2 = x*x1; + const auto x3 = x*x; + const auto x4 = x3; + const auto x5 = y*y; + const auto x6 = x5; + const auto x7 = -x6; + const auto x8 = x4 + x7; + const auto x9 = 0.25*sqrt_70; + const auto x10 = x9*z; + const auto x11 = x10*y; + const auto x12 = 3.0*x4; + const auto x13 = x12 + x7; + const auto x14 = 0.5*sqrt_5; + const auto x15 = x14*y; + const auto x16 = x*x15; + const auto x17 = z*z; + const auto x18 = x17; + const auto x19 = -6.0*x18; + const auto x20 = x19 + x6; + const auto x21 = -x20 - x4; + const auto x22 = 0.25*sqrt_10; + const auto x23 = x22*z; + const auto x24 = x23*y; + const auto x25 = -4.0*x18; + const auto x26 = 3.0*x6; + const auto x27 = x25 + x26; + const auto x28 = -x12 - x27; + const auto x29 = 0.125*radial_eval; + const auto x30 = x*x*x*x; + const auto x31 = y*y*y*y; + const auto x32 = 6.0*x4*x6; + const auto x33 = x18*x4; + const auto x34 = x18*x6; + const auto x35 = 3.0*x30 + 3.0*x31 + x32 - 24.0*x33 - 24.0*x34 + 8.0*(z*z*z*z); + const auto x36 = x*x23; + const auto x37 = 0.25*sqrt_5; + const auto x38 = -x30 + x31 + 6.0*x33 - 6.0*x34; + const auto x39 = x*x10; + const auto x40 = -x26; + const auto x41 = x4 + x40; + const auto x42 = x30 + x31 - x32; + const auto x43 = radial_eval*x13; + const auto x44 = x4*x8; + const auto x45 = x*x11; + const auto x46 = 6.0*radial_eval; + const auto x47 = radial_eval_alpha*x13; + const auto x48 = x46 + x47; + const auto x49 = -x12 - x20; + const auto x50 = x21*x4; + const auto x51 = -x46; + const auto x52 = x*x24*(radial_eval_alpha*x28 + x51); + const auto x53 = 12.0*radial_eval; + const auto x54 = x*x*x; + const auto x55 = 4.0*x; + const auto x56 = x*x6 - x18*x55 + x54; + const auto x57 = radial_eval_alpha*x; + const auto x58 = 9.0*x4; + const auto x59 = -x27 - x58; + const auto x60 = x28*x4; + const auto x61 = 4.0*radial_eval; + const auto x62 = 3.0*x; + const auto x63 = x18*x62 - x54; + const auto x64 = x12 + x40; + const auto x65 = radial_eval*x64; + const auto x66 = x4*x41; + const auto x67 = radial_eval_alpha*x66 + x65; + const auto x68 = 0.125*sqrt_35; + const auto x69 = x54 - x6*x62; + const auto x70 = x*x0; + const auto x71 = radial_eval*x41; + const auto x72 = x6*x8; + const auto x73 = x13*x6; + const auto x74 = radial_eval_alpha*x73 + x65; + const auto x75 = x*x14; + const auto x76 = x19 + x26; + const auto x77 = -x4 - x76; + const auto x78 = x21*x6; + const auto x79 = 9.0*x6; + const auto x80 = x12 + x25; + const auto x81 = -x79 - x80; + const auto x82 = x28*x6; + const auto x83 = y*y*y; + const auto x84 = 4.0*y; + const auto x85 = -x18*x84 + x4*y + x83; + const auto x86 = radial_eval_alpha*y; + const auto x87 = 3.0*y; + const auto x88 = -x18*x87 + x83; + const auto x89 = radial_eval_alpha*x41; + const auto x90 = x51 + x89; + const auto x91 = -x4*x87 + x83; + const auto x92 = x1*z; + const auto x93 = x9*y; + const auto x94 = x13*x18; + const auto x95 = x22*y; + const auto x96 = -12.0*x18; + const auto x97 = x26 + x96; + const auto x98 = -x12 - x97; + const auto x99 = x18*x28; + const auto x100 = radial_eval*x98 + radial_eval_alpha*x99; + const auto x101 = 3.0*z; + const auto x102 = -x101*x4 - x101*x6 + 2.0*(z*z*z); + const auto x103 = radial_eval_alpha*z; + const auto x104 = x37*z; + const auto x105 = x53*x8; + const auto x106 = x18*x41; + const auto x107 = 2.0*radial_eval_alpha; + const auto x108 = x107*x13; + const auto x109 = radial_eval_alpha + radial_eval_alpha_squared*x4; + const auto x110 = x108 + x109*x8; + const auto x111 = x109*x13; + const auto x112 = 12.0*radial_eval_alpha; + const auto x113 = x112*x4; + const auto x114 = x113 + x46; + const auto x115 = x107*x49 + x109*x21; + const auto x116 = x109*x35 + x53*(x6 + x80) + 24.0*x56*x57; + const auto x117 = -18.0*radial_eval; + const auto x118 = x109*x28; + const auto x119 = x107*x59 + x118; + const auto x120 = -x4; + const auto x121 = 8.0*x57; + const auto x122 = x109*x38 + x121*x63 + x53*(x120 + x18); + const auto x123 = x107*x64; + const auto x124 = x109*x41 + x123; + const auto x125 = x105 + x109*x42 + x121*x69; + const auto x126 = radial_eval_alpha*x3; + const auto x127 = radial_eval_alpha*x5; + const auto x128 = 6.0*radial_eval_alpha; + const auto x129 = x128*x6; + const auto x130 = radial_eval_alpha*x64; + const auto x131 = 24.0*radial_eval; + const auto x132 = x*x131; + const auto x133 = x132*y; + const auto x134 = 12.0*x57; + const auto x135 = 12.0*x86; + const auto x136 = radial_eval_alpha_squared*x; + const auto x137 = x136*y; + const auto x138 = -x128*x4 + x51; + const auto x139 = radial_eval_alpha*x55; + const auto x140 = radial_eval_alpha*x84; + const auto x141 = x*x93; + const auto x142 = x128*x18; + const auto x143 = -x142; + const auto x144 = x*x95*(radial_eval_alpha*x98 + radial_eval_alpha_squared*x99 + x143 + x51); + const auto x145 = 96.0*radial_eval*z; + const auto x146 = 12.0*x103; + const auto x147 = radial_eval_alpha*x17; + const auto x148 = 4.0*radial_eval_alpha; + const auto x149 = x147*x64; + const auto x150 = x68*z; + const auto x151 = x107*x41; + const auto x152 = radial_eval_alpha + radial_eval_alpha_squared*x6; + const auto x153 = x151 + x152*x8; + const auto x154 = x123 + x13*x152; + const auto x155 = x107*x77 + x152*x21; + const auto x156 = x152*x28; + const auto x157 = x107*x81 + x156; + const auto x158 = x152*x35 + x53*(x27 + x4) + 24.0*x85*x86; + const auto x159 = x112*x6; + const auto x160 = x159 + x46; + const auto x161 = 8.0*x86; + const auto x162 = x152*x38 + x161*x88 - x53*(x18 - x6); + const auto x163 = x152*x42 + x161*x91 + x53*(x120 + x6); + const auto x164 = radial_eval_alpha_squared*y; + const auto x165 = radial_eval_alpha + radial_eval_alpha_squared*x18; + const auto x166 = x165*x8; + const auto x167 = x108 + x13*x165; + const auto x168 = 24.0*radial_eval_alpha*x18 + x165*x21; + const auto x169 = x107*x98 + x165*x28; + const auto x170 = x131 + x169; + const auto x171 = -48.0*radial_eval*(-2.0*x18 + x4 + x6) + 32.0*x102*x103 + x165*x35; + const auto x172 = x105 + 24.0*x147*x8 + x165*x38; + const auto x173 = x151 + x165*x41; + const auto x174 = x165*x42; + const auto x175 = -x159; + // Evaluate basis function - basis_eval[ipt + 0*npts] = sqrt_35*radial_eval*x*y*(x*x - y*y)/2; - basis_eval[ipt + 1*npts] = sqrt_70*radial_eval*y*z*(3*x*x - y*y)/4; - basis_eval[ipt + 2*npts] = sqrt_5*radial_eval*x*y*(-x*x - y*y + 6*z*z)/2; - basis_eval[ipt + 3*npts] = sqrt_10*radial_eval*y*z*(-3*x*x - 3*y*y + 4*z*z)/4; - basis_eval[ipt + 4*npts] = radial_eval*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z)/8; - basis_eval[ipt + 5*npts] = sqrt_10*radial_eval*x*z*(-3*x*x - 3*y*y + 4*z*z)/4; - basis_eval[ipt + 6*npts] = sqrt_5*radial_eval*(-x*x*x*x + 6*x*x*z*z + y*y*y*y - 6*y*y*z*z)/4; - basis_eval[ipt + 7*npts] = sqrt_70*radial_eval*x*z*(x*x - 3*y*y)/4; - basis_eval[ipt + 8*npts] = sqrt_35*radial_eval*(x*x*x*x - 6*x*x*y*y + y*y*y*y)/8; + basis_eval[ipt + 0*npts] = radial_eval*x2*x8; + basis_eval[ipt + 1*npts] = radial_eval*x11*x13; + basis_eval[ipt + 2*npts] = radial_eval*x16*x21; + basis_eval[ipt + 3*npts] = radial_eval*x24*x28; + basis_eval[ipt + 4*npts] = x29*x35; + basis_eval[ipt + 5*npts] = radial_eval*x28*x36; + basis_eval[ipt + 6*npts] = radial_eval*x37*x38; + basis_eval[ipt + 7*npts] = radial_eval*x39*x41; + basis_eval[ipt + 8*npts] = sqrt_35*x29*x42; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = sqrt_35*y*(radial_eval*(3*x*x - y*y) + radial_eval_alpha*x*x*(x*x - y*y))/2; - basis_x_eval[ipt + 1*npts] = sqrt_70*x*y*z*(6*radial_eval + radial_eval_alpha*(3*x*x - y*y))/4; - basis_x_eval[ipt + 2*npts] = sqrt_5*y*(-radial_eval*(3*x*x + y*y - 6*z*z) - radial_eval_alpha*x*x*(x*x + y*y - 6*z*z))/2; - basis_x_eval[ipt + 3*npts] = sqrt_10*x*y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 4*z*z))/4; - basis_x_eval[ipt + 4*npts] = x*(12*radial_eval*(x*x + y*y - 4*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - basis_x_eval[ipt + 5*npts] = sqrt_10*z*(-radial_eval*(9*x*x + 3*y*y - 4*z*z) - radial_eval_alpha*x*x*(3*x*x + 3*y*y - 4*z*z))/4; - basis_x_eval[ipt + 6*npts] = sqrt_5*x*(-4*radial_eval*(x*x - 3*z*z) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - basis_x_eval[ipt + 7*npts] = sqrt_70*z*(3*radial_eval*(x*x - y*y) + radial_eval_alpha*x*x*(x*x - 3*y*y))/4; - basis_x_eval[ipt + 8*npts] = sqrt_35*x*(4*radial_eval*(x*x - 3*y*y) + radial_eval_alpha*(x*x*x*x - 6*x*x*y*y + y*y*y*y))/8; + basis_x_eval[ipt + 0*npts] = x1*(radial_eval_alpha*x44 + x43); + basis_x_eval[ipt + 1*npts] = x45*x48; + basis_x_eval[ipt + 2*npts] = x15*(radial_eval*x49 + radial_eval_alpha*x50); + basis_x_eval[ipt + 3*npts] = x52; + basis_x_eval[ipt + 4*npts] = 0.125*x35*x57 + 0.125*x53*x56; + basis_x_eval[ipt + 5*npts] = x23*(radial_eval*x59 + radial_eval_alpha*x60); + basis_x_eval[ipt + 6*npts] = x37*(x38*x57 + x61*x63); + basis_x_eval[ipt + 7*npts] = x10*x67; + basis_x_eval[ipt + 8*npts] = x68*(x42*x57 + x61*x69); // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = sqrt_35*x*(-radial_eval*(-x*x + 3*y*y) + radial_eval_alpha*y*y*(x*x - y*y))/2; - basis_y_eval[ipt + 1*npts] = sqrt_70*z*(-3*radial_eval*(-x*x + y*y) + radial_eval_alpha*y*y*(3*x*x - y*y))/4; - basis_y_eval[ipt + 2*npts] = sqrt_5*x*(-radial_eval*(x*x + 3*y*y - 6*z*z) - radial_eval_alpha*y*y*(x*x + y*y - 6*z*z))/2; - basis_y_eval[ipt + 3*npts] = sqrt_10*z*(-radial_eval*(3*x*x + 9*y*y - 4*z*z) - radial_eval_alpha*y*y*(3*x*x + 3*y*y - 4*z*z))/4; - basis_y_eval[ipt + 4*npts] = y*(12*radial_eval*(x*x + y*y - 4*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - basis_y_eval[ipt + 5*npts] = sqrt_10*x*y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 4*z*z))/4; - basis_y_eval[ipt + 6*npts] = sqrt_5*y*(4*radial_eval*(y*y - 3*z*z) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - basis_y_eval[ipt + 7*npts] = sqrt_70*x*y*z*(-6*radial_eval + radial_eval_alpha*(x*x - 3*y*y))/4; - basis_y_eval[ipt + 8*npts] = sqrt_35*y*(-4*radial_eval*(3*x*x - y*y) + radial_eval_alpha*(x*x*x*x - 6*x*x*y*y + y*y*y*y))/8; + basis_y_eval[ipt + 0*npts] = x70*(radial_eval_alpha*x72 + x71); + basis_y_eval[ipt + 1*npts] = x10*x74; + basis_y_eval[ipt + 2*npts] = x75*(radial_eval*x77 + radial_eval_alpha*x78); + basis_y_eval[ipt + 3*npts] = x23*(radial_eval*x81 + radial_eval_alpha*x82); + basis_y_eval[ipt + 4*npts] = 0.125*x35*x86 + 0.125*x53*x85; + basis_y_eval[ipt + 5*npts] = x52; + basis_y_eval[ipt + 6*npts] = x37*(x38*x86 + x61*x88); + basis_y_eval[ipt + 7*npts] = x45*x90; + basis_y_eval[ipt + 8*npts] = x68*(x42*x86 + x61*x91); // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = sqrt_35*radial_eval_alpha*x*y*z*(x*x - y*y)/2; - basis_z_eval[ipt + 1*npts] = sqrt_70*y*(radial_eval + radial_eval_alpha*z*z)*(3*x*x - y*y)/4; - basis_z_eval[ipt + 2*npts] = sqrt_5*x*y*z*(12*radial_eval - radial_eval_alpha*(x*x + y*y - 6*z*z))/2; - basis_z_eval[ipt + 3*npts] = sqrt_10*y*(3*radial_eval*(-x*x - y*y + 4*z*z) - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 4*z*z))/4; - basis_z_eval[ipt + 4*npts] = z*(-16*radial_eval*(3*x*x + 3*y*y - 2*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - basis_z_eval[ipt + 5*npts] = sqrt_10*x*(3*radial_eval*(-x*x - y*y + 4*z*z) - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 4*z*z))/4; - basis_z_eval[ipt + 6*npts] = sqrt_5*z*(12*radial_eval*(x*x - y*y) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - basis_z_eval[ipt + 7*npts] = sqrt_70*x*(radial_eval + radial_eval_alpha*z*z)*(x*x - 3*y*y)/4; - basis_z_eval[ipt + 8*npts] = sqrt_35*radial_eval_alpha*z*(x*x*x*x - 6*x*x*y*y + y*y*y*y)/8; + basis_z_eval[ipt + 0*npts] = x57*x8*x92; + basis_z_eval[ipt + 1*npts] = x93*(radial_eval_alpha*x94 + x43); + basis_z_eval[ipt + 2*npts] = x16*z*(radial_eval_alpha*x21 + x53); + basis_z_eval[ipt + 3*npts] = x100*x95; + basis_z_eval[ipt + 4*npts] = 2.0*radial_eval*x102 + 0.125*x103*x35; + basis_z_eval[ipt + 5*npts] = x*x100*x22; + basis_z_eval[ipt + 6*npts] = x104*(radial_eval_alpha*x38 + x105); + basis_z_eval[ipt + 7*npts] = x*x9*(radial_eval_alpha*x106 + x71); + basis_z_eval[ipt + 8*npts] = x103*x42*x68; // Evaluate second derivative of bfn wrt xx - basis_xx_eval[ipt + 0*npts] = sqrt_35*x*y*(6*radial_eval + 2*radial_eval_alpha*(3*x*x - y*y) + (radial_eval_alpha + radial_eval_alpha_squared*x*x)*(x*x - y*y))/2; - basis_xx_eval[ipt + 1*npts] = sqrt_70*y*z*(6*radial_eval + 12*radial_eval_alpha*x*x + (radial_eval_alpha + radial_eval_alpha_squared*x*x)*(3*x*x - y*y))/4; - basis_xx_eval[ipt + 2*npts] = sqrt_5*x*y*(-6*radial_eval - 2*radial_eval_alpha*(3*x*x + y*y - 6*z*z) - (radial_eval_alpha + radial_eval_alpha_squared*x*x)*(x*x + y*y - 6*z*z))/2; - basis_xx_eval[ipt + 3*npts] = sqrt_10*y*z*(-6*radial_eval - 12*radial_eval_alpha*x*x - (radial_eval_alpha + radial_eval_alpha_squared*x*x)*(3*x*x + 3*y*y - 4*z*z))/4; - basis_xx_eval[ipt + 4*npts] = 3*radial_eval*(3*x*x + y*y - 4*z*z)/2 + 3*radial_eval_alpha*x*x*(x*x + y*y - 4*z*z) + (radial_eval_alpha + radial_eval_alpha_squared*x*x)*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z)/8; - basis_xx_eval[ipt + 5*npts] = sqrt_10*x*z*(-18*radial_eval - 2*radial_eval_alpha*(9*x*x + 3*y*y - 4*z*z) - (radial_eval_alpha + radial_eval_alpha_squared*x*x)*(3*x*x + 3*y*y - 4*z*z))/4; - basis_xx_eval[ipt + 6*npts] = sqrt_5*(-12*radial_eval*(x*x - z*z) - 8*radial_eval_alpha*x*x*(x*x - 3*z*z) - (radial_eval_alpha + radial_eval_alpha_squared*x*x)*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - basis_xx_eval[ipt + 7*npts] = sqrt_70*x*z*(6*radial_eval + 6*radial_eval_alpha*(x*x - y*y) + (radial_eval_alpha + radial_eval_alpha_squared*x*x)*(x*x - 3*y*y))/4; - basis_xx_eval[ipt + 8*npts] = sqrt_35*(12*radial_eval*(x*x - y*y) + 8*radial_eval_alpha*x*x*(x*x - 3*y*y) + (radial_eval_alpha + radial_eval_alpha_squared*x*x)*(x*x*x*x - 6*x*x*y*y + y*y*y*y))/8; + basis_xx_eval[ipt + 0*npts] = x2*(x110 + x46); + basis_xx_eval[ipt + 1*npts] = x11*(x111 + x114); + basis_xx_eval[ipt + 2*npts] = x16*(x115 + x51); + basis_xx_eval[ipt + 3*npts] = x24*(x109*x28 - x114); + basis_xx_eval[ipt + 4*npts] = 0.125*x116; + basis_xx_eval[ipt + 5*npts] = x36*(x117 + x119); + basis_xx_eval[ipt + 6*npts] = x122*x37; + basis_xx_eval[ipt + 7*npts] = x39*(x124 + x46); + basis_xx_eval[ipt + 8*npts] = x125*x68; // Evaluate second derivative of bfn wrt xy - basis_xy_eval[ipt + 0*npts] = sqrt_35*(3*radial_eval*x*x - 3*radial_eval*y*y + radial_eval_alpha*x*x*x*x - radial_eval_alpha*y*y*y*y + radial_eval_alpha_squared*x*x*x*x*y*y - radial_eval_alpha_squared*x*x*y*y*y*y)/2; - basis_xy_eval[ipt + 1*npts] = sqrt_70*x*z*(6*radial_eval + 3*radial_eval_alpha*x*x + 3*radial_eval_alpha*y*y + 3*radial_eval_alpha_squared*x*x*y*y - radial_eval_alpha_squared*y*y*y*y)/4; - basis_xy_eval[ipt + 2*npts] = sqrt_5*(-3*radial_eval*(x*x + y*y - 2*z*z) - radial_eval_alpha*x*x*(x*x + 3*y*y - 6*z*z) - radial_eval_alpha*y*y*(3*x*x + y*y - 6*z*z) - radial_eval_alpha_squared*x*x*y*y*(x*x + y*y - 6*z*z))/2; - basis_xy_eval[ipt + 3*npts] = sqrt_10*x*z*(-6*radial_eval - 6*radial_eval_alpha*y*y - radial_eval_alpha*(3*x*x + 9*y*y - 4*z*z) - radial_eval_alpha_squared*y*y*(3*x*x + 3*y*y - 4*z*z))/4; - basis_xy_eval[ipt + 4*npts] = x*y*(24*radial_eval + 24*radial_eval_alpha*(x*x + y*y - 4*z*z) + radial_eval_alpha_squared*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - basis_xy_eval[ipt + 5*npts] = sqrt_10*y*z*(-6*radial_eval - 6*radial_eval_alpha*x*x - radial_eval_alpha*(9*x*x + 3*y*y - 4*z*z) - radial_eval_alpha_squared*x*x*(3*x*x + 3*y*y - 4*z*z))/4; - basis_xy_eval[ipt + 6*npts] = sqrt_5*x*y*(-4*radial_eval_alpha*x*x + 4*radial_eval_alpha*y*y - radial_eval_alpha_squared*x*x*x*x + 6*radial_eval_alpha_squared*x*x*z*z + radial_eval_alpha_squared*y*y*y*y - 6*radial_eval_alpha_squared*y*y*z*z)/4; - basis_xy_eval[ipt + 7*npts] = sqrt_70*y*z*(-6*radial_eval - 3*radial_eval_alpha*x*x - 3*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*x*x - 3*radial_eval_alpha_squared*x*x*y*y)/4; - basis_xy_eval[ipt + 8*npts] = sqrt_35*x*y*(-24*radial_eval - 8*radial_eval_alpha*x*x - 8*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*x*x - 6*radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*y*y*y*y)/8; + basis_xy_eval[ipt + 0*npts] = x0*(radial_eval_alpha_squared*x4*x6*x8 + x126*x41 + x127*x13 + x65); + basis_xy_eval[ipt + 1*npts] = x39*(radial_eval_alpha_squared*x73 + x129 + x130 + x46); + basis_xy_eval[ipt + 2*npts] = x14*(-radial_eval*(x12 + x76) + radial_eval_alpha_squared*x21*x4*x6 + x126*x77 + x127*x49); + basis_xy_eval[ipt + 3*npts] = x36*(radial_eval_alpha*x81 + radial_eval_alpha_squared*x82 - x129 + x51); + basis_xy_eval[ipt + 4*npts] = 0.125*x133 + 0.125*x134*x85 + 0.125*x135*x56 + 0.125*x137*x35; + basis_xy_eval[ipt + 5*npts] = x24*(radial_eval_alpha*x59 + radial_eval_alpha_squared*x60 + x138); + basis_xy_eval[ipt + 6*npts] = x37*(x137*x38 + x139*x88 + x140*x63); + basis_xy_eval[ipt + 7*npts] = x11*(radial_eval_alpha_squared*x66 + x130 + x138); + basis_xy_eval[ipt + 8*npts] = x68*(-x133 + x137*x42 + x139*x91 + x140*x69); // Evaluate second derivative of bfn wrt xz - basis_xz_eval[ipt + 0*npts] = sqrt_35*y*z*(radial_eval_alpha*(3*x*x - y*y) + radial_eval_alpha_squared*x*x*(x*x - y*y))/2; - basis_xz_eval[ipt + 1*npts] = sqrt_70*x*y*(6*radial_eval + 6*radial_eval_alpha*z*z + radial_eval_alpha*(3*x*x - y*y) + radial_eval_alpha_squared*z*z*(3*x*x - y*y))/4; - basis_xz_eval[ipt + 2*npts] = sqrt_5*y*z*(12*radial_eval + 12*radial_eval_alpha*x*x - radial_eval_alpha*(3*x*x + y*y - 6*z*z) - radial_eval_alpha_squared*x*x*(x*x + y*y - 6*z*z))/2; - basis_xz_eval[ipt + 3*npts] = sqrt_10*x*y*(-6*radial_eval - 6*radial_eval_alpha*z*z + 3*radial_eval_alpha*(-x*x - y*y + 4*z*z) - radial_eval_alpha_squared*z*z*(3*x*x + 3*y*y - 4*z*z))/4; - basis_xz_eval[ipt + 4*npts] = x*z*(-96*radial_eval - 36*radial_eval_alpha*x*x - 36*radial_eval_alpha*y*y - 16*radial_eval_alpha*z*z + 3*radial_eval_alpha_squared*x*x*x*x + 6*radial_eval_alpha_squared*x*x*y*y - 24*radial_eval_alpha_squared*x*x*z*z + 3*radial_eval_alpha_squared*y*y*y*y - 24*radial_eval_alpha_squared*y*y*z*z + 8*radial_eval_alpha_squared*z*z*z*z)/8; - basis_xz_eval[ipt + 5*npts] = sqrt_10*(-3*radial_eval*(3*x*x + y*y - 4*z*z) + 3*radial_eval_alpha*x*x*(-x*x - y*y + 4*z*z) - radial_eval_alpha*z*z*(9*x*x + 3*y*y - 4*z*z) - radial_eval_alpha_squared*x*x*z*z*(3*x*x + 3*y*y - 4*z*z))/4; - basis_xz_eval[ipt + 6*npts] = sqrt_5*x*z*(24*radial_eval + 12*radial_eval_alpha*(x*x - y*y) - 4*radial_eval_alpha*(x*x - 3*z*z) - radial_eval_alpha_squared*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - basis_xz_eval[ipt + 7*npts] = sqrt_70*(3*radial_eval*(x*x - y*y) + radial_eval_alpha*x*x*(x*x - 3*y*y) + 3*radial_eval_alpha*z*z*(x*x - y*y) + radial_eval_alpha_squared*x*x*z*z*(x*x - 3*y*y))/4; - basis_xz_eval[ipt + 8*npts] = sqrt_35*x*z*(4*radial_eval_alpha*(x*x - 3*y*y) + radial_eval_alpha_squared*(x*x*x*x - 6*x*x*y*y + y*y*y*y))/8; + basis_xz_eval[ipt + 0*npts] = x92*(radial_eval_alpha_squared*x44 + x47); + basis_xz_eval[ipt + 1*npts] = x141*(radial_eval_alpha_squared*x94 + x142 + x48); + basis_xz_eval[ipt + 2*npts] = x15*z*(radial_eval_alpha*x49 + radial_eval_alpha_squared*x50 + x113 + x53); + basis_xz_eval[ipt + 3*npts] = x144; + basis_xz_eval[ipt + 4*npts] = -0.125*x*x145 + 2.0*x102*x57 + 0.125*x136*x35*z + 0.125*x146*x56; + basis_xz_eval[ipt + 5*npts] = x22*(-radial_eval*(x58 + x97) + radial_eval_alpha_squared*x18*x28*x4 + x126*x98 + x147*x59); + basis_xz_eval[ipt + 6*npts] = x104*(x132 + x134*x8 + x136*x38 + x148*x63); + basis_xz_eval[ipt + 7*npts] = x9*(radial_eval_alpha_squared*x18*x4*x41 + x149 + x67); + basis_xz_eval[ipt + 8*npts] = x150*(x136*x42 + x148*x69); // Evaluate second derivative of bfn wrt yy - basis_yy_eval[ipt + 0*npts] = sqrt_35*x*y*(-6*radial_eval - 2*radial_eval_alpha*(-x*x + 3*y*y) + (radial_eval_alpha + radial_eval_alpha_squared*y*y)*(x*x - y*y))/2; - basis_yy_eval[ipt + 1*npts] = sqrt_70*y*z*(-6*radial_eval - 6*radial_eval_alpha*(-x*x + y*y) + (radial_eval_alpha + radial_eval_alpha_squared*y*y)*(3*x*x - y*y))/4; - basis_yy_eval[ipt + 2*npts] = sqrt_5*x*y*(-6*radial_eval - 2*radial_eval_alpha*(x*x + 3*y*y - 6*z*z) - (radial_eval_alpha + radial_eval_alpha_squared*y*y)*(x*x + y*y - 6*z*z))/2; - basis_yy_eval[ipt + 3*npts] = sqrt_10*y*z*(-18*radial_eval - 2*radial_eval_alpha*(3*x*x + 9*y*y - 4*z*z) - (radial_eval_alpha + radial_eval_alpha_squared*y*y)*(3*x*x + 3*y*y - 4*z*z))/4; - basis_yy_eval[ipt + 4*npts] = 3*radial_eval*(x*x + 3*y*y - 4*z*z)/2 + 3*radial_eval_alpha*y*y*(x*x + y*y - 4*z*z) + (radial_eval_alpha + radial_eval_alpha_squared*y*y)*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z)/8; - basis_yy_eval[ipt + 5*npts] = sqrt_10*x*z*(-6*radial_eval - 12*radial_eval_alpha*y*y - (radial_eval_alpha + radial_eval_alpha_squared*y*y)*(3*x*x + 3*y*y - 4*z*z))/4; - basis_yy_eval[ipt + 6*npts] = sqrt_5*(12*radial_eval*(y*y - z*z) + 8*radial_eval_alpha*y*y*(y*y - 3*z*z) - (radial_eval_alpha + radial_eval_alpha_squared*y*y)*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - basis_yy_eval[ipt + 7*npts] = sqrt_70*x*z*(-6*radial_eval - 12*radial_eval_alpha*y*y + (radial_eval_alpha + radial_eval_alpha_squared*y*y)*(x*x - 3*y*y))/4; - basis_yy_eval[ipt + 8*npts] = sqrt_35*(-12*radial_eval*(x*x - y*y) - 8*radial_eval_alpha*y*y*(3*x*x - y*y) + (radial_eval_alpha + radial_eval_alpha_squared*y*y)*(x*x*x*x - 6*x*x*y*y + y*y*y*y))/8; + basis_yy_eval[ipt + 0*npts] = x2*(x153 + x51); + basis_yy_eval[ipt + 1*npts] = x11*(x154 + x51); + basis_yy_eval[ipt + 2*npts] = x16*(x155 + x51); + basis_yy_eval[ipt + 3*npts] = x24*(x117 + x157); + basis_yy_eval[ipt + 4*npts] = 0.125*x158; + basis_yy_eval[ipt + 5*npts] = x36*(x152*x28 - x160); + basis_yy_eval[ipt + 6*npts] = x162*x37; + basis_yy_eval[ipt + 7*npts] = x39*(x152*x41 - x160); + basis_yy_eval[ipt + 8*npts] = x163*x68; // Evaluate second derivative of bfn wrt yz - basis_yz_eval[ipt + 0*npts] = sqrt_35*x*z*(-radial_eval_alpha*(-x*x + 3*y*y) + radial_eval_alpha_squared*y*y*(x*x - y*y))/2; - basis_yz_eval[ipt + 1*npts] = sqrt_70*(-3*radial_eval*(-x*x + y*y) + radial_eval_alpha*y*y*(3*x*x - y*y) - 3*radial_eval_alpha*z*z*(-x*x + y*y) + radial_eval_alpha_squared*y*y*z*z*(3*x*x - y*y))/4; - basis_yz_eval[ipt + 2*npts] = sqrt_5*x*z*(12*radial_eval + 12*radial_eval_alpha*y*y - radial_eval_alpha*(x*x + 3*y*y - 6*z*z) - radial_eval_alpha_squared*y*y*(x*x + y*y - 6*z*z))/2; - basis_yz_eval[ipt + 3*npts] = sqrt_10*(-3*radial_eval*(x*x + 3*y*y - 4*z*z) + 3*radial_eval_alpha*y*y*(-x*x - y*y + 4*z*z) - radial_eval_alpha*z*z*(3*x*x + 9*y*y - 4*z*z) - radial_eval_alpha_squared*y*y*z*z*(3*x*x + 3*y*y - 4*z*z))/4; - basis_yz_eval[ipt + 4*npts] = y*z*(-96*radial_eval - 36*radial_eval_alpha*x*x - 36*radial_eval_alpha*y*y - 16*radial_eval_alpha*z*z + 3*radial_eval_alpha_squared*x*x*x*x + 6*radial_eval_alpha_squared*x*x*y*y - 24*radial_eval_alpha_squared*x*x*z*z + 3*radial_eval_alpha_squared*y*y*y*y - 24*radial_eval_alpha_squared*y*y*z*z + 8*radial_eval_alpha_squared*z*z*z*z)/8; - basis_yz_eval[ipt + 5*npts] = sqrt_10*x*y*(-6*radial_eval - 6*radial_eval_alpha*z*z + 3*radial_eval_alpha*(-x*x - y*y + 4*z*z) - radial_eval_alpha_squared*z*z*(3*x*x + 3*y*y - 4*z*z))/4; - basis_yz_eval[ipt + 6*npts] = sqrt_5*y*z*(-24*radial_eval + 12*radial_eval_alpha*(x*x - y*y) + 4*radial_eval_alpha*(y*y - 3*z*z) - radial_eval_alpha_squared*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - basis_yz_eval[ipt + 7*npts] = sqrt_70*x*y*(-6*radial_eval - 6*radial_eval_alpha*z*z + radial_eval_alpha*(x*x - 3*y*y) + radial_eval_alpha_squared*z*z*(x*x - 3*y*y))/4; - basis_yz_eval[ipt + 8*npts] = sqrt_35*y*z*(-4*radial_eval_alpha*(3*x*x - y*y) + radial_eval_alpha_squared*(x*x*x*x - 6*x*x*y*y + y*y*y*y))/8; + basis_yz_eval[ipt + 0*npts] = x70*z*(radial_eval_alpha_squared*x72 + x89); + basis_yz_eval[ipt + 1*npts] = x9*(radial_eval_alpha_squared*x13*x18*x6 + x149 + x74); + basis_yz_eval[ipt + 2*npts] = x75*z*(radial_eval_alpha*x77 + radial_eval_alpha_squared*x78 + x159 + x53); + basis_yz_eval[ipt + 3*npts] = x22*(-radial_eval*(x12 + x79 + x96) + radial_eval_alpha_squared*x18*x28*x6 + x127*x98 + x147*x81); + basis_yz_eval[ipt + 4*npts] = 2.0*x102*x86 - 0.125*x145*y + 0.125*x146*x85 + 0.125*x164*x35*z; + basis_yz_eval[ipt + 5*npts] = x144; + basis_yz_eval[ipt + 6*npts] = x104*(-x131*y + x135*x8 + x148*x88 + x164*x38); + basis_yz_eval[ipt + 7*npts] = x141*(radial_eval_alpha_squared*x106 + x143 + x90); + basis_yz_eval[ipt + 8*npts] = x150*(x148*x91 + x164*x42); // Evaluate second derivative of bfn wrt zz - basis_zz_eval[ipt + 0*npts] = sqrt_35*x*y*(radial_eval_alpha + radial_eval_alpha_squared*z*z)*(x*x - y*y)/2; - basis_zz_eval[ipt + 1*npts] = sqrt_70*y*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z)*(3*x*x - y*y)/4; - basis_zz_eval[ipt + 2*npts] = sqrt_5*x*y*(12*radial_eval + 24*radial_eval_alpha*z*z - (radial_eval_alpha + radial_eval_alpha_squared*z*z)*(x*x + y*y - 6*z*z))/2; - basis_zz_eval[ipt + 3*npts] = sqrt_10*y*z*(24*radial_eval + 6*radial_eval_alpha*(-x*x - y*y + 4*z*z) - (radial_eval_alpha + radial_eval_alpha_squared*z*z)*(3*x*x + 3*y*y - 4*z*z))/4; - basis_zz_eval[ipt + 4*npts] = -6*radial_eval*(x*x + y*y - 2*z*z) - 4*radial_eval_alpha*z*z*(3*x*x + 3*y*y - 2*z*z) + (radial_eval_alpha + radial_eval_alpha_squared*z*z)*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z)/8; - basis_zz_eval[ipt + 5*npts] = sqrt_10*x*z*(24*radial_eval + 6*radial_eval_alpha*(-x*x - y*y + 4*z*z) - (radial_eval_alpha + radial_eval_alpha_squared*z*z)*(3*x*x + 3*y*y - 4*z*z))/4; - basis_zz_eval[ipt + 6*npts] = sqrt_5*(12*radial_eval*(x*x - y*y) + 24*radial_eval_alpha*z*z*(x*x - y*y) - (radial_eval_alpha + radial_eval_alpha_squared*z*z)*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - basis_zz_eval[ipt + 7*npts] = sqrt_70*x*z*(3*radial_eval_alpha + radial_eval_alpha_squared*z*z)*(x*x - 3*y*y)/4; - basis_zz_eval[ipt + 8*npts] = sqrt_35*(radial_eval_alpha + radial_eval_alpha_squared*z*z)*(x*x*x*x - 6*x*x*y*y + y*y*y*y)/8; + basis_zz_eval[ipt + 0*npts] = x166*x2; + basis_zz_eval[ipt + 1*npts] = x11*x167; + basis_zz_eval[ipt + 2*npts] = x16*(x168 + x53); + basis_zz_eval[ipt + 3*npts] = x170*x24; + basis_zz_eval[ipt + 4*npts] = 0.125*x171; + basis_zz_eval[ipt + 5*npts] = x170*x36; + basis_zz_eval[ipt + 6*npts] = x172*x37; + basis_zz_eval[ipt + 7*npts] = x173*x39; + basis_zz_eval[ipt + 8*npts] = x174*x68; + + @@ -236,25 +414,25 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = sqrt_35*radial_eval*x*y*(x*x - y*y)/2; - ang_eval_1 = sqrt_70*radial_eval*y*z*(3*x*x - y*y)/4; - ang_eval_2 = sqrt_5*radial_eval*x*y*(-x*x - y*y + 6*z*z)/2; - ang_eval_3 = sqrt_10*radial_eval*y*z*(-3*x*x - 3*y*y + 4*z*z)/4; + ang_eval_0 = radial_eval*x2*x8; + ang_eval_1 = radial_eval*x11*x13; + ang_eval_2 = radial_eval*x16*x21; + ang_eval_3 = radial_eval*x24*x28; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = radial_eval*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z)/8; - ang_eval_1 = sqrt_10*radial_eval*x*z*(-3*x*x - 3*y*y + 4*z*z)/4; - ang_eval_2 = sqrt_5*radial_eval*(-x*x*x*x + 6*x*x*z*z + y*y*y*y - 6*y*y*z*z)/4; - ang_eval_3 = sqrt_70*radial_eval*x*z*(x*x - 3*y*y)/4; + ang_eval_0 = x29*x35; + ang_eval_1 = radial_eval*x28*x36; + ang_eval_2 = radial_eval*x37*x38; + ang_eval_3 = radial_eval*x39*x41; basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; basis_eval[ipt + 6*npts] = ang_eval_2; basis_eval[ipt + 7*npts] = ang_eval_3; - ang_eval_0 = sqrt_35*radial_eval*(x*x*x*x - 6*x*x*y*y + y*y*y*y)/8; + ang_eval_0 = sqrt_35*x29*x42; basis_eval[ipt + 8*npts] = ang_eval_0; @@ -263,18 +441,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = sqrt_35*y*(radial_eval*(3*x*x - y*y) + radial_eval_alpha*x*x*(x*x - y*y))/2; - dang_eval_y_0 = sqrt_35*x*(-radial_eval*(-x*x + 3*y*y) + radial_eval_alpha*y*y*(x*x - y*y))/2; - dang_eval_z_0 = sqrt_35*radial_eval_alpha*x*y*z*(x*x - y*y)/2; - dang_eval_x_1 = sqrt_70*x*y*z*(6*radial_eval + radial_eval_alpha*(3*x*x - y*y))/4; - dang_eval_y_1 = sqrt_70*z*(-3*radial_eval*(-x*x + y*y) + radial_eval_alpha*y*y*(3*x*x - y*y))/4; - dang_eval_z_1 = sqrt_70*y*(radial_eval + radial_eval_alpha*z*z)*(3*x*x - y*y)/4; - dang_eval_x_2 = sqrt_5*y*(-radial_eval*(3*x*x + y*y - 6*z*z) - radial_eval_alpha*x*x*(x*x + y*y - 6*z*z))/2; - dang_eval_y_2 = sqrt_5*x*(-radial_eval*(x*x + 3*y*y - 6*z*z) - radial_eval_alpha*y*y*(x*x + y*y - 6*z*z))/2; - dang_eval_z_2 = sqrt_5*x*y*z*(12*radial_eval - radial_eval_alpha*(x*x + y*y - 6*z*z))/2; - dang_eval_x_3 = sqrt_10*x*y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 4*z*z))/4; - dang_eval_y_3 = sqrt_10*z*(-radial_eval*(3*x*x + 9*y*y - 4*z*z) - radial_eval_alpha*y*y*(3*x*x + 3*y*y - 4*z*z))/4; - dang_eval_z_3 = sqrt_10*y*(3*radial_eval*(-x*x - y*y + 4*z*z) - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 4*z*z))/4; + dang_eval_x_0 = x1*(radial_eval_alpha*x44 + x43); + dang_eval_y_0 = x70*(radial_eval_alpha*x72 + x71); + dang_eval_z_0 = x57*x8*x92; + dang_eval_x_1 = x45*x48; + dang_eval_y_1 = x10*x74; + dang_eval_z_1 = x93*(radial_eval_alpha*x94 + x43); + dang_eval_x_2 = x15*(radial_eval*x49 + radial_eval_alpha*x50); + dang_eval_y_2 = x75*(radial_eval*x77 + radial_eval_alpha*x78); + dang_eval_z_2 = x16*z*(radial_eval_alpha*x21 + x53); + dang_eval_x_3 = x52; + dang_eval_y_3 = x23*(radial_eval*x81 + radial_eval_alpha*x82); + dang_eval_z_3 = x100*x95; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -288,18 +466,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = x*(12*radial_eval*(x*x + y*y - 4*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - dang_eval_y_0 = y*(12*radial_eval*(x*x + y*y - 4*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - dang_eval_z_0 = z*(-16*radial_eval*(3*x*x + 3*y*y - 2*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - dang_eval_x_1 = sqrt_10*z*(-radial_eval*(9*x*x + 3*y*y - 4*z*z) - radial_eval_alpha*x*x*(3*x*x + 3*y*y - 4*z*z))/4; - dang_eval_y_1 = sqrt_10*x*y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 4*z*z))/4; - dang_eval_z_1 = sqrt_10*x*(3*radial_eval*(-x*x - y*y + 4*z*z) - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 4*z*z))/4; - dang_eval_x_2 = sqrt_5*x*(-4*radial_eval*(x*x - 3*z*z) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - dang_eval_y_2 = sqrt_5*y*(4*radial_eval*(y*y - 3*z*z) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - dang_eval_z_2 = sqrt_5*z*(12*radial_eval*(x*x - y*y) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - dang_eval_x_3 = sqrt_70*z*(3*radial_eval*(x*x - y*y) + radial_eval_alpha*x*x*(x*x - 3*y*y))/4; - dang_eval_y_3 = sqrt_70*x*y*z*(-6*radial_eval + radial_eval_alpha*(x*x - 3*y*y))/4; - dang_eval_z_3 = sqrt_70*x*(radial_eval + radial_eval_alpha*z*z)*(x*x - 3*y*y)/4; + dang_eval_x_0 = 0.125*x35*x57 + 0.125*x53*x56; + dang_eval_y_0 = 0.125*x35*x86 + 0.125*x53*x85; + dang_eval_z_0 = 2.0*radial_eval*x102 + 0.125*x103*x35; + dang_eval_x_1 = x23*(radial_eval*x59 + radial_eval_alpha*x60); + dang_eval_y_1 = x52; + dang_eval_z_1 = x*x100*x22; + dang_eval_x_2 = x37*(x38*x57 + x61*x63); + dang_eval_y_2 = x37*(x38*x86 + x61*x88); + dang_eval_z_2 = x104*(radial_eval_alpha*x38 + x105); + dang_eval_x_3 = x10*x67; + dang_eval_y_3 = x45*x90; + dang_eval_z_3 = x*x9*(radial_eval_alpha*x106 + x71); basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; @@ -313,9 +491,9 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 7*npts] = dang_eval_y_3; basis_z_eval[ipt + 7*npts] = dang_eval_z_3; - dang_eval_x_0 = sqrt_35*x*(4*radial_eval*(x*x - 3*y*y) + radial_eval_alpha*(x*x*x*x - 6*x*x*y*y + y*y*y*y))/8; - dang_eval_y_0 = sqrt_35*y*(-4*radial_eval*(3*x*x - y*y) + radial_eval_alpha*(x*x*x*x - 6*x*x*y*y + y*y*y*y))/8; - dang_eval_z_0 = sqrt_35*radial_eval_alpha*z*(x*x*x*x - 6*x*x*y*y + y*y*y*y)/8; + dang_eval_x_0 = x68*(x42*x57 + x61*x69); + dang_eval_y_0 = x68*(x42*x86 + x61*x91); + dang_eval_z_0 = x103*x42*x68; basis_x_eval[ipt + 8*npts] = dang_eval_x_0; basis_y_eval[ipt + 8*npts] = dang_eval_y_0; basis_z_eval[ipt + 8*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4_lapgrad.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4_lapgrad.hpp new file mode 100644 index 00000000..2ffafa7d --- /dev/null +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4_lapgrad.hpp @@ -0,0 +1,659 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once +#include "collocation_device_constants.hpp" +#include "device/xc_device_task.hpp" +#include "device_specific/cuda_device_constants.hpp" +#include "device/common/shell_to_task.hpp" +#include + +namespace GauXC { + + +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_spherical_lapgrad_4( + uint32_t nshell, + ShellToTaskDevice* __restrict__ shell_to_task, + XCDeviceTask* __restrict__ device_tasks +) { + + + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; + double* my_alpha = alpha[threadIdx.x/32]; + double* my_coeff = coeff[threadIdx.x/32]; + + for( auto ish = blockIdx.z; ish < nshell; ish += gridDim.z ) { + const uint32_t ntasks = shell_to_task[ish].ntask; + const auto shell = shell_to_task[ish].shell_device; + const auto task_idx = shell_to_task[ish].task_idx_device; + const auto task_shell_offs = shell_to_task[ish].task_shell_offs_device; + + + // Load Shell Data into registers / SM + const uint32_t nprim = shell->nprim(); + const double3 O = *reinterpret_cast(shell->O_data()); + + const int global_warp_id = (threadIdx.x + blockIdx.x*blockDim.x) / cuda::warp_size; + const int nwarp_global = max((blockDim.x*gridDim.x) / cuda::warp_size,1); + + // Read in coeffs/exps into SM on first warp + { + auto* coeff_gm = shell->coeff_data(); + auto* alpha_gm = shell->alpha_data(); + static_assert( detail::shell_nprim_max == cuda::warp_size ); + const int warp_rank = threadIdx.x % cuda::warp_size; + my_alpha[warp_rank] = alpha_gm[warp_rank]; + my_coeff[warp_rank] = coeff_gm[warp_rank]; + } + + // Loop over tasks assigned to shells + // Place each task on a different warp + schedule across blocks + for( int itask = global_warp_id; itask < ntasks; itask += nwarp_global ) { + + const auto* task = device_tasks + task_idx[itask]; + const auto* __restrict__ points_x = task->points_x; + const auto* __restrict__ points_y = task->points_y; + const auto* __restrict__ points_z = task->points_z; + const uint32_t npts = task->npts; + const size_t shoff = task_shell_offs[itask] * npts; + + auto* __restrict__ basis_eval = task->bf + shoff; + auto* __restrict__ basis_x_eval = task->dbfx + shoff; + auto* __restrict__ basis_y_eval = task->dbfy + shoff; + auto* __restrict__ basis_z_eval = task->dbfz + shoff; + auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; + auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; + auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; + auto* __restrict__ basis_yy_eval = task->d2bfyy + shoff; + auto* __restrict__ basis_yz_eval = task->d2bfyz + shoff; + auto* __restrict__ basis_zz_eval = task->d2bfzz + shoff; + auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; + auto* __restrict__ basis_lapl_x_eval = task->d3bflapl_x + shoff; + auto* __restrict__ basis_lapl_y_eval = task->d3bflapl_y + shoff; + auto* __restrict__ basis_lapl_z_eval = task->d3bflapl_z + shoff; + + // Loop over points in task + // Assign each point to separate thread within the warp + #pragma unroll 1 + for( int ipt = threadIdx.x % cuda::warp_size; ipt < npts; ipt += cuda::warp_size ) { + //const double3 point = points[ipt]; + double3 point; + point.x = points_x[ipt]; + point.y = points_y[ipt]; + point.z = points_z[ipt]; + + + const auto x = point.x - O.x; + const auto y = point.y - O.y; + const auto z = point.z - O.z; + const auto rsq = x*x + y*y + z*z; + + // Evaluate radial part of bfn + double radial_eval = 0.; + double radial_eval_alpha = 0.; + double radial_eval_alpha_squared = 0.; + double radial_eval_alpha_cubed = 0.; + + #pragma unroll 1 + for( uint32_t i = 0; i < nprim; ++i ) { + const auto a = my_alpha[i]; + const auto e = my_coeff[i] * std::exp( - a * rsq ); + + radial_eval += e; + radial_eval_alpha += a * e; + radial_eval_alpha_squared += a * a * e; + radial_eval_alpha_cubed += a * a * a * e; + } + + radial_eval_alpha *= -2; + radial_eval_alpha_squared *= 4; + radial_eval_alpha_cubed *= -8; + + // Common Subexpressions + const auto x0 = 0.5*sqrt_35; + const auto x1 = x0*y; + const auto x2 = x*x1; + const auto x3 = x*x; + const auto x4 = x3; + const auto x5 = y*y; + const auto x6 = x5; + const auto x7 = -x6; + const auto x8 = x4 + x7; + const auto x9 = 0.25*sqrt_70; + const auto x10 = x9*z; + const auto x11 = x10*y; + const auto x12 = 3.0*x4; + const auto x13 = x12 + x7; + const auto x14 = 0.5*sqrt_5; + const auto x15 = x14*y; + const auto x16 = x*x15; + const auto x17 = z*z; + const auto x18 = x17; + const auto x19 = -6.0*x18; + const auto x20 = x19 + x6; + const auto x21 = -x20 - x4; + const auto x22 = 0.25*sqrt_10; + const auto x23 = x22*z; + const auto x24 = x23*y; + const auto x25 = -4.0*x18; + const auto x26 = 3.0*x6; + const auto x27 = x25 + x26; + const auto x28 = -x12 - x27; + const auto x29 = 0.125*radial_eval; + const auto x30 = x*x*x*x; + const auto x31 = y*y*y*y; + const auto x32 = x4*x6; + const auto x33 = 6.0*x32; + const auto x34 = x18*x4; + const auto x35 = x18*x6; + const auto x36 = 3.0*x30 + 3.0*x31 + x33 - 24.0*x34 - 24.0*x35 + 8.0*(z*z*z*z); + const auto x37 = x*x23; + const auto x38 = 0.25*sqrt_5; + const auto x39 = -x30 + x31 + 6.0*x34 - 6.0*x35; + const auto x40 = x*x10; + const auto x41 = -x26; + const auto x42 = x4 + x41; + const auto x43 = x30 + x31 - x33; + const auto x44 = radial_eval*x13; + const auto x45 = x4*x8; + const auto x46 = x*x11; + const auto x47 = 6.0*radial_eval; + const auto x48 = radial_eval_alpha*x13; + const auto x49 = x47 + x48; + const auto x50 = -x12 - x20; + const auto x51 = x21*x4; + const auto x52 = -x47; + const auto x53 = x*x24*(radial_eval_alpha*x28 + x52); + const auto x54 = 12.0*radial_eval; + const auto x55 = x*x*x; + const auto x56 = 4.0*x; + const auto x57 = x*x6 - x18*x56 + x55; + const auto x58 = radial_eval_alpha*x; + const auto x59 = 9.0*x4; + const auto x60 = -x27 - x59; + const auto x61 = x28*x4; + const auto x62 = 4.0*radial_eval; + const auto x63 = 3.0*x; + const auto x64 = x18*x63 - x55; + const auto x65 = x12 + x41; + const auto x66 = radial_eval*x65; + const auto x67 = x4*x42; + const auto x68 = radial_eval_alpha*x67 + x66; + const auto x69 = 0.125*sqrt_35; + const auto x70 = x55 - x6*x63; + const auto x71 = x*x0; + const auto x72 = radial_eval*x42; + const auto x73 = x6*x8; + const auto x74 = x13*x6; + const auto x75 = radial_eval_alpha*x74 + x66; + const auto x76 = x*x14; + const auto x77 = x19 + x26; + const auto x78 = -x4 - x77; + const auto x79 = x21*x6; + const auto x80 = 9.0*x6; + const auto x81 = x12 + x25; + const auto x82 = -x80 - x81; + const auto x83 = x28*x6; + const auto x84 = y*y*y; + const auto x85 = 4.0*y; + const auto x86 = -x18*x85 + x4*y + x84; + const auto x87 = radial_eval_alpha*y; + const auto x88 = 3.0*y; + const auto x89 = -x18*x88 + x84; + const auto x90 = radial_eval_alpha*x42; + const auto x91 = x52 + x90; + const auto x92 = -x4*x88 + x84; + const auto x93 = x1*z; + const auto x94 = x9*y; + const auto x95 = x13*x18; + const auto x96 = x22*y; + const auto x97 = -12.0*x18; + const auto x98 = x26 + x97; + const auto x99 = -x12 - x98; + const auto x100 = x18*x28; + const auto x101 = radial_eval*x99 + radial_eval_alpha*x100; + const auto x102 = z*z*z; + const auto x103 = 3.0*z; + const auto x104 = 2.0*x102 - x103*x4 - x103*x6; + const auto x105 = radial_eval_alpha*z; + const auto x106 = x*x22; + const auto x107 = x38*z; + const auto x108 = x54*x8; + const auto x109 = x*x9; + const auto x110 = x18*x42; + const auto x111 = 2.0*radial_eval_alpha; + const auto x112 = x111*x13; + const auto x113 = radial_eval_alpha + radial_eval_alpha_squared*x4; + const auto x114 = x113*x8; + const auto x115 = x112 + x114; + const auto x116 = x113*x13; + const auto x117 = 12.0*radial_eval_alpha; + const auto x118 = x117*x4; + const auto x119 = x118 + x47; + const auto x120 = x111*x50 + x113*x21; + const auto x121 = x6 + x81; + const auto x122 = x113*x36 + x121*x54 + 24.0*x57*x58; + const auto x123 = -18.0*radial_eval; + const auto x124 = x113*x28; + const auto x125 = x111*x60 + x124; + const auto x126 = -x4; + const auto x127 = x126 + x18; + const auto x128 = 8.0*x58; + const auto x129 = x113*x39 + x127*x54 + x128*x64; + const auto x130 = x111*x65; + const auto x131 = x113*x42 + x130; + const auto x132 = x108 + x113*x43 + x128*x70; + const auto x133 = radial_eval_alpha*x3; + const auto x134 = radial_eval_alpha*x5; + const auto x135 = 6.0*radial_eval_alpha; + const auto x136 = x135*x6; + const auto x137 = radial_eval_alpha*x65; + const auto x138 = -x12 - x77; + const auto x139 = 24.0*radial_eval; + const auto x140 = x*x139; + const auto x141 = x140*y; + const auto x142 = 12.0*x58; + const auto x143 = 12.0*x87; + const auto x144 = radial_eval_alpha_squared*x; + const auto x145 = x144*y; + const auto x146 = -x135*x4 + x52; + const auto x147 = radial_eval_alpha*x56; + const auto x148 = radial_eval_alpha*x85; + const auto x149 = x*x94; + const auto x150 = x135*x18; + const auto x151 = -x150; + const auto x152 = x*x96*(radial_eval_alpha*x99 + radial_eval_alpha_squared*x100 + x151 + x52); + const auto x153 = 96.0*radial_eval*z; + const auto x154 = 12.0*x105; + const auto x155 = x144*z; + const auto x156 = -x59 - x98; + const auto x157 = radial_eval_alpha*x17; + const auto x158 = x142*x8; + const auto x159 = 4.0*radial_eval_alpha; + const auto x160 = x157*x65; + const auto x161 = x69*z; + const auto x162 = x111*x42; + const auto x163 = radial_eval_alpha + radial_eval_alpha_squared*x6; + const auto x164 = x163*x8; + const auto x165 = x162 + x164; + const auto x166 = x13*x163 + x130; + const auto x167 = x111*x78 + x163*x21; + const auto x168 = x163*x28; + const auto x169 = x111*x82 + x168; + const auto x170 = x27 + x4; + const auto x171 = x163*x36 + x170*x54 + 24.0*x86*x87; + const auto x172 = x117*x6; + const auto x173 = x172 + x47; + const auto x174 = -x18 + x6; + const auto x175 = 8.0*x87; + const auto x176 = x163*x39 + x174*x54 + x175*x89; + const auto x177 = x126 + x6; + const auto x178 = x163*x43 + x175*x92 + x177*x54; + const auto x179 = -x12 - x80 - x97; + const auto x180 = radial_eval_alpha_squared*y; + const auto x181 = x180*z; + const auto x182 = x143*x8; + const auto x183 = radial_eval_alpha + radial_eval_alpha_squared*x18; + const auto x184 = x183*x8; + const auto x185 = x13*x183; + const auto x186 = x112 + x185; + const auto x187 = 24.0*radial_eval_alpha*x18; + const auto x188 = x183*x21 + x187; + const auto x189 = x111*x99 + x183*x28; + const auto x190 = x139 + x189; + const auto x191 = 2.0*x18 - x4 - x6; + const auto x192 = 48.0*radial_eval*x191 + 32.0*x104*x105 + x183*x36; + const auto x193 = x108 + 24.0*x157*x8 + x183*x39; + const auto x194 = x183*x42; + const auto x195 = x162 + x194; + const auto x196 = x183*x43; + const auto x197 = x118 + x166; + const auto x198 = x116 + x197; + const auto x199 = -x118; + const auto x200 = -x172; + const auto x201 = x163*x42; + const auto x202 = x131 + x200; + const auto x203 = x201 + x202; + const auto x204 = radial_eval_alpha_cubed*x55 + radial_eval_alpha_squared*x63; + const auto x205 = radial_eval_alpha_cubed*x6 + radial_eval_alpha_squared; + const auto x206 = x205*x8; + const auto x207 = radial_eval_alpha_cubed*x18 + radial_eval_alpha_squared; + const auto x208 = x207*x8; + const auto x209 = 2.0*radial_eval_alpha_squared; + const auto x210 = x209*x3; + const auto x211 = 36.0*x58; + const auto x212 = 18.0*x*x113; + const auto x213 = 6.0*x; + const auto x214 = x163*x213; + const auto x215 = x183*x213; + const auto x216 = 2.0*x144; + const auto x217 = x13*x205; + const auto x218 = x13*x207; + const auto x219 = x205*x21; + const auto x220 = x207*x21; + const auto x221 = 24.0*radial_eval_alpha_squared; + const auto x222 = x111*x138 + x187; + const auto x223 = x205*x28; + const auto x224 = x207*x28; + const auto x225 = x204*x28; + const auto x226 = 48.0*x58; + const auto x227 = x226*x6; + const auto x228 = 24.0*x145; + const auto x229 = x205*x36; + const auto x230 = x207*x36; + const auto x231 = 36.0*radial_eval_alpha; + const auto x232 = x111*x156; + const auto x233 = 12.0*radial_eval_alpha_squared; + const auto x234 = x233*x32; + const auto x235 = -x234; + const auto x236 = x200 + x235; + const auto x237 = 8.0*x145; + const auto x238 = 24.0*x17; + const auto x239 = x205*x39; + const auto x240 = x207*x39; + const auto x241 = x163*x65; + const auto x242 = x113*x65; + const auto x243 = x205*x42; + const auto x244 = x207*x42; + const auto x245 = x118 + x130 + x183*x65; + const auto x246 = x205*x43; + const auto x247 = x207*x43; + const auto x248 = radial_eval_alpha_cubed*x84 + radial_eval_alpha_squared*x88; + const auto x249 = radial_eval_alpha_cubed*x4 + radial_eval_alpha_squared; + const auto x250 = x249*x8; + const auto x251 = x209*x5; + const auto x252 = x13*x249; + const auto x253 = x21*x249; + const auto x254 = x248*x28; + const auto x255 = x249*x28; + const auto x256 = x111*x179 + x199; + const auto x257 = 48.0*x87; + const auto x258 = x257*x4; + const auto x259 = 36.0*x87; + const auto x260 = x249*x36; + const auto x261 = 2.0*x180; + const auto x262 = 6.0*y; + const auto x263 = -x113*x262 - 18.0*x163*y - x183*x262 - x259; + const auto x264 = x249*x39; + const auto x265 = x249*x42; + const auto x266 = x249*x43; + const auto x267 = x209*z; + const auto x268 = radial_eval_alpha_cubed*x102 + radial_eval_alpha_squared*x103; + const auto x269 = x17*x209; + const auto x270 = x269*x65; + const auto x271 = x233*x34; + const auto x272 = 12.0*z; + const auto x273 = 36.0*z; + const auto x274 = 48.0*radial_eval_alpha*x18 + x113*x99 + x163*x99 + x17*x223 + x17*x255 + 3.0*x183*x99 + x268*x28*z; + const auto x275 = 192.0*x105; + const auto x276 = -x233*x35; + const auto x277 = 48.0*x105; + const auto x278 = 8.0*x181; + const auto x279 = 8.0*x155; + + + // Evaluate basis function + basis_eval[ipt + 0*npts] = radial_eval*x2*x8; + basis_eval[ipt + 1*npts] = radial_eval*x11*x13; + basis_eval[ipt + 2*npts] = radial_eval*x16*x21; + basis_eval[ipt + 3*npts] = radial_eval*x24*x28; + basis_eval[ipt + 4*npts] = x29*x36; + basis_eval[ipt + 5*npts] = radial_eval*x28*x37; + basis_eval[ipt + 6*npts] = radial_eval*x38*x39; + basis_eval[ipt + 7*npts] = radial_eval*x40*x42; + basis_eval[ipt + 8*npts] = sqrt_35*x29*x43; + + + + // Evaluate first derivative of bfn wrt x + basis_x_eval[ipt + 0*npts] = x1*(radial_eval_alpha*x45 + x44); + basis_x_eval[ipt + 1*npts] = x46*x49; + basis_x_eval[ipt + 2*npts] = x15*(radial_eval*x50 + radial_eval_alpha*x51); + basis_x_eval[ipt + 3*npts] = x53; + basis_x_eval[ipt + 4*npts] = 0.125*x36*x58 + 0.125*x54*x57; + basis_x_eval[ipt + 5*npts] = x23*(radial_eval*x60 + radial_eval_alpha*x61); + basis_x_eval[ipt + 6*npts] = x38*(x39*x58 + x62*x64); + basis_x_eval[ipt + 7*npts] = x10*x68; + basis_x_eval[ipt + 8*npts] = x69*(x43*x58 + x62*x70); + + // Evaluate first derivative of bfn wrt y + basis_y_eval[ipt + 0*npts] = x71*(radial_eval_alpha*x73 + x72); + basis_y_eval[ipt + 1*npts] = x10*x75; + basis_y_eval[ipt + 2*npts] = x76*(radial_eval*x78 + radial_eval_alpha*x79); + basis_y_eval[ipt + 3*npts] = x23*(radial_eval*x82 + radial_eval_alpha*x83); + basis_y_eval[ipt + 4*npts] = 0.125*x36*x87 + 0.125*x54*x86; + basis_y_eval[ipt + 5*npts] = x53; + basis_y_eval[ipt + 6*npts] = x38*(x39*x87 + x62*x89); + basis_y_eval[ipt + 7*npts] = x46*x91; + basis_y_eval[ipt + 8*npts] = x69*(x43*x87 + x62*x92); + + // Evaluate first derivative of bfn wrt z + basis_z_eval[ipt + 0*npts] = x58*x8*x93; + basis_z_eval[ipt + 1*npts] = x94*(radial_eval_alpha*x95 + x44); + basis_z_eval[ipt + 2*npts] = x16*z*(radial_eval_alpha*x21 + x54); + basis_z_eval[ipt + 3*npts] = x101*x96; + basis_z_eval[ipt + 4*npts] = 2.0*radial_eval*x104 + 0.125*x105*x36; + basis_z_eval[ipt + 5*npts] = x101*x106; + basis_z_eval[ipt + 6*npts] = x107*(radial_eval_alpha*x39 + x108); + basis_z_eval[ipt + 7*npts] = x109*(radial_eval_alpha*x110 + x72); + basis_z_eval[ipt + 8*npts] = x105*x43*x69; + + // Evaluate second derivative of bfn wrt xx + basis_xx_eval[ipt + 0*npts] = x2*(x115 + x47); + basis_xx_eval[ipt + 1*npts] = x11*(x116 + x119); + basis_xx_eval[ipt + 2*npts] = x16*(x120 + x52); + basis_xx_eval[ipt + 3*npts] = x24*(x113*x28 - x119); + basis_xx_eval[ipt + 4*npts] = 0.125*x122; + basis_xx_eval[ipt + 5*npts] = x37*(x123 + x125); + basis_xx_eval[ipt + 6*npts] = x129*x38; + basis_xx_eval[ipt + 7*npts] = x40*(x131 + x47); + basis_xx_eval[ipt + 8*npts] = x132*x69; + + // Evaluate second derivative of bfn wrt xy + basis_xy_eval[ipt + 0*npts] = x0*(radial_eval_alpha_squared*x4*x6*x8 + x13*x134 + x133*x42 + x66); + basis_xy_eval[ipt + 1*npts] = x40*(radial_eval_alpha_squared*x74 + x136 + x137 + x47); + basis_xy_eval[ipt + 2*npts] = x14*(radial_eval*x138 + radial_eval_alpha_squared*x21*x4*x6 + x133*x78 + x134*x50); + basis_xy_eval[ipt + 3*npts] = x37*(radial_eval_alpha*x82 + radial_eval_alpha_squared*x83 - x136 + x52); + basis_xy_eval[ipt + 4*npts] = 0.125*x141 + 0.125*x142*x86 + 0.125*x143*x57 + 0.125*x145*x36; + basis_xy_eval[ipt + 5*npts] = x24*(radial_eval_alpha*x60 + radial_eval_alpha_squared*x61 + x146); + basis_xy_eval[ipt + 6*npts] = x38*(x145*x39 + x147*x89 + x148*x64); + basis_xy_eval[ipt + 7*npts] = x11*(radial_eval_alpha_squared*x67 + x137 + x146); + basis_xy_eval[ipt + 8*npts] = x69*(-x141 + x145*x43 + x147*x92 + x148*x70); + + // Evaluate second derivative of bfn wrt xz + basis_xz_eval[ipt + 0*npts] = x93*(radial_eval_alpha_squared*x45 + x48); + basis_xz_eval[ipt + 1*npts] = x149*(radial_eval_alpha_squared*x95 + x150 + x49); + basis_xz_eval[ipt + 2*npts] = x15*z*(radial_eval_alpha*x50 + radial_eval_alpha_squared*x51 + x118 + x54); + basis_xz_eval[ipt + 3*npts] = x152; + basis_xz_eval[ipt + 4*npts] = -0.125*x*x153 + 2.0*x104*x58 + 0.125*x154*x57 + 0.125*x155*x36; + basis_xz_eval[ipt + 5*npts] = x22*(radial_eval*x156 + radial_eval_alpha_squared*x18*x28*x4 + x133*x99 + x157*x60); + basis_xz_eval[ipt + 6*npts] = x107*(x140 + x144*x39 + x158 + x159*x64); + basis_xz_eval[ipt + 7*npts] = x9*(radial_eval_alpha_squared*x18*x4*x42 + x160 + x68); + basis_xz_eval[ipt + 8*npts] = x161*(x144*x43 + x159*x70); + + // Evaluate second derivative of bfn wrt yy + basis_yy_eval[ipt + 0*npts] = x2*(x165 + x52); + basis_yy_eval[ipt + 1*npts] = x11*(x166 + x52); + basis_yy_eval[ipt + 2*npts] = x16*(x167 + x52); + basis_yy_eval[ipt + 3*npts] = x24*(x123 + x169); + basis_yy_eval[ipt + 4*npts] = 0.125*x171; + basis_yy_eval[ipt + 5*npts] = x37*(x163*x28 - x173); + basis_yy_eval[ipt + 6*npts] = x176*x38; + basis_yy_eval[ipt + 7*npts] = x40*(x163*x42 - x173); + basis_yy_eval[ipt + 8*npts] = x178*x69; + + // Evaluate second derivative of bfn wrt yz + basis_yz_eval[ipt + 0*npts] = x71*z*(radial_eval_alpha_squared*x73 + x90); + basis_yz_eval[ipt + 1*npts] = x9*(radial_eval_alpha_squared*x13*x18*x6 + x160 + x75); + basis_yz_eval[ipt + 2*npts] = x76*z*(radial_eval_alpha*x78 + radial_eval_alpha_squared*x79 + x172 + x54); + basis_yz_eval[ipt + 3*npts] = x22*(radial_eval*x179 + radial_eval_alpha_squared*x18*x28*x6 + x134*x99 + x157*x82); + basis_yz_eval[ipt + 4*npts] = 2.0*x104*x87 - 0.125*x153*y + 0.125*x154*x86 + 0.125*x181*x36; + basis_yz_eval[ipt + 5*npts] = x152; + basis_yz_eval[ipt + 6*npts] = x107*(-x139*y + x159*x89 + x180*x39 + x182); + basis_yz_eval[ipt + 7*npts] = x149*(radial_eval_alpha_squared*x110 + x151 + x91); + basis_yz_eval[ipt + 8*npts] = x161*(x159*x92 + x180*x43); + + // Evaluate second derivative of bfn wrt zz + basis_zz_eval[ipt + 0*npts] = x184*x2; + basis_zz_eval[ipt + 1*npts] = x11*x186; + basis_zz_eval[ipt + 2*npts] = x16*(x188 + x54); + basis_zz_eval[ipt + 3*npts] = x190*x24; + basis_zz_eval[ipt + 4*npts] = 0.125*x192; + basis_zz_eval[ipt + 5*npts] = x190*x37; + basis_zz_eval[ipt + 6*npts] = x193*x38; + basis_zz_eval[ipt + 7*npts] = x195*x40; + basis_zz_eval[ipt + 8*npts] = x196*x69; + + // Evaluate Laplacian of bfn + basis_lapl_eval[ipt + 0*npts] = x2*(x115 + x165 + x184); + basis_lapl_eval[ipt + 1*npts] = x11*(x186 + x198); + basis_lapl_eval[ipt + 2*npts] = x16*(x120 + x167 + x188); + basis_lapl_eval[ipt + 3*npts] = x24*(x124 + x169 + x189 + x199); + basis_lapl_eval[ipt + 4*npts] = 0.125*x122 + 0.125*x171 + 0.125*x192; + basis_lapl_eval[ipt + 5*npts] = x37*(x125 + x168 + x189 + x200); + basis_lapl_eval[ipt + 6*npts] = x38*(x129 + x176 + x193); + basis_lapl_eval[ipt + 7*npts] = x40*(x195 + x203); + basis_lapl_eval[ipt + 8*npts] = x69*(x132 + x178 + x196); + + // Evaluate Laplacian gradient of bfn (dx) + basis_lapl_x_eval[ipt + 0*npts] = x1*(x*x204*x8 + 3.0*x116 + x185 + x197 + x206*x3 + x208*x3 + x210*x42); + basis_lapl_x_eval[ipt + 1*npts] = x11*(x*x217 + x*x218 + x13*x204 + x13*x216 + x211 + x212 + x214 + x215 + x216*x65); + basis_lapl_x_eval[ipt + 2*npts] = x15*(x*x204*x21 + 3.0*x113*x50 + x163*x50 + x183*x50 + x199 + x210*x78 + x219*x3 + x220*x3 + x221*x34 + x222); + basis_lapl_x_eval[ipt + 3*npts] = x24*(x*x223 + x*x224 - x211 - x212 - x214 - x215 + x216*x82 + x216*x99 + x225); + basis_lapl_x_eval[ipt + 4*npts] = 0.125*x*x229 + 0.125*x*x230 + 4.0*x104*x155 + 4.5*x113*x57 + 0.125*x121*x211 + 0.125*x142*x170 + 1.5*x163*x57 - 24.0*x18*x58 + 1.5*x183*x57 + 0.125*x191*x226 + 0.125*x204*x36 + 0.125*x227 + 0.125*x228*x86; + basis_lapl_x_eval[ipt + 5*npts] = x23*(x*x225 + 3.0*x113*x60 + x163*x60 + x183*x60 + x210*x99 + x223*x3 + x224*x3 - x231*x4 + x232 + x236); + basis_lapl_x_eval[ipt + 6*npts] = x38*(x*x239 + x*x240 + 12.0*x113*x64 + x127*x211 + x142*x174 + x144*x238*x8 + x158 + 4.0*x163*x64 + x18*x226 + 4.0*x183*x64 + x204*x39 + x237*x89); + basis_lapl_x_eval[ipt + 7*npts] = x10*(x*x204*x42 + x209*x67 + x236 + x241 + 3.0*x242 + x243*x3 + x244*x3 + x245); + basis_lapl_x_eval[ipt + 8*npts] = x69*(x*x246 + x*x247 + 12.0*x113*x70 + x142*x177 + 4.0*x163*x70 + 4.0*x183*x70 + x204*x43 + x211*x8 - x227 + x237*x92); + // Evaluate Laplacian gradient of bfn (dy) + basis_lapl_y_eval[ipt + 0*npts] = x71*(x13*x251 + x194 + 3.0*x201 + x202 + x208*x5 + x248*x8*y + x250*x5); + basis_lapl_y_eval[ipt + 1*npts] = x10*(x13*x248*y + x200 + x209*x74 + x218*x5 + x234 + 3.0*x241 + x242 + x245 + x252*x5); + basis_lapl_y_eval[ipt + 2*npts] = x76*(x113*x78 + 3.0*x163*x78 + x183*x78 + x200 + x21*x248*y + x220*x5 + x221*x35 + x222 + x251*x50 + x253*x5); + basis_lapl_y_eval[ipt + 3*npts] = x23*(x113*x82 + 3.0*x163*x82 + x183*x82 + x224*x5 - x231*x6 + x235 + x251*x99 + x254*y + x255*x5 + x256); + basis_lapl_y_eval[ipt + 4*npts] = 4.0*x104*x181 + 1.5*x113*x86 + 0.125*x121*x143 + 4.5*x163*x86 + 0.125*x170*x259 - 24.0*x18*x87 + 1.5*x183*x86 + 0.125*x191*x257 + 0.125*x228*x57 + 0.125*x230*y + 0.125*x248*x36 + 0.125*x258 + 0.125*x260*y; + basis_lapl_y_eval[ipt + 5*npts] = x37*(x224*y + x254 + x255*y + x261*x60 + x261*x99 + x263); + basis_lapl_y_eval[ipt + 6*npts] = x38*(4.0*x113*x89 + x127*x143 + 12.0*x163*x89 + x174*x259 - x18*x257 + x180*x238*x8 + x182 + 4.0*x183*x89 + x237*x64 + x240*y + x248*x39 + x264*y); + basis_lapl_y_eval[ipt + 7*npts] = x40*(x244*y + x248*x42 + x261*x42 + x261*x65 + x263 + x265*y); + basis_lapl_y_eval[ipt + 8*npts] = x69*(4.0*x113*x92 + 12.0*x163*x92 + x177*x259 + x182 + 4.0*x183*x92 + x237*x70 + x247*y + x248*x43 - x258 + x266*y); + // Evaluate Laplacian gradient of bfn (dz) + basis_lapl_z_eval[ipt + 0*npts] = x2*(x13*x267 + x206*z + x250*z + x267*x42 + x268*x8); + basis_lapl_z_eval[ipt + 1*npts] = x94*(x13*x268*z + x17*x217 + x17*x252 + 3.0*x185 + x198 + x270 + x271); + basis_lapl_z_eval[ipt + 2*npts] = x16*(72.0*x105 + x113*x272 + x163*x272 + x183*x273 + x21*x268 + x219*z + x253*z + x267*x50 + x267*x78); + basis_lapl_z_eval[ipt + 3*npts] = x96*(x256 + x269*x82 - x271 + x274); + basis_lapl_z_eval[ipt + 4*npts] = 2.0*x104*x113 + 2.0*x104*x163 + 6.0*x104*x183 + 18.0*x105*x191 + 0.125*x121*x154 + 0.125*x154*x170 + 3.0*x155*x57 + 3.0*x181*x86 + 0.125*x229*z + 0.125*x260*z + 0.125*x268*x36 - 0.125*x275*x4 - 0.125*x275*x6; + basis_lapl_z_eval[ipt + 5*npts] = x106*(x200 + x232 + x269*x60 + x274 + x276); + basis_lapl_z_eval[ipt + 6*npts] = x38*(36.0*x105*x8 + x114*x272 + x127*x154 + x154*x174 + x164*x272 + x184*x273 + x239*z + x264*z + x268*x39 + x277*x4 - x277*x6 + x278*x89 + x279*x64); + basis_lapl_z_eval[ipt + 7*npts] = x109*(x17*x243 + x17*x265 + 3.0*x194 + x203 + x268*x42*z + x270 + x276); + basis_lapl_z_eval[ipt + 8*npts] = x69*(x154*x177 + x154*x8 + x246*z + x266*z + x268*x43 + x278*x92 + x279*x70); + + + + +#if 0 + // Evaluate the angular part of bfn + + + + double ang_eval_0; + double ang_eval_1; + double ang_eval_2; + double ang_eval_3; + + + ang_eval_0 = radial_eval*x2*x8; + ang_eval_1 = radial_eval*x11*x13; + ang_eval_2 = radial_eval*x16*x21; + ang_eval_3 = radial_eval*x24*x28; + basis_eval[ipt + 0*npts] = ang_eval_0; + basis_eval[ipt + 1*npts] = ang_eval_1; + basis_eval[ipt + 2*npts] = ang_eval_2; + basis_eval[ipt + 3*npts] = ang_eval_3; + + ang_eval_0 = x29*x36; + ang_eval_1 = radial_eval*x28*x37; + ang_eval_2 = radial_eval*x38*x39; + ang_eval_3 = radial_eval*x40*x42; + basis_eval[ipt + 4*npts] = ang_eval_0; + basis_eval[ipt + 5*npts] = ang_eval_1; + basis_eval[ipt + 6*npts] = ang_eval_2; + basis_eval[ipt + 7*npts] = ang_eval_3; + + ang_eval_0 = sqrt_35*x29*x43; + basis_eval[ipt + 8*npts] = ang_eval_0; + + + double dang_eval_x_0, dang_eval_y_0, dang_eval_z_0; + double dang_eval_x_1, dang_eval_y_1, dang_eval_z_1; + double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; + double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; + + dang_eval_x_0 = x1*(radial_eval_alpha*x45 + x44); + dang_eval_y_0 = x71*(radial_eval_alpha*x73 + x72); + dang_eval_z_0 = x58*x8*x93; + dang_eval_x_1 = x46*x49; + dang_eval_y_1 = x10*x75; + dang_eval_z_1 = x94*(radial_eval_alpha*x95 + x44); + dang_eval_x_2 = x15*(radial_eval*x50 + radial_eval_alpha*x51); + dang_eval_y_2 = x76*(radial_eval*x78 + radial_eval_alpha*x79); + dang_eval_z_2 = x16*z*(radial_eval_alpha*x21 + x54); + dang_eval_x_3 = x53; + dang_eval_y_3 = x23*(radial_eval*x82 + radial_eval_alpha*x83); + dang_eval_z_3 = x101*x96; + basis_x_eval[ipt + 0*npts] = dang_eval_x_0; + basis_y_eval[ipt + 0*npts] = dang_eval_y_0; + basis_z_eval[ipt + 0*npts] = dang_eval_z_0; + basis_x_eval[ipt + 1*npts] = dang_eval_x_1; + basis_y_eval[ipt + 1*npts] = dang_eval_y_1; + basis_z_eval[ipt + 1*npts] = dang_eval_z_1; + basis_x_eval[ipt + 2*npts] = dang_eval_x_2; + basis_y_eval[ipt + 2*npts] = dang_eval_y_2; + basis_z_eval[ipt + 2*npts] = dang_eval_z_2; + basis_x_eval[ipt + 3*npts] = dang_eval_x_3; + basis_y_eval[ipt + 3*npts] = dang_eval_y_3; + basis_z_eval[ipt + 3*npts] = dang_eval_z_3; + + dang_eval_x_0 = 0.125*x36*x58 + 0.125*x54*x57; + dang_eval_y_0 = 0.125*x36*x87 + 0.125*x54*x86; + dang_eval_z_0 = 2.0*radial_eval*x104 + 0.125*x105*x36; + dang_eval_x_1 = x23*(radial_eval*x60 + radial_eval_alpha*x61); + dang_eval_y_1 = x53; + dang_eval_z_1 = x101*x106; + dang_eval_x_2 = x38*(x39*x58 + x62*x64); + dang_eval_y_2 = x38*(x39*x87 + x62*x89); + dang_eval_z_2 = x107*(radial_eval_alpha*x39 + x108); + dang_eval_x_3 = x10*x68; + dang_eval_y_3 = x46*x91; + dang_eval_z_3 = x109*(radial_eval_alpha*x110 + x72); + basis_x_eval[ipt + 4*npts] = dang_eval_x_0; + basis_y_eval[ipt + 4*npts] = dang_eval_y_0; + basis_z_eval[ipt + 4*npts] = dang_eval_z_0; + basis_x_eval[ipt + 5*npts] = dang_eval_x_1; + basis_y_eval[ipt + 5*npts] = dang_eval_y_1; + basis_z_eval[ipt + 5*npts] = dang_eval_z_1; + basis_x_eval[ipt + 6*npts] = dang_eval_x_2; + basis_y_eval[ipt + 6*npts] = dang_eval_y_2; + basis_z_eval[ipt + 6*npts] = dang_eval_z_2; + basis_x_eval[ipt + 7*npts] = dang_eval_x_3; + basis_y_eval[ipt + 7*npts] = dang_eval_y_3; + basis_z_eval[ipt + 7*npts] = dang_eval_z_3; + + dang_eval_x_0 = x69*(x43*x58 + x62*x70); + dang_eval_y_0 = x69*(x43*x87 + x62*x92); + dang_eval_z_0 = x105*x43*x69; + basis_x_eval[ipt + 8*npts] = dang_eval_x_0; + basis_y_eval[ipt + 8*npts] = dang_eval_y_0; + basis_z_eval[ipt + 8*npts] = dang_eval_z_0; + +#endif + } // Loop over points within task + } // Loop over tasks + + } // Loop over shells +} // end kernel + +} // namespace GauXC diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4_laplacian.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4_laplacian.hpp index 6f129915..e88a4bf1 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4_laplacian.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/collocation_shell_to_task_kernels_spherical_l4_laplacian.hpp @@ -15,15 +15,15 @@ namespace GauXC { -__global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel_spherical_laplacian_4( +__global__ __launch_bounds__(128,2) void collocation_device_shell_to_task_kernel_spherical_laplacian_4( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks ) { - __shared__ double alpha[16][detail::shell_nprim_max + 1]; - __shared__ double coeff[16][detail::shell_nprim_max + 1]; + __shared__ double alpha[4][detail::shell_nprim_max + 1]; + __shared__ double coeff[4][detail::shell_nprim_max + 1]; double* my_alpha = alpha[threadIdx.x/32]; double* my_coeff = coeff[threadIdx.x/32]; @@ -66,7 +66,6 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel auto* __restrict__ basis_x_eval = task->dbfx + shoff; auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; - auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; // Loop over points in task @@ -103,64 +102,243 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel radial_eval_alpha *= -2; radial_eval_alpha_squared *= 4; - + // Common Subexpressions + const auto x0 = 0.5*sqrt_35; + const auto x1 = x0*y; + const auto x2 = x*x1; + const auto x3 = x*x; + const auto x4 = x3; + const auto x5 = y*y; + const auto x6 = x5; + const auto x7 = -x6; + const auto x8 = x4 + x7; + const auto x9 = 0.25*sqrt_70; + const auto x10 = x9*z; + const auto x11 = x10*y; + const auto x12 = 3.0*x4; + const auto x13 = x12 + x7; + const auto x14 = 0.5*sqrt_5; + const auto x15 = x14*y; + const auto x16 = x*x15; + const auto x17 = z*z; + const auto x18 = x17; + const auto x19 = -6.0*x18; + const auto x20 = x19 + x6; + const auto x21 = -x20 - x4; + const auto x22 = 0.25*sqrt_10; + const auto x23 = x22*z; + const auto x24 = x23*y; + const auto x25 = -4.0*x18; + const auto x26 = 3.0*x6; + const auto x27 = x25 + x26; + const auto x28 = -x12 - x27; + const auto x29 = 0.125*radial_eval; + const auto x30 = x*x*x*x; + const auto x31 = y*y*y*y; + const auto x32 = 6.0*x4*x6; + const auto x33 = x18*x4; + const auto x34 = x18*x6; + const auto x35 = 3.0*x30 + 3.0*x31 + x32 - 24.0*x33 - 24.0*x34 + 8.0*(z*z*z*z); + const auto x36 = x*x23; + const auto x37 = 0.25*sqrt_5; + const auto x38 = -x30 + x31 + 6.0*x33 - 6.0*x34; + const auto x39 = x*x10; + const auto x40 = -x26; + const auto x41 = x4 + x40; + const auto x42 = x30 + x31 - x32; + const auto x43 = radial_eval*x13; + const auto x44 = x4*x8; + const auto x45 = x*x11; + const auto x46 = 6.0*radial_eval; + const auto x47 = radial_eval_alpha*x13; + const auto x48 = x46 + x47; + const auto x49 = -x12 - x20; + const auto x50 = x21*x4; + const auto x51 = -x46; + const auto x52 = x*x24*(radial_eval_alpha*x28 + x51); + const auto x53 = 12.0*radial_eval; + const auto x54 = x*x*x; + const auto x55 = 4.0*x; + const auto x56 = x*x6 - x18*x55 + x54; + const auto x57 = radial_eval_alpha*x; + const auto x58 = 9.0*x4; + const auto x59 = -x27 - x58; + const auto x60 = x28*x4; + const auto x61 = 4.0*radial_eval; + const auto x62 = 3.0*x; + const auto x63 = x18*x62 - x54; + const auto x64 = x12 + x40; + const auto x65 = radial_eval*x64; + const auto x66 = x4*x41; + const auto x67 = radial_eval_alpha*x66 + x65; + const auto x68 = 0.125*sqrt_35; + const auto x69 = x54 - x6*x62; + const auto x70 = x*x0; + const auto x71 = radial_eval*x41; + const auto x72 = x6*x8; + const auto x73 = x13*x6; + const auto x74 = radial_eval_alpha*x73 + x65; + const auto x75 = x*x14; + const auto x76 = x19 + x26; + const auto x77 = -x4 - x76; + const auto x78 = x21*x6; + const auto x79 = 9.0*x6; + const auto x80 = x12 + x25; + const auto x81 = -x79 - x80; + const auto x82 = x28*x6; + const auto x83 = y*y*y; + const auto x84 = 4.0*y; + const auto x85 = -x18*x84 + x4*y + x83; + const auto x86 = radial_eval_alpha*y; + const auto x87 = 3.0*y; + const auto x88 = -x18*x87 + x83; + const auto x89 = radial_eval_alpha*x41; + const auto x90 = x51 + x89; + const auto x91 = -x4*x87 + x83; + const auto x92 = x1*z; + const auto x93 = x9*y; + const auto x94 = x13*x18; + const auto x95 = x22*y; + const auto x96 = -12.0*x18; + const auto x97 = x26 + x96; + const auto x98 = -x12 - x97; + const auto x99 = x18*x28; + const auto x100 = radial_eval*x98 + radial_eval_alpha*x99; + const auto x101 = 3.0*z; + const auto x102 = -x101*x4 - x101*x6 + 2.0*(z*z*z); + const auto x103 = radial_eval_alpha*z; + const auto x104 = x37*z; + const auto x105 = x53*x8; + const auto x106 = x18*x41; + const auto x107 = 2.0*radial_eval_alpha; + const auto x108 = x107*x13; + const auto x109 = radial_eval_alpha + radial_eval_alpha_squared*x4; + const auto x110 = x108 + x109*x8; + const auto x111 = x109*x13; + const auto x112 = 12.0*radial_eval_alpha; + const auto x113 = x112*x4; + const auto x114 = x113 + x46; + const auto x115 = x107*x49 + x109*x21; + const auto x116 = x109*x35 + x53*(x6 + x80) + 24.0*x56*x57; + const auto x117 = -18.0*radial_eval; + const auto x118 = x109*x28; + const auto x119 = x107*x59 + x118; + const auto x120 = -x4; + const auto x121 = 8.0*x57; + const auto x122 = x109*x38 + x121*x63 + x53*(x120 + x18); + const auto x123 = x107*x64; + const auto x124 = x109*x41 + x123; + const auto x125 = x105 + x109*x42 + x121*x69; + const auto x126 = radial_eval_alpha*x3; + const auto x127 = radial_eval_alpha*x5; + const auto x128 = 6.0*radial_eval_alpha; + const auto x129 = x128*x6; + const auto x130 = radial_eval_alpha*x64; + const auto x131 = 24.0*radial_eval; + const auto x132 = x*x131; + const auto x133 = x132*y; + const auto x134 = 12.0*x57; + const auto x135 = 12.0*x86; + const auto x136 = radial_eval_alpha_squared*x; + const auto x137 = x136*y; + const auto x138 = -x128*x4 + x51; + const auto x139 = radial_eval_alpha*x55; + const auto x140 = radial_eval_alpha*x84; + const auto x141 = x*x93; + const auto x142 = x128*x18; + const auto x143 = -x142; + const auto x144 = x*x95*(radial_eval_alpha*x98 + radial_eval_alpha_squared*x99 + x143 + x51); + const auto x145 = 96.0*radial_eval*z; + const auto x146 = 12.0*x103; + const auto x147 = radial_eval_alpha*x17; + const auto x148 = 4.0*radial_eval_alpha; + const auto x149 = x147*x64; + const auto x150 = x68*z; + const auto x151 = x107*x41; + const auto x152 = radial_eval_alpha + radial_eval_alpha_squared*x6; + const auto x153 = x151 + x152*x8; + const auto x154 = x123 + x13*x152; + const auto x155 = x107*x77 + x152*x21; + const auto x156 = x152*x28; + const auto x157 = x107*x81 + x156; + const auto x158 = x152*x35 + x53*(x27 + x4) + 24.0*x85*x86; + const auto x159 = x112*x6; + const auto x160 = x159 + x46; + const auto x161 = 8.0*x86; + const auto x162 = x152*x38 + x161*x88 - x53*(x18 - x6); + const auto x163 = x152*x42 + x161*x91 + x53*(x120 + x6); + const auto x164 = radial_eval_alpha_squared*y; + const auto x165 = radial_eval_alpha + radial_eval_alpha_squared*x18; + const auto x166 = x165*x8; + const auto x167 = x108 + x13*x165; + const auto x168 = 24.0*radial_eval_alpha*x18 + x165*x21; + const auto x169 = x107*x98 + x165*x28; + const auto x170 = x131 + x169; + const auto x171 = -48.0*radial_eval*(-2.0*x18 + x4 + x6) + 32.0*x102*x103 + x165*x35; + const auto x172 = x105 + 24.0*x147*x8 + x165*x38; + const auto x173 = x151 + x165*x41; + const auto x174 = x165*x42; + const auto x175 = -x159; + // Evaluate basis function - basis_eval[ipt + 0*npts] = sqrt_35*radial_eval*x*y*(x*x - y*y)/2; - basis_eval[ipt + 1*npts] = sqrt_70*radial_eval*y*z*(3*x*x - y*y)/4; - basis_eval[ipt + 2*npts] = sqrt_5*radial_eval*x*y*(-x*x - y*y + 6*z*z)/2; - basis_eval[ipt + 3*npts] = sqrt_10*radial_eval*y*z*(-3*x*x - 3*y*y + 4*z*z)/4; - basis_eval[ipt + 4*npts] = radial_eval*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z)/8; - basis_eval[ipt + 5*npts] = sqrt_10*radial_eval*x*z*(-3*x*x - 3*y*y + 4*z*z)/4; - basis_eval[ipt + 6*npts] = sqrt_5*radial_eval*(-x*x*x*x + 6*x*x*z*z + y*y*y*y - 6*y*y*z*z)/4; - basis_eval[ipt + 7*npts] = sqrt_70*radial_eval*x*z*(x*x - 3*y*y)/4; - basis_eval[ipt + 8*npts] = sqrt_35*radial_eval*(x*x*x*x - 6*x*x*y*y + y*y*y*y)/8; + basis_eval[ipt + 0*npts] = radial_eval*x2*x8; + basis_eval[ipt + 1*npts] = radial_eval*x11*x13; + basis_eval[ipt + 2*npts] = radial_eval*x16*x21; + basis_eval[ipt + 3*npts] = radial_eval*x24*x28; + basis_eval[ipt + 4*npts] = x29*x35; + basis_eval[ipt + 5*npts] = radial_eval*x28*x36; + basis_eval[ipt + 6*npts] = radial_eval*x37*x38; + basis_eval[ipt + 7*npts] = radial_eval*x39*x41; + basis_eval[ipt + 8*npts] = sqrt_35*x29*x42; // Evaluate first derivative of bfn wrt x - basis_x_eval[ipt + 0*npts] = sqrt_35*y*(radial_eval*(3*x*x - y*y) + radial_eval_alpha*x*x*(x*x - y*y))/2; - basis_x_eval[ipt + 1*npts] = sqrt_70*x*y*z*(6*radial_eval + radial_eval_alpha*(3*x*x - y*y))/4; - basis_x_eval[ipt + 2*npts] = sqrt_5*y*(-radial_eval*(3*x*x + y*y - 6*z*z) - radial_eval_alpha*x*x*(x*x + y*y - 6*z*z))/2; - basis_x_eval[ipt + 3*npts] = sqrt_10*x*y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 4*z*z))/4; - basis_x_eval[ipt + 4*npts] = x*(12*radial_eval*(x*x + y*y - 4*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - basis_x_eval[ipt + 5*npts] = sqrt_10*z*(-radial_eval*(9*x*x + 3*y*y - 4*z*z) - radial_eval_alpha*x*x*(3*x*x + 3*y*y - 4*z*z))/4; - basis_x_eval[ipt + 6*npts] = sqrt_5*x*(-4*radial_eval*(x*x - 3*z*z) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - basis_x_eval[ipt + 7*npts] = sqrt_70*z*(3*radial_eval*(x*x - y*y) + radial_eval_alpha*x*x*(x*x - 3*y*y))/4; - basis_x_eval[ipt + 8*npts] = sqrt_35*x*(4*radial_eval*(x*x - 3*y*y) + radial_eval_alpha*(x*x*x*x - 6*x*x*y*y + y*y*y*y))/8; + basis_x_eval[ipt + 0*npts] = x1*(radial_eval_alpha*x44 + x43); + basis_x_eval[ipt + 1*npts] = x45*x48; + basis_x_eval[ipt + 2*npts] = x15*(radial_eval*x49 + radial_eval_alpha*x50); + basis_x_eval[ipt + 3*npts] = x52; + basis_x_eval[ipt + 4*npts] = 0.125*x35*x57 + 0.125*x53*x56; + basis_x_eval[ipt + 5*npts] = x23*(radial_eval*x59 + radial_eval_alpha*x60); + basis_x_eval[ipt + 6*npts] = x37*(x38*x57 + x61*x63); + basis_x_eval[ipt + 7*npts] = x10*x67; + basis_x_eval[ipt + 8*npts] = x68*(x42*x57 + x61*x69); // Evaluate first derivative of bfn wrt y - basis_y_eval[ipt + 0*npts] = sqrt_35*x*(-radial_eval*(-x*x + 3*y*y) + radial_eval_alpha*y*y*(x*x - y*y))/2; - basis_y_eval[ipt + 1*npts] = sqrt_70*z*(-3*radial_eval*(-x*x + y*y) + radial_eval_alpha*y*y*(3*x*x - y*y))/4; - basis_y_eval[ipt + 2*npts] = sqrt_5*x*(-radial_eval*(x*x + 3*y*y - 6*z*z) - radial_eval_alpha*y*y*(x*x + y*y - 6*z*z))/2; - basis_y_eval[ipt + 3*npts] = sqrt_10*z*(-radial_eval*(3*x*x + 9*y*y - 4*z*z) - radial_eval_alpha*y*y*(3*x*x + 3*y*y - 4*z*z))/4; - basis_y_eval[ipt + 4*npts] = y*(12*radial_eval*(x*x + y*y - 4*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - basis_y_eval[ipt + 5*npts] = sqrt_10*x*y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 4*z*z))/4; - basis_y_eval[ipt + 6*npts] = sqrt_5*y*(4*radial_eval*(y*y - 3*z*z) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - basis_y_eval[ipt + 7*npts] = sqrt_70*x*y*z*(-6*radial_eval + radial_eval_alpha*(x*x - 3*y*y))/4; - basis_y_eval[ipt + 8*npts] = sqrt_35*y*(-4*radial_eval*(3*x*x - y*y) + radial_eval_alpha*(x*x*x*x - 6*x*x*y*y + y*y*y*y))/8; + basis_y_eval[ipt + 0*npts] = x70*(radial_eval_alpha*x72 + x71); + basis_y_eval[ipt + 1*npts] = x10*x74; + basis_y_eval[ipt + 2*npts] = x75*(radial_eval*x77 + radial_eval_alpha*x78); + basis_y_eval[ipt + 3*npts] = x23*(radial_eval*x81 + radial_eval_alpha*x82); + basis_y_eval[ipt + 4*npts] = 0.125*x35*x86 + 0.125*x53*x85; + basis_y_eval[ipt + 5*npts] = x52; + basis_y_eval[ipt + 6*npts] = x37*(x38*x86 + x61*x88); + basis_y_eval[ipt + 7*npts] = x45*x90; + basis_y_eval[ipt + 8*npts] = x68*(x42*x86 + x61*x91); // Evaluate first derivative of bfn wrt z - basis_z_eval[ipt + 0*npts] = sqrt_35*radial_eval_alpha*x*y*z*(x*x - y*y)/2; - basis_z_eval[ipt + 1*npts] = sqrt_70*y*(radial_eval + radial_eval_alpha*z*z)*(3*x*x - y*y)/4; - basis_z_eval[ipt + 2*npts] = sqrt_5*x*y*z*(12*radial_eval - radial_eval_alpha*(x*x + y*y - 6*z*z))/2; - basis_z_eval[ipt + 3*npts] = sqrt_10*y*(3*radial_eval*(-x*x - y*y + 4*z*z) - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 4*z*z))/4; - basis_z_eval[ipt + 4*npts] = z*(-16*radial_eval*(3*x*x + 3*y*y - 2*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - basis_z_eval[ipt + 5*npts] = sqrt_10*x*(3*radial_eval*(-x*x - y*y + 4*z*z) - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 4*z*z))/4; - basis_z_eval[ipt + 6*npts] = sqrt_5*z*(12*radial_eval*(x*x - y*y) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - basis_z_eval[ipt + 7*npts] = sqrt_70*x*(radial_eval + radial_eval_alpha*z*z)*(x*x - 3*y*y)/4; - basis_z_eval[ipt + 8*npts] = sqrt_35*radial_eval_alpha*z*(x*x*x*x - 6*x*x*y*y + y*y*y*y)/8; + basis_z_eval[ipt + 0*npts] = x57*x8*x92; + basis_z_eval[ipt + 1*npts] = x93*(radial_eval_alpha*x94 + x43); + basis_z_eval[ipt + 2*npts] = x16*z*(radial_eval_alpha*x21 + x53); + basis_z_eval[ipt + 3*npts] = x100*x95; + basis_z_eval[ipt + 4*npts] = 2.0*radial_eval*x102 + 0.125*x103*x35; + basis_z_eval[ipt + 5*npts] = x*x100*x22; + basis_z_eval[ipt + 6*npts] = x104*(radial_eval_alpha*x38 + x105); + basis_z_eval[ipt + 7*npts] = x*x9*(radial_eval_alpha*x106 + x71); + basis_z_eval[ipt + 8*npts] = x103*x42*x68; + // Evaluate Laplacian of bfn - basis_lapl_eval[ipt + 0*npts] = sqrt_35*x*y*(11*radial_eval_alpha*x*x - 11*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*x*x + radial_eval_alpha_squared*x*x*z*z - radial_eval_alpha_squared*y*y*y*y - radial_eval_alpha_squared*y*y*z*z)/2; - basis_lapl_eval[ipt + 1*npts] = sqrt_70*y*z*(33*radial_eval_alpha*x*x - 11*radial_eval_alpha*y*y + 3*radial_eval_alpha_squared*x*x*x*x + 2*radial_eval_alpha_squared*x*x*y*y + 3*radial_eval_alpha_squared*x*x*z*z - radial_eval_alpha_squared*y*y*y*y - radial_eval_alpha_squared*y*y*z*z)/4; - basis_lapl_eval[ipt + 2*npts] = sqrt_5*x*y*(-11*radial_eval_alpha*x*x - 11*radial_eval_alpha*y*y + 66*radial_eval_alpha*z*z - radial_eval_alpha_squared*x*x*x*x - 2*radial_eval_alpha_squared*x*x*y*y + 5*radial_eval_alpha_squared*x*x*z*z - radial_eval_alpha_squared*y*y*y*y + 5*radial_eval_alpha_squared*y*y*z*z + 6*radial_eval_alpha_squared*z*z*z*z)/2; - basis_lapl_eval[ipt + 3*npts] = sqrt_10*y*z*(-33*radial_eval_alpha*x*x - 33*radial_eval_alpha*y*y + 44*radial_eval_alpha*z*z - 3*radial_eval_alpha_squared*x*x*x*x - 6*radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*x*x*z*z - 3*radial_eval_alpha_squared*y*y*y*y + radial_eval_alpha_squared*y*y*z*z + 4*radial_eval_alpha_squared*z*z*z*z)/4; - basis_lapl_eval[ipt + 4*npts] = 33*radial_eval_alpha*x*x*x*x/8 + 33*radial_eval_alpha*x*x*y*y/4 - 33*radial_eval_alpha*x*x*z*z + 33*radial_eval_alpha*y*y*y*y/8 - 33*radial_eval_alpha*y*y*z*z + 11*radial_eval_alpha*z*z*z*z + 3*radial_eval_alpha_squared*x*x*x*x*x*x/8 + 9*radial_eval_alpha_squared*x*x*x*x*y*y/8 - 21*radial_eval_alpha_squared*x*x*x*x*z*z/8 + 9*radial_eval_alpha_squared*x*x*y*y*y*y/8 - 21*radial_eval_alpha_squared*x*x*y*y*z*z/4 - 2*radial_eval_alpha_squared*x*x*z*z*z*z + 3*radial_eval_alpha_squared*y*y*y*y*y*y/8 - 21*radial_eval_alpha_squared*y*y*y*y*z*z/8 - 2*radial_eval_alpha_squared*y*y*z*z*z*z + radial_eval_alpha_squared*z*z*z*z*z*z; - basis_lapl_eval[ipt + 5*npts] = sqrt_10*x*z*(-33*radial_eval_alpha*x*x - 33*radial_eval_alpha*y*y + 44*radial_eval_alpha*z*z - 3*radial_eval_alpha_squared*x*x*x*x - 6*radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*x*x*z*z - 3*radial_eval_alpha_squared*y*y*y*y + radial_eval_alpha_squared*y*y*z*z + 4*radial_eval_alpha_squared*z*z*z*z)/4; - basis_lapl_eval[ipt + 6*npts] = sqrt_5*(-11*radial_eval_alpha*x*x*x*x + 66*radial_eval_alpha*x*x*z*z + 11*radial_eval_alpha*y*y*y*y - 66*radial_eval_alpha*y*y*z*z - radial_eval_alpha_squared*x*x*x*x*x*x - radial_eval_alpha_squared*x*x*x*x*y*y + 5*radial_eval_alpha_squared*x*x*x*x*z*z + radial_eval_alpha_squared*x*x*y*y*y*y + 6*radial_eval_alpha_squared*x*x*z*z*z*z + radial_eval_alpha_squared*y*y*y*y*y*y - 5*radial_eval_alpha_squared*y*y*y*y*z*z - 6*radial_eval_alpha_squared*y*y*z*z*z*z)/4; - basis_lapl_eval[ipt + 7*npts] = sqrt_70*x*z*(11*radial_eval_alpha*x*x - 33*radial_eval_alpha*y*y + radial_eval_alpha_squared*x*x*x*x - 2*radial_eval_alpha_squared*x*x*y*y + radial_eval_alpha_squared*x*x*z*z - 3*radial_eval_alpha_squared*y*y*y*y - 3*radial_eval_alpha_squared*y*y*z*z)/4; - basis_lapl_eval[ipt + 8*npts] = sqrt_35*(11*radial_eval_alpha*x*x*x*x - 66*radial_eval_alpha*x*x*y*y + 11*radial_eval_alpha*y*y*y*y + radial_eval_alpha_squared*x*x*x*x*x*x - 5*radial_eval_alpha_squared*x*x*x*x*y*y + radial_eval_alpha_squared*x*x*x*x*z*z - 5*radial_eval_alpha_squared*x*x*y*y*y*y - 6*radial_eval_alpha_squared*x*x*y*y*z*z + radial_eval_alpha_squared*y*y*y*y*y*y + radial_eval_alpha_squared*y*y*y*y*z*z)/8; + basis_lapl_eval[ipt + 0*npts] = x2*(x110 + x153 + x166); + basis_lapl_eval[ipt + 1*npts] = x11*(x111 + x113 + x154 + x167); + basis_lapl_eval[ipt + 2*npts] = x16*(x115 + x155 + x168); + basis_lapl_eval[ipt + 3*npts] = x24*(-x113 + x118 + x157 + x169); + basis_lapl_eval[ipt + 4*npts] = 0.125*x116 + 0.125*x158 + 0.125*x171; + basis_lapl_eval[ipt + 5*npts] = x36*(x119 + x156 + x169 + x175); + basis_lapl_eval[ipt + 6*npts] = x37*(x122 + x162 + x172); + basis_lapl_eval[ipt + 7*npts] = x39*(x124 + x152*x41 + x173 + x175); + basis_lapl_eval[ipt + 8*npts] = x68*(x125 + x163 + x174); + @@ -176,25 +354,25 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double ang_eval_3; - ang_eval_0 = sqrt_35*radial_eval*x*y*(x*x - y*y)/2; - ang_eval_1 = sqrt_70*radial_eval*y*z*(3*x*x - y*y)/4; - ang_eval_2 = sqrt_5*radial_eval*x*y*(-x*x - y*y + 6*z*z)/2; - ang_eval_3 = sqrt_10*radial_eval*y*z*(-3*x*x - 3*y*y + 4*z*z)/4; + ang_eval_0 = radial_eval*x2*x8; + ang_eval_1 = radial_eval*x11*x13; + ang_eval_2 = radial_eval*x16*x21; + ang_eval_3 = radial_eval*x24*x28; basis_eval[ipt + 0*npts] = ang_eval_0; basis_eval[ipt + 1*npts] = ang_eval_1; basis_eval[ipt + 2*npts] = ang_eval_2; basis_eval[ipt + 3*npts] = ang_eval_3; - ang_eval_0 = radial_eval*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z)/8; - ang_eval_1 = sqrt_10*radial_eval*x*z*(-3*x*x - 3*y*y + 4*z*z)/4; - ang_eval_2 = sqrt_5*radial_eval*(-x*x*x*x + 6*x*x*z*z + y*y*y*y - 6*y*y*z*z)/4; - ang_eval_3 = sqrt_70*radial_eval*x*z*(x*x - 3*y*y)/4; + ang_eval_0 = x29*x35; + ang_eval_1 = radial_eval*x28*x36; + ang_eval_2 = radial_eval*x37*x38; + ang_eval_3 = radial_eval*x39*x41; basis_eval[ipt + 4*npts] = ang_eval_0; basis_eval[ipt + 5*npts] = ang_eval_1; basis_eval[ipt + 6*npts] = ang_eval_2; basis_eval[ipt + 7*npts] = ang_eval_3; - ang_eval_0 = sqrt_35*radial_eval*(x*x*x*x - 6*x*x*y*y + y*y*y*y)/8; + ang_eval_0 = sqrt_35*x29*x42; basis_eval[ipt + 8*npts] = ang_eval_0; @@ -203,18 +381,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel double dang_eval_x_2, dang_eval_y_2, dang_eval_z_2; double dang_eval_x_3, dang_eval_y_3, dang_eval_z_3; - dang_eval_x_0 = sqrt_35*y*(radial_eval*(3*x*x - y*y) + radial_eval_alpha*x*x*(x*x - y*y))/2; - dang_eval_y_0 = sqrt_35*x*(-radial_eval*(-x*x + 3*y*y) + radial_eval_alpha*y*y*(x*x - y*y))/2; - dang_eval_z_0 = sqrt_35*radial_eval_alpha*x*y*z*(x*x - y*y)/2; - dang_eval_x_1 = sqrt_70*x*y*z*(6*radial_eval + radial_eval_alpha*(3*x*x - y*y))/4; - dang_eval_y_1 = sqrt_70*z*(-3*radial_eval*(-x*x + y*y) + radial_eval_alpha*y*y*(3*x*x - y*y))/4; - dang_eval_z_1 = sqrt_70*y*(radial_eval + radial_eval_alpha*z*z)*(3*x*x - y*y)/4; - dang_eval_x_2 = sqrt_5*y*(-radial_eval*(3*x*x + y*y - 6*z*z) - radial_eval_alpha*x*x*(x*x + y*y - 6*z*z))/2; - dang_eval_y_2 = sqrt_5*x*(-radial_eval*(x*x + 3*y*y - 6*z*z) - radial_eval_alpha*y*y*(x*x + y*y - 6*z*z))/2; - dang_eval_z_2 = sqrt_5*x*y*z*(12*radial_eval - radial_eval_alpha*(x*x + y*y - 6*z*z))/2; - dang_eval_x_3 = sqrt_10*x*y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 4*z*z))/4; - dang_eval_y_3 = sqrt_10*z*(-radial_eval*(3*x*x + 9*y*y - 4*z*z) - radial_eval_alpha*y*y*(3*x*x + 3*y*y - 4*z*z))/4; - dang_eval_z_3 = sqrt_10*y*(3*radial_eval*(-x*x - y*y + 4*z*z) - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 4*z*z))/4; + dang_eval_x_0 = x1*(radial_eval_alpha*x44 + x43); + dang_eval_y_0 = x70*(radial_eval_alpha*x72 + x71); + dang_eval_z_0 = x57*x8*x92; + dang_eval_x_1 = x45*x48; + dang_eval_y_1 = x10*x74; + dang_eval_z_1 = x93*(radial_eval_alpha*x94 + x43); + dang_eval_x_2 = x15*(radial_eval*x49 + radial_eval_alpha*x50); + dang_eval_y_2 = x75*(radial_eval*x77 + radial_eval_alpha*x78); + dang_eval_z_2 = x16*z*(radial_eval_alpha*x21 + x53); + dang_eval_x_3 = x52; + dang_eval_y_3 = x23*(radial_eval*x81 + radial_eval_alpha*x82); + dang_eval_z_3 = x100*x95; basis_x_eval[ipt + 0*npts] = dang_eval_x_0; basis_y_eval[ipt + 0*npts] = dang_eval_y_0; basis_z_eval[ipt + 0*npts] = dang_eval_z_0; @@ -228,18 +406,18 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 3*npts] = dang_eval_y_3; basis_z_eval[ipt + 3*npts] = dang_eval_z_3; - dang_eval_x_0 = x*(12*radial_eval*(x*x + y*y - 4*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - dang_eval_y_0 = y*(12*radial_eval*(x*x + y*y - 4*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - dang_eval_z_0 = z*(-16*radial_eval*(3*x*x + 3*y*y - 2*z*z) + radial_eval_alpha*(3*x*x*x*x + 6*x*x*y*y - 24*x*x*z*z + 3*y*y*y*y - 24*y*y*z*z + 8*z*z*z*z))/8; - dang_eval_x_1 = sqrt_10*z*(-radial_eval*(9*x*x + 3*y*y - 4*z*z) - radial_eval_alpha*x*x*(3*x*x + 3*y*y - 4*z*z))/4; - dang_eval_y_1 = sqrt_10*x*y*z*(-6*radial_eval - radial_eval_alpha*(3*x*x + 3*y*y - 4*z*z))/4; - dang_eval_z_1 = sqrt_10*x*(3*radial_eval*(-x*x - y*y + 4*z*z) - radial_eval_alpha*z*z*(3*x*x + 3*y*y - 4*z*z))/4; - dang_eval_x_2 = sqrt_5*x*(-4*radial_eval*(x*x - 3*z*z) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - dang_eval_y_2 = sqrt_5*y*(4*radial_eval*(y*y - 3*z*z) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - dang_eval_z_2 = sqrt_5*z*(12*radial_eval*(x*x - y*y) - radial_eval_alpha*(x*x*x*x - 6*x*x*z*z - y*y*y*y + 6*y*y*z*z))/4; - dang_eval_x_3 = sqrt_70*z*(3*radial_eval*(x*x - y*y) + radial_eval_alpha*x*x*(x*x - 3*y*y))/4; - dang_eval_y_3 = sqrt_70*x*y*z*(-6*radial_eval + radial_eval_alpha*(x*x - 3*y*y))/4; - dang_eval_z_3 = sqrt_70*x*(radial_eval + radial_eval_alpha*z*z)*(x*x - 3*y*y)/4; + dang_eval_x_0 = 0.125*x35*x57 + 0.125*x53*x56; + dang_eval_y_0 = 0.125*x35*x86 + 0.125*x53*x85; + dang_eval_z_0 = 2.0*radial_eval*x102 + 0.125*x103*x35; + dang_eval_x_1 = x23*(radial_eval*x59 + radial_eval_alpha*x60); + dang_eval_y_1 = x52; + dang_eval_z_1 = x*x100*x22; + dang_eval_x_2 = x37*(x38*x57 + x61*x63); + dang_eval_y_2 = x37*(x38*x86 + x61*x88); + dang_eval_z_2 = x104*(radial_eval_alpha*x38 + x105); + dang_eval_x_3 = x10*x67; + dang_eval_y_3 = x45*x90; + dang_eval_z_3 = x*x9*(radial_eval_alpha*x106 + x71); basis_x_eval[ipt + 4*npts] = dang_eval_x_0; basis_y_eval[ipt + 4*npts] = dang_eval_y_0; basis_z_eval[ipt + 4*npts] = dang_eval_z_0; @@ -253,9 +431,9 @@ __global__ __launch_bounds__(512,2) void collocation_device_shell_to_task_kernel basis_y_eval[ipt + 7*npts] = dang_eval_y_3; basis_z_eval[ipt + 7*npts] = dang_eval_z_3; - dang_eval_x_0 = sqrt_35*x*(4*radial_eval*(x*x - 3*y*y) + radial_eval_alpha*(x*x*x*x - 6*x*x*y*y + y*y*y*y))/8; - dang_eval_y_0 = sqrt_35*y*(-4*radial_eval*(3*x*x - y*y) + radial_eval_alpha*(x*x*x*x - 6*x*x*y*y + y*y*y*y))/8; - dang_eval_z_0 = sqrt_35*radial_eval_alpha*z*(x*x*x*x - 6*x*x*y*y + y*y*y*y)/8; + dang_eval_x_0 = x68*(x42*x57 + x61*x69); + dang_eval_y_0 = x68*(x42*x86 + x61*x91); + dang_eval_z_0 = x103*x42*x68; basis_x_eval[ipt + 8*npts] = dang_eval_x_0; basis_y_eval[ipt + 8*npts] = dang_eval_y_0; basis_z_eval[ipt + 8*npts] = dang_eval_z_0; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/scripts/generate_shell_to_task.py b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/scripts/generate_shell_to_task.py index 76a5d4b7..9bedd244 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/scripts/generate_shell_to_task.py +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/scripts/generate_shell_to_task.py @@ -3,6 +3,8 @@ from collocation_angular import generate_spherical_angular, generate_cartesian_angular, generate_cartesian_ls, generate_eval_lines import sympy import itertools +from sympy.printing import ccode +from sympy.codegen.rewriting import create_expand_pow_optimization from io import StringIO @@ -15,7 +17,7 @@ def generate_shell_to_task_lines( ang, deriv_order = 0 ): do_hess = bool(deriv_order > 1) [x,y,z,r] = sympy.symbols('x y z r', real=True) - [bf,bf_alpha,bf_alpha_sq] = sympy.symbols('radial_eval radial_eval_alpha radial_eval_alpha_squared',real=True) + [bf,bf_alpha,bf_alpha_sq,bf_alpha_cb] = sympy.symbols('radial_eval radial_eval_alpha radial_eval_alpha_squared radial_eval_alpha_cubed',real=True) bf_x = x * bf_alpha bf_y = y * bf_alpha bf_z = z * bf_alpha @@ -28,6 +30,17 @@ def generate_shell_to_task_lines( ang, deriv_order = 0 ): bf_xz = x*z*bf_alpha_sq bf_yz = y*z*bf_alpha_sq + bf_xxx = (x + x + x)*bf_alpha_sq + x*x*x*bf_alpha_cb + bf_xxy = (y + 0 + 0)*bf_alpha_sq + x*x*y*bf_alpha_cb + bf_xxz = (z + 0 + 0)*bf_alpha_sq + x*x*z*bf_alpha_cb + bf_yyx = (x + 0 + 0)*bf_alpha_sq + y*y*x*bf_alpha_cb + bf_yyy = (y + y + y)*bf_alpha_sq + y*y*y*bf_alpha_cb + bf_yyz = (z + 0 + 0)*bf_alpha_sq + y*y*z*bf_alpha_cb + bf_zzx = (x + 0 + 0)*bf_alpha_sq + z*z*x*bf_alpha_cb + bf_zzy = (y + 0 + 0)*bf_alpha_sq + z*z*y*bf_alpha_cb + bf_zzz = (z + z + z)*bf_alpha_sq + z*z*z*bf_alpha_cb + + bf_eval_strs = [] bf_x_eval_strs = [] bf_y_eval_strs = [] @@ -39,6 +52,9 @@ def generate_shell_to_task_lines( ang, deriv_order = 0 ): bf_yz_eval_strs = [] bf_zz_eval_strs = [] bf_lap_eval_strs = [] + bf_lap_x_eval_strs = [] + bf_lap_y_eval_strs = [] + bf_lap_z_eval_strs = [] for j in range(len(ang)): a = ang[j] a_x = sympy.diff( a, x ) @@ -52,25 +68,46 @@ def generate_shell_to_task_lines( ang, deriv_order = 0 ): a_yz = sympy.diff( a_y, z ) a_zz = sympy.diff( a_z, z ) - bf_eval = sympy.simplify( a * bf ) - bf_x_eval = sympy.simplify( a_x * bf + a * bf_x ) - bf_y_eval = sympy.simplify( a_y * bf + a * bf_y ) - bf_z_eval = sympy.simplify( a_z * bf + a * bf_z ) - - bf_xx_eval = sympy.simplify( a_xx * bf + 2 * a_x * bf_x + a * bf_xx ) - bf_yy_eval = sympy.simplify( a_yy * bf + 2 * a_y * bf_y + a * bf_yy ) - bf_zz_eval = sympy.simplify( a_zz * bf + 2 * a_z * bf_z + a * bf_zz ) + a_xxx = sympy.diff( a_xx, x ) + a_xxy = sympy.diff( a_xx, y ) + a_xxz = sympy.diff( a_xx, z ) + a_yyx = sympy.diff( a_yy, x ) + a_yyy = sympy.diff( a_yy, y ) + a_yyz = sympy.diff( a_yy, z ) + a_zzx = sympy.diff( a_zz, x ) + a_zzy = sympy.diff( a_zz, y ) + a_zzz = sympy.diff( a_zz, z ) + + bf_eval = a * bf + bf_x_eval = a_x * bf + a * bf_x + bf_y_eval = a_y * bf + a * bf_y + bf_z_eval = a_z * bf + a * bf_z + + bf_xx_eval = a_xx * bf + 2 * a_x * bf_x + a * bf_xx + bf_yy_eval = a_yy * bf + 2 * a_y * bf_y + a * bf_yy + bf_zz_eval = a_zz * bf + 2 * a_z * bf_z + a * bf_zz + + bf_lap_eval = bf_xx_eval + bf_yy_eval + bf_zz_eval + + bf_xy_eval = a_xy * bf + a_x * bf_y + a_y * bf_x + a * bf_xy + bf_xz_eval = a_xz * bf + a_x * bf_z + a_z * bf_x + a * bf_xz + bf_yz_eval = a_yz * bf + a_y * bf_z + a_z * bf_y + a * bf_yz + + bf_xxx_eval = a_xxx * bf + 3 * (a_xx * bf_x + a_x * bf_xx) + a * bf_xxx + bf_yyy_eval = a_yyy * bf + 3 * (a_yy * bf_y + a_y * bf_yy) + a * bf_yyy + bf_zzz_eval = a_zzz * bf + 3 * (a_zz * bf_z + a_z * bf_zz) + a * bf_zzz + + bf_xxy_eval = a_xxy * bf + 2*a_xy*bf_x + a_xx*bf_y + 2*bf_xy*a_x + bf_xx*a_y + a* bf_xxy + bf_xxz_eval = a_xxz * bf + 2*a_xz*bf_x + a_xx*bf_z + 2*bf_xz*a_x + bf_xx*a_z + a* bf_xxz + bf_yyx_eval = a_yyx * bf + 2*a_xy*bf_y + a_yy*bf_x + 2*bf_xy*a_y + bf_yy*a_x + a* bf_yyx + bf_yyz_eval = a_yyz * bf + 2*a_yz*bf_y + a_yy*bf_z + 2*bf_yz*a_y + bf_yy*a_z + a* bf_yyz + bf_zzx_eval = a_zzx * bf + 2*a_xz*bf_z + a_zz*bf_x + 2*bf_xz*a_z + bf_zz*a_x + a* bf_zzx + bf_zzy_eval = a_zzy * bf + 2*a_yz*bf_z + a_zz*bf_y + 2*bf_yz*a_z + bf_zz*a_y + a* bf_zzy + + bf_lap_x_eval = bf_xxx_eval + bf_yyx_eval + bf_zzx_eval + bf_lap_y_eval = bf_xxy_eval + bf_yyy_eval + bf_zzy_eval + bf_lap_z_eval = bf_xxz_eval + bf_yyz_eval + bf_zzz_eval - bf_lap_eval = sympy.simplify(bf_xx_eval + bf_yy_eval + bf_zz_eval) - - bf_xy_eval = sympy.simplify( a_xy * bf + a_x * bf_y + a_y * bf_x + a * bf_xy ) - bf_xz_eval = sympy.simplify( a_xz * bf + a_x * bf_z + a_z * bf_x + a * bf_xz ) - bf_yz_eval = sympy.simplify( a_yz * bf + a_y * bf_z + a_z * bf_y + a * bf_yz ) - - #bf_eval_str = 'ang_eval = {};'.format(bf_eval) - #bf_x_eval_str = 'dang_eval_x = {};'.format(bf_x_eval) - #bf_y_eval_str = 'dang_eval_y = {};'.format(bf_y_eval) - #bf_z_eval_str = 'dang_eval_z = {};'.format(bf_z_eval) bf_eval_str = '{}'.format(bf_eval ) bf_x_eval_str = '{}'.format(bf_x_eval) bf_y_eval_str = '{}'.format(bf_y_eval) @@ -85,26 +122,10 @@ def generate_shell_to_task_lines( ang, deriv_order = 0 ): bf_lap_eval_str = '{}'.format(bf_lap_eval) - for k in range(2,L+3): - for X in ('x','y','z'): - pow_str = X + '**' + str(k) - repl_str = '' - for K in range(k-1): repl_str = repl_str + X + '*' - repl_str = repl_str + X - - bf_eval_str = bf_eval_str.replace(pow_str,repl_str) - bf_x_eval_str = bf_x_eval_str.replace(pow_str,repl_str) - bf_y_eval_str = bf_y_eval_str.replace(pow_str,repl_str) - bf_z_eval_str = bf_z_eval_str.replace(pow_str,repl_str) - - bf_xx_eval_str = bf_xx_eval_str.replace(pow_str,repl_str) - bf_xy_eval_str = bf_xy_eval_str.replace(pow_str,repl_str) - bf_xz_eval_str = bf_xz_eval_str.replace(pow_str,repl_str) - bf_yy_eval_str = bf_yy_eval_str.replace(pow_str,repl_str) - bf_yz_eval_str = bf_yz_eval_str.replace(pow_str,repl_str) - bf_zz_eval_str = bf_zz_eval_str.replace(pow_str,repl_str) - - bf_lap_eval_str = bf_lap_eval_str.replace(pow_str,repl_str) + bf_lap_x_eval_str = '{}'.format(bf_lap_x_eval) + bf_lap_y_eval_str = '{}'.format(bf_lap_y_eval) + bf_lap_z_eval_str = '{}'.format(bf_lap_z_eval) + bf_eval_strs.append( bf_eval_str ) bf_x_eval_strs.append( bf_x_eval_str ) bf_y_eval_strs.append( bf_y_eval_str ) @@ -118,11 +139,16 @@ def generate_shell_to_task_lines( ang, deriv_order = 0 ): bf_zz_eval_strs.append( bf_zz_eval_str ) bf_lap_eval_strs.append( bf_lap_eval_str ) + bf_lap_x_eval_strs.append( bf_lap_x_eval_str ) + bf_lap_y_eval_strs.append( bf_lap_y_eval_str ) + bf_lap_z_eval_strs.append( bf_lap_z_eval_str ) if deriv_order == 0: return bf_eval_strs elif deriv_order == 1: return [bf_x_eval_strs, bf_y_eval_strs, bf_z_eval_strs] elif deriv_order == 2: return [bf_xx_eval_strs, bf_xy_eval_strs, bf_xz_eval_strs, bf_yy_eval_strs, bf_yz_eval_strs, bf_zz_eval_strs, bf_lap_eval_strs] + elif deriv_order == 3: + return [bf_lap_x_eval_strs, bf_lap_y_eval_strs, bf_lap_z_eval_strs] @@ -131,7 +157,7 @@ def get_constant_lines( lines ): constant_lines = [] # Sqrts - sqrt_regex = "sqrt\([0-9]+\)" + sqrt_regex = 'sqrt\([0-9]+\)' sqrt_finds = list(set(re.findall( sqrt_regex, "\n".join(lines) ))) # Replace locally @@ -146,7 +172,7 @@ def get_constant_lines( lines ): def sanitize_constants( lines ): # Sqrts - sqrt_regex = "sqrt\([0-9]+\)" + sqrt_regex = 'sqrt\([0-9]+\)' sqrt_finds = list(set(re.findall( sqrt_regex, "\n".join(lines) ))) for x in sqrt_finds: @@ -174,6 +200,9 @@ def sanitize_constants( lines ): cart_bfyz_lines = [] cart_bfzz_lines = [] cart_bflap_lines = [] +cart_bflap_x_lines = [] +cart_bflap_y_lines = [] +cart_bflap_z_lines = [] sph_bfxx_lines = [] sph_bfxy_lines = [] sph_bfxz_lines = [] @@ -181,6 +210,9 @@ def sanitize_constants( lines ): sph_bfyz_lines = [] sph_bfzz_lines = [] sph_bflap_lines = [] +sph_bflap_x_lines = [] +sph_bflap_y_lines = [] +sph_bflap_z_lines = [] for L in range( L_max + 1 ): print("Workding on L = ", L) @@ -219,6 +251,16 @@ def sanitize_constants( lines ): sph_bfzz_lines.append(bfzz) sph_bflap_lines.append(bflap) + [bflap_x, bflap_y, bflap_z] = generate_shell_to_task_lines(cart_ang,3) + cart_bflap_x_lines.append(bflap_x) + cart_bflap_y_lines.append(bflap_y) + cart_bflap_z_lines.append(bflap_z) + + [bflap_x, bflap_y, bflap_z] = generate_shell_to_task_lines(sph_ang,3) + sph_bflap_x_lines.append(bflap_x) + sph_bflap_y_lines.append(bflap_y) + sph_bflap_z_lines.append(bflap_z) + constant_lines = [] for lines in itertools.chain( cart_bf_lines, sph_bf_lines ): @@ -227,60 +269,49 @@ def sanitize_constants( lines ): constant_lines.append(line) -# Sanitize wrt constants -for i,lines in enumerate(cart_bf_lines): - cart_bf_lines[i] = sanitize_constants( lines ) -for i,lines in enumerate(sph_bf_lines): - sph_bf_lines[i] = sanitize_constants( lines ) - -for i,lines in enumerate(cart_bfx_lines): - cart_bfx_lines[i] = sanitize_constants( lines ) -for i,lines in enumerate(cart_bfy_lines): - cart_bfy_lines[i] = sanitize_constants( lines ) -for i,lines in enumerate(cart_bfz_lines): - cart_bfz_lines[i] = sanitize_constants( lines ) - -for i,lines in enumerate(sph_bfx_lines): - sph_bfx_lines[i] = sanitize_constants( lines ) -for i,lines in enumerate(sph_bfy_lines): - sph_bfy_lines[i] = sanitize_constants( lines ) -for i,lines in enumerate(sph_bfz_lines): - sph_bfz_lines[i] = sanitize_constants( lines ) - -for i,lines in enumerate(cart_bfxx_lines): - cart_bfxx_lines[i] = sanitize_constants( lines ) -for i,lines in enumerate(cart_bfxy_lines): - cart_bfxy_lines[i] = sanitize_constants( lines ) -for i,lines in enumerate(cart_bfxz_lines): - cart_bfxz_lines[i] = sanitize_constants( lines ) -for i,lines in enumerate(cart_bfyy_lines): - cart_bfyy_lines[i] = sanitize_constants( lines ) -for i,lines in enumerate(cart_bfyz_lines): - cart_bfyz_lines[i] = sanitize_constants( lines ) -for i,lines in enumerate(cart_bfzz_lines): - cart_bfzz_lines[i] = sanitize_constants( lines ) -for i,lines in enumerate(cart_bflap_lines): - cart_bflap_lines[i] = sanitize_constants( lines ) - -for i,lines in enumerate(sph_bfxx_lines): - sph_bfxx_lines[i] = sanitize_constants( lines ) -for i,lines in enumerate(sph_bfxy_lines): - sph_bfxy_lines[i] = sanitize_constants( lines ) -for i,lines in enumerate(sph_bfxz_lines): - sph_bfxz_lines[i] = sanitize_constants( lines ) -for i,lines in enumerate(sph_bfyy_lines): - sph_bfyy_lines[i] = sanitize_constants( lines ) -for i,lines in enumerate(sph_bfyz_lines): - sph_bfyz_lines[i] = sanitize_constants( lines ) -for i,lines in enumerate(sph_bfzz_lines): - sph_bfzz_lines[i] = sanitize_constants( lines ) -for i,lines in enumerate(sph_bflap_lines): - sph_bflap_lines[i] = sanitize_constants( lines ) +def perform_cse_and_cleanup(eval_line_list): + expand_opt = create_expand_pow_optimization(20) + + for i in range(len(eval_line_list)): + if len(eval_line_list[0]) != len(eval_line_list[i]): + raise RuntimeError("Eval lines are not uniform length") + + # Concatenate lists + prim_len = len(eval_line_list[0]) + big_list = [] + for i in range(len(eval_line_list)): + for x in eval_line_list[i]: big_list.append(x) + + # Sanitize constants + big_list = sanitize_constants(big_list) + + # Parse to SymPy expressions + big_list = [sympy.parse_expr(x) for x in big_list] + + # Apply expand opt + big_list = [expand_opt(x) for x in big_list] + + # Perform CSE + (common_lines, big_list) = sympy.cse(big_list, optimizations='basic') + + # Sanitize output lines + big_list = [ccode(expand_opt(sympy.simplify(x.evalf()))) for x in big_list] + common_lines = [ (x,ccode(expand_opt(sympy.simplify(y.evalf())))) for (x,y) in common_lines ] + + # Split big list + for i in range(len(eval_line_list)): + eval_line_list[i] = big_list[i*prim_len:(i+1)*prim_len] + + return (common_lines,eval_line_list) + + def generate_code( eval_lines, L, eval_type, template_fname, output_fname ): old_sysout = sys.stdout - var_dict = { 'eval_lines' : eval_lines, 'L' : L, 'type' : eval_type } + common_lines, eval_lines = perform_cse_and_cleanup([eval_lines]) + eval_lines = eval_lines[0] + var_dict = { 'common_lines': common_lines, 'eval_lines' : eval_lines, 'L' : L, 'type' : eval_type, 'nt' : 512 } sys.stdout = expand = StringIO() expander.expandFile( template_fname, external_definitions = var_dict, auto_indent = True ) expand = expand.getvalue() @@ -291,11 +322,20 @@ def generate_code( eval_lines, L, eval_type, template_fname, output_fname ): def generate_code_gradient( eval_lines, eval_lines_dx, eval_lines_dy, eval_lines_dz, L, eval_type, template_fname, output_fname ): old_sysout = sys.stdout - var_dict = { 'eval_lines' : eval_lines, + + common_lines, big_list = perform_cse_and_cleanup([eval_lines, eval_lines_dx, eval_lines_dy, eval_lines_dz]) + eval_lines = big_list[0] + eval_lines_dx = big_list[1] + eval_lines_dy = big_list[2] + eval_lines_dz = big_list[3] + + var_dict = { 'common_lines': common_lines, + 'eval_lines' : eval_lines, 'eval_lines_dx' : eval_lines_dx, 'eval_lines_dy' : eval_lines_dy, 'eval_lines_dz' : eval_lines_dz, - 'L' : L, 'type' : eval_type } + 'L' : L, 'type' : eval_type, + 'nt' : 512 if L < 1 else 256 if L < 4 else 128} sys.stdout = expand = StringIO() expander.expandFile( template_fname, external_definitions = var_dict, auto_indent = True ) expand = expand.getvalue() @@ -306,7 +346,65 @@ def generate_code_gradient( eval_lines, eval_lines_dx, eval_lines_dy, eval_lines def generate_code_hessian( eval_lines, eval_lines_dx, eval_lines_dy, eval_lines_dz, eval_lines_dxx, eval_lines_dxy, eval_lines_dxz, eval_lines_dyy, eval_lines_dyz, eval_lines_dzz, eval_lines_lap, L, eval_type, template_fname, output_fname ): old_sysout = sys.stdout - var_dict = { 'eval_lines' : eval_lines, + big_list = [eval_lines, eval_lines_dx, eval_lines_dy, eval_lines_dz, eval_lines_dxx, eval_lines_dxy, eval_lines_dxz, eval_lines_dyy, eval_lines_dyz, eval_lines_dzz, eval_lines_lap] + common_lines, big_list = perform_cse_and_cleanup(big_list) + eval_lines = big_list[0] + eval_lines_dx = big_list[1] + eval_lines_dy = big_list[2] + eval_lines_dz = big_list[3] + eval_lines_dxx = big_list[4] + eval_lines_dxy = big_list[5] + eval_lines_dxz = big_list[6] + eval_lines_dyy = big_list[7] + eval_lines_dyz = big_list[8] + eval_lines_dzz = big_list[9] + eval_lines_lap = big_list[10] + + var_dict = { 'common_lines' : common_lines, + 'eval_lines' : eval_lines, + 'eval_lines_dx' : eval_lines_dx, + 'eval_lines_dy' : eval_lines_dy, + 'eval_lines_dz' : eval_lines_dz, + 'eval_lines_dxx' : eval_lines_dxx, + 'eval_lines_dxy' : eval_lines_dxy, + 'eval_lines_dxz' : eval_lines_dxz, + 'eval_lines_dyy' : eval_lines_dyy, + 'eval_lines_dyz' : eval_lines_dyz, + 'eval_lines_dzz' : eval_lines_dzz, + 'eval_lines_lapl' : eval_lines_lap, + 'L' : L, 'type' : eval_type, + 'nt' : 256 if L < 1 else 128 } + sys.stdout = expand = StringIO() + expander.expandFile( template_fname, external_definitions = var_dict, auto_indent = True ) + expand = expand.getvalue() + sys.stdout = old_sysout + + output_file = open(output_fname, 'w') + output_file.write(expand) + + + +def generate_code_lapgrad( eval_lines, eval_lines_dx, eval_lines_dy, eval_lines_dz, eval_lines_dxx, eval_lines_dxy, eval_lines_dxz, eval_lines_dyy, eval_lines_dyz, eval_lines_dzz, eval_lines_lap, eval_lines_lapx, eval_lines_lapy, eval_lines_lapz, L, eval_type, template_fname, output_fname ): + old_sysout = sys.stdout + big_list = [eval_lines, eval_lines_dx, eval_lines_dy, eval_lines_dz, eval_lines_dxx, eval_lines_dxy, eval_lines_dxz, eval_lines_dyy, eval_lines_dyz, eval_lines_dzz, eval_lines_lap, eval_lines_lapx, eval_lines_lapy, eval_lines_lapz] + common_lines, big_list = perform_cse_and_cleanup(big_list) + eval_lines = big_list[0] + eval_lines_dx = big_list[1] + eval_lines_dy = big_list[2] + eval_lines_dz = big_list[3] + eval_lines_dxx = big_list[4] + eval_lines_dxy = big_list[5] + eval_lines_dxz = big_list[6] + eval_lines_dyy = big_list[7] + eval_lines_dyz = big_list[8] + eval_lines_dzz = big_list[9] + eval_lines_lap = big_list[10] + eval_lines_lapx = big_list[11] + eval_lines_lapy = big_list[12] + eval_lines_lapz = big_list[13] + + var_dict = { 'common_lines' : common_lines, + 'eval_lines' : eval_lines, 'eval_lines_dx' : eval_lines_dx, 'eval_lines_dy' : eval_lines_dy, 'eval_lines_dz' : eval_lines_dz, @@ -317,7 +415,11 @@ def generate_code_hessian( eval_lines, eval_lines_dx, eval_lines_dy, eval_lines_ 'eval_lines_dyz' : eval_lines_dyz, 'eval_lines_dzz' : eval_lines_dzz, 'eval_lines_lapl' : eval_lines_lap, - 'L' : L, 'type' : eval_type } + 'eval_lines_lapl_x' : eval_lines_lapx, + 'eval_lines_lapl_y' : eval_lines_lapy, + 'eval_lines_lapl_z' : eval_lines_lapz, + 'L' : L, 'type' : eval_type, + 'nt' : 256 if L < 1 else 128 } sys.stdout = expand = StringIO() expander.expandFile( template_fname, external_definitions = var_dict, auto_indent = True ) expand = expand.getvalue() @@ -362,6 +464,17 @@ def generate_code_hessian( eval_lines, eval_lines_dx, eval_lines_dy, eval_lines_ sph_bfxx_lines[L], sph_bfxy_lines[L], sph_bfxz_lines[L], sph_bfyy_lines[L], sph_bfyz_lines[L], sph_bfzz_lines[L], sph_bflap_lines[L], L, 'spherical_laplacian', template_fname, sph_header_fname ) + cart_header_fname = "collocation_shell_to_task_kernels_cartesian_l" + str(L) + "_lapgrad.hpp" + sph_header_fname = "collocation_shell_to_task_kernels_spherical_l" + str(L) + "_lapgrad.hpp" + generate_code_lapgrad( cart_bf_lines[L], cart_bfx_lines[L], cart_bfy_lines[L], cart_bfz_lines[L], + cart_bfxx_lines[L], cart_bfxy_lines[L], cart_bfxz_lines[L], cart_bfyy_lines[L], cart_bfyz_lines[L], + cart_bfzz_lines[L], cart_bflap_lines[L], cart_bflap_x_lines[L], cart_bflap_y_lines[L], cart_bflap_z_lines[L], + L, 'cartesian_lapgrad', template_fname, cart_header_fname ) + generate_code_lapgrad( sph_bf_lines[L], sph_bfx_lines[L], sph_bfy_lines[L], sph_bfz_lines[L], + sph_bfxx_lines[L], sph_bfxy_lines[L], sph_bfxz_lines[L], sph_bfyy_lines[L], sph_bfyz_lines[L], + sph_bfzz_lines[L], sph_bflap_lines[L], sph_bflap_x_lines[L], sph_bflap_y_lines[L], sph_bflap_z_lines[L], + L, 'spherical_lapgrad', template_fname, sph_header_fname ) + #template_fname = 'templates/collocation_shell_to_task_combined_kernels.hpp' #cart_header_fname = "collocation_shell_to_task_combined_kernels_cartesian_l" + str(L) + ".hpp" diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/templates/collocation_device_template.cu b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/templates/collocation_device_template.cu index 62557401..6fb41fe8 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/templates/collocation_device_template.cu +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/templates/collocation_device_template.cu @@ -348,7 +348,7 @@ template void dispatch_shell_to_task_collocation_gradient( cudaStream_t stream, int32_t l, bool pure, uint32_t ntask_average, uint32_t nshells, Args&&... args ) { - dim3 threads = max_threads_shell_to_task_collocation(l,pure); + dim3 threads = max_threads_shell_to_task_collocation_gradient(l,pure); int nwarp_per_block = threads.x / cuda::warp_size; int n_task_blocks = util::div_ceil( ntask_average, nwarp_per_block ); dim3 block(n_task_blocks, 1, nshells); @@ -425,7 +425,7 @@ template void dispatch_shell_to_task_collocation_hessian( cudaStream_t stream, int32_t l, bool pure, uint32_t ntask_average, uint32_t nshells, Args&&... args ) { - dim3 threads = max_threads_shell_to_task_collocation(l,pure); + dim3 threads = max_threads_shell_to_task_collocation_hessian(l,pure); int nwarp_per_block = threads.x / cuda::warp_size; int n_task_blocks = util::div_ceil( ntask_average, nwarp_per_block ); dim3 block(n_task_blocks, 1, nshells); @@ -506,7 +506,7 @@ template void dispatch_shell_to_task_collocation_laplacian( cudaStream_t stream, int32_t l, bool pure, uint32_t ntask_average, uint32_t nshells, Args&&... args ) { - dim3 threads = max_threads_shell_to_task_collocation(l,pure); + dim3 threads = max_threads_shell_to_task_collocation_laplacian(l,pure); int nwarp_per_block = threads.x / cuda::warp_size; int n_task_blocks = util::div_ceil( ntask_average, nwarp_per_block ); dim3 block(n_task_blocks, 1, nshells); @@ -561,6 +561,89 @@ void eval_collocation_shell_to_task_laplacian( } +uint32_t max_threads_shell_to_task_collocation_lapgrad( int32_t l, bool pure ) { + if( pure ) { + switch(l) { + case 0: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_lapgrad_0 );\ + $for( L in range(1, L_max + 1) ) + case $(L): return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_spherical_lapgrad_$(L) ); + $endfor + default: GAUXC_GENERIC_EXCEPTION("CUDA L_MAX = $(L_max)"); + } + } else { + switch(l) {\ + $for( L in range(L_max + 1) ) + case $(L): return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_lapgrad_$(L) );\ + $endfor + default: GAUXC_GENERIC_EXCEPTION("CUDA L_MAX = $(L_max)"); + } + } + return 0; +} + + + + + +template +void dispatch_shell_to_task_collocation_lapgrad( cudaStream_t stream, int32_t l, + bool pure, uint32_t ntask_average, uint32_t nshells, Args&&... args ) { + + dim3 threads = max_threads_shell_to_task_collocation_lapgrad(l,pure); + int nwarp_per_block = threads.x / cuda::warp_size; + int n_task_blocks = util::div_ceil( ntask_average, nwarp_per_block ); + dim3 block(n_task_blocks, 1, nshells); + + if( pure ) { + switch(l) { + case 0: + collocation_device_shell_to_task_kernel_cartesian_lapgrad_0<<>>( nshells, std::forward(args)... ); + break; + $for( L in range(1, L_max + 1) ) + case $(L): + collocation_device_shell_to_task_kernel_spherical_lapgrad_$(L)<<>>( nshells, std::forward(args)... ); + break;\ + $endfor + default: GAUXC_GENERIC_EXCEPTION("CUDA L_MAX = $(L_max)"); + } + } else { + switch(l) {\ + $for( L in range(0, L_max + 1) ) + case $(L): + collocation_device_shell_to_task_kernel_cartesian_lapgrad_$(L)<<>>( nshells, std::forward(args)... ); + break;\ + $endfor + default: GAUXC_GENERIC_EXCEPTION("CUDA L_MAX = $(L_max)"); + } + } + +} + + + +void eval_collocation_shell_to_task_lapgrad( + uint32_t max_l, + AngularMomentumShellToTaskBatch* l_batched_shell_to_task, + XCDeviceTask* device_tasks, + device_queue queue +) { + + cudaStream_t stream = queue.queue_as() ; + + for( auto l = 0u; l <= max_l; ++l ) { + auto pure = l_batched_shell_to_task[l].pure; + auto shell_to_task_device = l_batched_shell_to_task[l].shell_to_task_device; + auto nshells = l_batched_shell_to_task[l].nshells_in_batch; + auto ntask_average = std::max(1ul, l_batched_shell_to_task[l].ntask_average); + dispatch_shell_to_task_collocation_lapgrad( stream, l, pure, + ntask_average, nshells, shell_to_task_device, device_tasks ); + auto stat = cudaGetLastError(); + GAUXC_CUDA_ERROR("LAP", stat); + } + + +} + } // namespace GauXC diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/templates/collocation_shell_to_task_kernels.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/templates/collocation_shell_to_task_kernels.hpp index 4b223611..82f9382d 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/templates/collocation_shell_to_task_kernels.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/templates/collocation_shell_to_task_kernels.hpp @@ -14,10 +14,10 @@ namespace GauXC { -$py(do_grad = 'gradient' in type or 'hessian' in type or 'lapl' in type)\ -$py(do_hess = 'hessian' in type)\ -$py(do_lapl = 'lapl' in type)\ -$py(nt = 512)\ +$py(do_grad = 'gradient' in type or 'hessian' in type or 'lapl' in type or 'lapgrad' in type)\ +$py(do_hess = 'hessian' in type or 'lapgrad' in type)\ +$py(do_lapl = 'lapl' in type or 'lapgrad' in type)\ +$py(do_lapl_grad = 'lapgrad' in type)\ __global__ __launch_bounds__($(nt),2) void collocation_device_shell_to_task_kernel_$(type)_$(L)( uint32_t nshell, @@ -72,7 +72,6 @@ __global__ __launch_bounds__($(nt),2) void collocation_device_shell_to_task_kern auto* __restrict__ basis_y_eval = task->dbfy + shoff; auto* __restrict__ basis_z_eval = task->dbfz + shoff; $endif\ - $if( do_hess )\ auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; @@ -84,6 +83,11 @@ __global__ __launch_bounds__($(nt),2) void collocation_device_shell_to_task_kern $if( do_lapl )\ auto* __restrict__ basis_lapl_eval = task->d2bflapl + shoff; $endif\ +$if( do_lapl_grad )\ + auto* __restrict__ basis_lapl_x_eval = task->d3bflapl_x + shoff; + auto* __restrict__ basis_lapl_y_eval = task->d3bflapl_y + shoff; + auto* __restrict__ basis_lapl_z_eval = task->d3bflapl_z + shoff; +$endif\ // Loop over points in task // Assign each point to separate thread within the warp @@ -109,6 +113,9 @@ __global__ __launch_bounds__($(nt),2) void collocation_device_shell_to_task_kern $if( do_hess or do_lapl)\ double radial_eval_alpha_squared = 0.; $endif\ +$if( do_lapl_grad)\ + double radial_eval_alpha_cubed = 0.; +$endif\ #pragma unroll 1 for( uint32_t i = 0; i < nprim; ++i ) { @@ -121,6 +128,9 @@ __global__ __launch_bounds__($(nt),2) void collocation_device_shell_to_task_kern $endif\ $if( do_hess or do_lapl)\ radial_eval_alpha_squared += a * a * e; +$endif\ +$if( do_lapl_grad)\ + radial_eval_alpha_cubed += a * a * a * e; $endif\ } @@ -130,8 +140,14 @@ __global__ __launch_bounds__($(nt),2) void collocation_device_shell_to_task_kern $if( do_hess or do_lapl)\ radial_eval_alpha_squared *= 4; $endif\ +$if( do_lapl_grad )\ + radial_eval_alpha_cubed *= -8; +$endif\ - + // Common Subexpressions +$for( i in range(len(common_lines)) )\ + const auto $(common_lines[i][0]) = $(common_lines[i][1]); +$endfor // Evaluate basis function $for( j in range(len(eval_lines)) )\ @@ -187,13 +203,29 @@ __global__ __launch_bounds__($(nt),2) void collocation_device_shell_to_task_kern basis_zz_eval[ipt + $(j)*npts] = $(eval_lines_dzz[j]); $endfor\ $endif\ + $if(do_lapl)\ // Evaluate Laplacian of bfn -$for( j in range(len(eval_lines_dx)) )\ +$for( j in range(len(eval_lines_lapl)) )\ basis_lapl_eval[ipt + $(j)*npts] = $(eval_lines_lapl[j]); $endfor\ $endif\ +$if(do_lapl_grad)\ + // Evaluate Laplacian gradient of bfn (dx) +$for( j in range(len(eval_lines_lapl_x)) )\ + basis_lapl_x_eval[ipt + $(j)*npts] = $(eval_lines_lapl_x[j]); +$endfor\ + // Evaluate Laplacian gradient of bfn (dy) +$for( j in range(len(eval_lines_lapl_y)) )\ + basis_lapl_y_eval[ipt + $(j)*npts] = $(eval_lines_lapl_y[j]); +$endfor\ + // Evaluate Laplacian gradient of bfn (dz) +$for( j in range(len(eval_lines_lapl_z)) )\ + basis_lapl_z_eval[ipt + $(j)*npts] = $(eval_lines_lapl_z[j]); +$endfor\ +$endif\ + diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/templates/collocation_shell_to_task_kernels_template.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/templates/collocation_shell_to_task_kernels_template.hpp index 544554b3..c0fa668e 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/templates/collocation_shell_to_task_kernels_template.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation/templates/collocation_shell_to_task_kernels_template.hpp @@ -23,6 +23,10 @@ #include "collocation/collocation_shell_to_task_kernels_cartesian_l$(L)_laplacian.hpp"\ $endfor +$for( L in range(L_max + 1)) +#include "collocation/collocation_shell_to_task_kernels_cartesian_l$(L)_lapgrad.hpp"\ +$endfor + $for( L in range(L_max + 1)) #include "collocation/collocation_shell_to_task_kernels_spherical_l$(L).hpp"\ $endfor @@ -38,3 +42,7 @@ $for( L in range(L_max + 1)) #include "collocation/collocation_shell_to_task_kernels_spherical_l$(L)_laplacian.hpp"\ $endfor + +$for( L in range(L_max + 1)) +#include "collocation/collocation_shell_to_task_kernels_spherical_l$(L)_lapgrad.hpp"\ +$endfor diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation_device.cu b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation_device.cu index 5ed615fb..fa67bfa3 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation_device.cu +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation_device.cu @@ -372,7 +372,7 @@ template void dispatch_shell_to_task_collocation_gradient( cudaStream_t stream, int32_t l, bool pure, uint32_t ntask_average, uint32_t nshells, Args&&... args ) { - dim3 threads = max_threads_shell_to_task_collocation(l,pure); + dim3 threads = max_threads_shell_to_task_collocation_gradient(l,pure); int nwarp_per_block = threads.x / cuda::warp_size; int n_task_blocks = util::div_ceil( ntask_average, nwarp_per_block ); dim3 block(n_task_blocks, 1, nshells); @@ -469,7 +469,7 @@ template void dispatch_shell_to_task_collocation_hessian( cudaStream_t stream, int32_t l, bool pure, uint32_t ntask_average, uint32_t nshells, Args&&... args ) { - dim3 threads = max_threads_shell_to_task_collocation(l,pure); + dim3 threads = max_threads_shell_to_task_collocation_hessian(l,pure); int nwarp_per_block = threads.x / cuda::warp_size; int n_task_blocks = util::div_ceil( ntask_average, nwarp_per_block ); dim3 block(n_task_blocks, 1, nshells); @@ -539,39 +539,42 @@ void eval_collocation_shell_to_task_hessian( } - - - - - uint32_t max_threads_shell_to_task_collocation_laplacian( int32_t l, bool pure ) { if( pure ) { switch(l) { - case 0: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_laplacian_0 ); + case 0: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_laplacian_0 ); case 1: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_spherical_laplacian_1 ); + case 2: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_spherical_laplacian_2 ); + case 3: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_spherical_laplacian_3 ); + case 4: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_spherical_laplacian_4 ); + default: GAUXC_GENERIC_EXCEPTION("CUDA L_MAX = 4"); } } else { - switch(l) { - case 0: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_laplacian_0 ); - case 1: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_laplacian_1 ); - case 2: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_laplacian_2 ); - case 3: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_laplacian_3 ); - case 4: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_laplacian_4 ); + switch(l) { + case 0: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_laplacian_0 ); + case 1: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_laplacian_1 ); + case 2: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_laplacian_2 ); + case 3: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_laplacian_3 ); + case 4: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_laplacian_4 ); default: GAUXC_GENERIC_EXCEPTION("CUDA L_MAX = 4"); } } return 0; } + + + + template -void dispatch_shell_to_task_collocation_laplacian( cudaStream_t stream, int32_t l, +void dispatch_shell_to_task_collocation_laplacian( cudaStream_t stream, int32_t l, bool pure, uint32_t ntask_average, uint32_t nshells, Args&&... args ) { - dim3 threads = max_threads_shell_to_task_collocation(l,pure); + dim3 threads = max_threads_shell_to_task_collocation_laplacian(l,pure); int nwarp_per_block = threads.x / cuda::warp_size; int n_task_blocks = util::div_ceil( ntask_average, nwarp_per_block ); dim3 block(n_task_blocks, 1, nshells); @@ -581,37 +584,38 @@ void dispatch_shell_to_task_collocation_laplacian( cudaStream_t stream, int32_t case 0: collocation_device_shell_to_task_kernel_cartesian_laplacian_0<<>>( nshells, std::forward(args)... ); break; + case 1: collocation_device_shell_to_task_kernel_spherical_laplacian_1<<>>( nshells, std::forward(args)... ); - break; + break; case 2: collocation_device_shell_to_task_kernel_spherical_laplacian_2<<>>( nshells, std::forward(args)... ); - break; + break; case 3: collocation_device_shell_to_task_kernel_spherical_laplacian_3<<>>( nshells, std::forward(args)... ); - break; + break; case 4: collocation_device_shell_to_task_kernel_spherical_laplacian_4<<>>( nshells, std::forward(args)... ); - break; + break; default: GAUXC_GENERIC_EXCEPTION("CUDA L_MAX = 4"); } } else { - switch(l) { + switch(l) { case 0: collocation_device_shell_to_task_kernel_cartesian_laplacian_0<<>>( nshells, std::forward(args)... ); - break; + break; case 1: collocation_device_shell_to_task_kernel_cartesian_laplacian_1<<>>( nshells, std::forward(args)... ); - break; + break; case 2: collocation_device_shell_to_task_kernel_cartesian_laplacian_2<<>>( nshells, std::forward(args)... ); - break; + break; case 3: collocation_device_shell_to_task_kernel_cartesian_laplacian_3<<>>( nshells, std::forward(args)... ); - break; + break; case 4: collocation_device_shell_to_task_kernel_cartesian_laplacian_4<<>>( nshells, std::forward(args)... ); - break; + break; default: GAUXC_GENERIC_EXCEPTION("CUDA L_MAX = 4"); } } @@ -619,11 +623,12 @@ void dispatch_shell_to_task_collocation_laplacian( cudaStream_t stream, int32_t } + void eval_collocation_shell_to_task_laplacian( uint32_t max_l, AngularMomentumShellToTaskBatch* l_batched_shell_to_task, XCDeviceTask* device_tasks, - device_queue queue + device_queue queue ) { cudaStream_t stream = queue.queue_as() ; @@ -633,7 +638,7 @@ void eval_collocation_shell_to_task_laplacian( auto shell_to_task_device = l_batched_shell_to_task[l].shell_to_task_device; auto nshells = l_batched_shell_to_task[l].nshells_in_batch; auto ntask_average = std::max(1ul, l_batched_shell_to_task[l].ntask_average); - dispatch_shell_to_task_collocation_laplacian( stream, l, pure, + dispatch_shell_to_task_collocation_laplacian( stream, l, pure, ntask_average, nshells, shell_to_task_device, device_tasks ); auto stat = cudaGetLastError(); GAUXC_CUDA_ERROR("LAP", stat); @@ -642,6 +647,113 @@ void eval_collocation_shell_to_task_laplacian( } +uint32_t max_threads_shell_to_task_collocation_lapgrad( int32_t l, bool pure ) { + if( pure ) { + switch(l) { + case 0: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_lapgrad_0 ); + case 1: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_spherical_lapgrad_1 ); + + case 2: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_spherical_lapgrad_2 ); + + case 3: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_spherical_lapgrad_3 ); + + case 4: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_spherical_lapgrad_4 ); + + default: GAUXC_GENERIC_EXCEPTION("CUDA L_MAX = 4"); + } + } else { + switch(l) { + case 0: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_lapgrad_0 ); + case 1: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_lapgrad_1 ); + case 2: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_lapgrad_2 ); + case 3: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_lapgrad_3 ); + case 4: return util::cuda_kernel_max_threads_per_block( collocation_device_shell_to_task_kernel_cartesian_lapgrad_4 ); + default: GAUXC_GENERIC_EXCEPTION("CUDA L_MAX = 4"); + } + } + return 0; +} + + + + + +template +void dispatch_shell_to_task_collocation_lapgrad( cudaStream_t stream, int32_t l, + bool pure, uint32_t ntask_average, uint32_t nshells, Args&&... args ) { + + dim3 threads = max_threads_shell_to_task_collocation_lapgrad(l,pure); + int nwarp_per_block = threads.x / cuda::warp_size; + int n_task_blocks = util::div_ceil( ntask_average, nwarp_per_block ); + dim3 block(n_task_blocks, 1, nshells); + + if( pure ) { + switch(l) { + case 0: + collocation_device_shell_to_task_kernel_cartesian_lapgrad_0<<>>( nshells, std::forward(args)... ); + break; + + case 1: + collocation_device_shell_to_task_kernel_spherical_lapgrad_1<<>>( nshells, std::forward(args)... ); + break; + case 2: + collocation_device_shell_to_task_kernel_spherical_lapgrad_2<<>>( nshells, std::forward(args)... ); + break; + case 3: + collocation_device_shell_to_task_kernel_spherical_lapgrad_3<<>>( nshells, std::forward(args)... ); + break; + case 4: + collocation_device_shell_to_task_kernel_spherical_lapgrad_4<<>>( nshells, std::forward(args)... ); + break; + default: GAUXC_GENERIC_EXCEPTION("CUDA L_MAX = 4"); + } + } else { + switch(l) { + case 0: + collocation_device_shell_to_task_kernel_cartesian_lapgrad_0<<>>( nshells, std::forward(args)... ); + break; + case 1: + collocation_device_shell_to_task_kernel_cartesian_lapgrad_1<<>>( nshells, std::forward(args)... ); + break; + case 2: + collocation_device_shell_to_task_kernel_cartesian_lapgrad_2<<>>( nshells, std::forward(args)... ); + break; + case 3: + collocation_device_shell_to_task_kernel_cartesian_lapgrad_3<<>>( nshells, std::forward(args)... ); + break; + case 4: + collocation_device_shell_to_task_kernel_cartesian_lapgrad_4<<>>( nshells, std::forward(args)... ); + break; + default: GAUXC_GENERIC_EXCEPTION("CUDA L_MAX = 4"); + } + } + +} + + + +void eval_collocation_shell_to_task_lapgrad( + uint32_t max_l, + AngularMomentumShellToTaskBatch* l_batched_shell_to_task, + XCDeviceTask* device_tasks, + device_queue queue +) { + + cudaStream_t stream = queue.queue_as() ; + + for( auto l = 0u; l <= max_l; ++l ) { + auto pure = l_batched_shell_to_task[l].pure; + auto shell_to_task_device = l_batched_shell_to_task[l].shell_to_task_device; + auto nshells = l_batched_shell_to_task[l].nshells_in_batch; + auto ntask_average = std::max(1ul, l_batched_shell_to_task[l].ntask_average); + dispatch_shell_to_task_collocation_lapgrad( stream, l, pure, + ntask_average, nshells, shell_to_task_device, device_tasks ); + auto stat = cudaGetLastError(); + GAUXC_CUDA_ERROR("LAPGRAD", stat); + } + + +} diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation_shell_to_task_kernels.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation_shell_to_task_kernels.hpp index a5a725a8..3894e437 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation_shell_to_task_kernels.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/collocation_shell_to_task_kernels.hpp @@ -28,6 +28,7 @@ #include "collocation/collocation_shell_to_task_kernels_cartesian_l3_hessian.hpp" #include "collocation/collocation_shell_to_task_kernels_cartesian_l4_hessian.hpp" + #include "collocation/collocation_shell_to_task_kernels_cartesian_l0_laplacian.hpp" #include "collocation/collocation_shell_to_task_kernels_cartesian_l1_laplacian.hpp" #include "collocation/collocation_shell_to_task_kernels_cartesian_l2_laplacian.hpp" @@ -35,6 +36,13 @@ #include "collocation/collocation_shell_to_task_kernels_cartesian_l4_laplacian.hpp" +#include "collocation/collocation_shell_to_task_kernels_cartesian_l0_lapgrad.hpp" +#include "collocation/collocation_shell_to_task_kernels_cartesian_l1_lapgrad.hpp" +#include "collocation/collocation_shell_to_task_kernels_cartesian_l2_lapgrad.hpp" +#include "collocation/collocation_shell_to_task_kernels_cartesian_l3_lapgrad.hpp" +#include "collocation/collocation_shell_to_task_kernels_cartesian_l4_lapgrad.hpp" + + #include "collocation/collocation_shell_to_task_kernels_spherical_l0.hpp" #include "collocation/collocation_shell_to_task_kernels_spherical_l1.hpp" #include "collocation/collocation_shell_to_task_kernels_spherical_l2.hpp" @@ -55,8 +63,16 @@ #include "collocation/collocation_shell_to_task_kernels_spherical_l3_hessian.hpp" #include "collocation/collocation_shell_to_task_kernels_spherical_l4_hessian.hpp" + #include "collocation/collocation_shell_to_task_kernels_spherical_l0_laplacian.hpp" #include "collocation/collocation_shell_to_task_kernels_spherical_l1_laplacian.hpp" #include "collocation/collocation_shell_to_task_kernels_spherical_l2_laplacian.hpp" #include "collocation/collocation_shell_to_task_kernels_spherical_l3_laplacian.hpp" #include "collocation/collocation_shell_to_task_kernels_spherical_l4_laplacian.hpp" + + +#include "collocation/collocation_shell_to_task_kernels_spherical_l0_lapgrad.hpp" +#include "collocation/collocation_shell_to_task_kernels_spherical_l1_lapgrad.hpp" +#include "collocation/collocation_shell_to_task_kernels_spherical_l2_lapgrad.hpp" +#include "collocation/collocation_shell_to_task_kernels_spherical_l3_lapgrad.hpp" +#include "collocation/collocation_shell_to_task_kernels_spherical_l4_lapgrad.hpp" diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/increment_exc_grad.cu b/src/xc_integrator/local_work_driver/device/cuda/kernels/increment_exc_grad.cu index 4dd328bd..10edbe7f 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/increment_exc_grad.cu +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/increment_exc_grad.cu @@ -194,7 +194,7 @@ __global__ __launch_bounds__(512,1) void increment_exc_grad_gga_kernel( const double zy = xmat_y[ipt + ibf*npts]; const double zz = xmat_z[ipt + ibf*npts]; - const double d11_xmat_term = denx_i * zx + deny_i * zy + denz_i * zz; + const double d11_xmat_term = denx_i * zx + deny_i * zy + denz_i * zz; const double d2bfxx = basis_xx_eval[ipt + ibf*npts]; const double d2bfxy = basis_xy_eval[ipt + ibf*npts]; @@ -203,13 +203,13 @@ __global__ __launch_bounds__(512,1) void increment_exc_grad_gga_kernel( const double d2bfyz = basis_yz_eval[ipt + ibf*npts]; const double d2bfzz = basis_zz_eval[ipt + ibf*npts]; - const double d2_term_x = d2bfxx*denx_i + d2bfxy*deny_i + d2bfxz*denz_i; - const double d2_term_y = d2bfxy*denx_i + d2bfyy*deny_i + d2bfyz*denz_i; - const double d2_term_z = d2bfxz*denx_i + d2bfyz*deny_i + d2bfzz*denz_i; - - g_acc_x += 2 * vgamma_i * ( z_mu_i * d2_term_x + dbfx_mu_i * d11_xmat_term ); - g_acc_y += 2 * vgamma_i * ( z_mu_i * d2_term_y + dbfy_mu_i * d11_xmat_term ); - g_acc_z += 2 * vgamma_i * ( z_mu_i * d2_term_z + dbfz_mu_i * d11_xmat_term ); + const double d2_term_x = d2bfxx*denx_i + d2bfxy*deny_i + d2bfxz*denz_i; + const double d2_term_y = d2bfxy*denx_i + d2bfyy*deny_i + d2bfyz*denz_i; + const double d2_term_z = d2bfxz*denx_i + d2bfyz*deny_i + d2bfzz*denz_i; + + g_acc_x += 2 * vgamma_i * ( z_mu_i * d2_term_x + dbfx_mu_i * d11_xmat_term ); + g_acc_y += 2 * vgamma_i * ( z_mu_i * d2_term_y + dbfy_mu_i * d11_xmat_term ); + g_acc_z += 2 * vgamma_i * ( z_mu_i * d2_term_z + dbfz_mu_i * d11_xmat_term ); } // Loop over bfns within a shell @@ -245,4 +245,151 @@ void increment_exc_grad_gga( size_t nshell, ShellToTaskDevice* shell_to_task, ); } + + + + + +__global__ __launch_bounds__(512,1) void increment_exc_grad_mgga_kernel( + uint32_t nshell, + ShellToTaskDevice* __restrict__ shell_to_task, + XCDeviceTask* __restrict__ device_tasks, + double* __restrict__ EXC_GRAD +) { + + for( uint32_t ish = blockIdx.z; ish < nshell; ish += gridDim.z ) { + const uint32_t ntasks = shell_to_task[ish].ntask; + const auto shell = shell_to_task[ish].shell_device; + const auto task_idx = shell_to_task[ish].task_idx_device; + const auto task_shell_offs = shell_to_task[ish].task_shell_offs_device; + const uint32_t shsz = shell->size(); + + const int global_warp_id = + (threadIdx.x + blockIdx.x*blockDim.x) / cuda::warp_size; + const int nwarp_global = max((blockDim.x*gridDim.x) / cuda::warp_size,1); + + double g_acc_x(0), g_acc_y(0), g_acc_z(0); + for( uint32_t itask = global_warp_id; itask < ntasks; itask += nwarp_global ) { + + const auto* task = device_tasks + task_idx[itask]; + const uint32_t npts = task->npts; + const size_t shoff = task_shell_offs[itask] * npts; + + const auto* __restrict__ basis_x_eval = task->dbfx + shoff; + const auto* __restrict__ basis_y_eval = task->dbfy + shoff; + const auto* __restrict__ basis_z_eval = task->dbfz + shoff; + + const auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; + const auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; + const auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; + const auto* __restrict__ basis_yy_eval = task->d2bfyy + shoff; + const auto* __restrict__ basis_yz_eval = task->d2bfyz + shoff; + const auto* __restrict__ basis_zz_eval = task->d2bfzz + shoff; + + const auto* __restrict__ xmat = task->zmat + shoff; + const auto* __restrict__ xmat_x = task->xmat_x + shoff; + const auto* __restrict__ xmat_y = task->xmat_y + shoff; + const auto* __restrict__ xmat_z = task->xmat_z + shoff; + + const auto* __restrict__ vrho = task->vrho; + const auto* __restrict__ vgamma = task->vgamma; + const auto* __restrict__ vtau = task->vtau; + + const auto* __restrict__ den_x = task->dden_sx; + const auto* __restrict__ den_y = task->dden_sy; + const auto* __restrict__ den_z = task->dden_sz; + + #pragma unroll 1 + for( uint32_t ipt = threadIdx.x % cuda::warp_size; + ipt < npts; + ipt += cuda::warp_size ) { + + const double vrho_i = vrho[ipt]; + const double vgamma_i = vgamma[ipt]; + const double vtau_i = 0.5 * vtau[ipt]; + + const double denx_i = den_x[ipt]; + const double deny_i = den_y[ipt]; + const double denz_i = den_z[ipt]; + for( uint32_t ibf = 0; ibf < shsz; ++ibf ) { + const double z_mu_i = xmat[ipt + ibf*npts]; + const double dbfx_mu_i = basis_x_eval[ipt + ibf*npts]; + const double dbfy_mu_i = basis_y_eval[ipt + ibf*npts]; + const double dbfz_mu_i = basis_z_eval[ipt + ibf*npts]; + + g_acc_x += vrho_i * z_mu_i * dbfx_mu_i; + g_acc_y += vrho_i * z_mu_i * dbfy_mu_i; + g_acc_z += vrho_i * z_mu_i * dbfz_mu_i; + + const double zx = xmat_x[ipt + ibf*npts]; + const double zy = xmat_y[ipt + ibf*npts]; + const double zz = xmat_z[ipt + ibf*npts]; + + const double d11_xmat_term = denx_i * zx + deny_i * zy + denz_i * zz; + + const double d2bfxx = basis_xx_eval[ipt + ibf*npts]; + const double d2bfxy = basis_xy_eval[ipt + ibf*npts]; + const double d2bfxz = basis_xz_eval[ipt + ibf*npts]; + const double d2bfyy = basis_yy_eval[ipt + ibf*npts]; + const double d2bfyz = basis_yz_eval[ipt + ibf*npts]; + const double d2bfzz = basis_zz_eval[ipt + ibf*npts]; + + { + const double d2_term_x = d2bfxx*denx_i + d2bfxy*deny_i + d2bfxz*denz_i; + const double d2_term_y = d2bfxy*denx_i + d2bfyy*deny_i + d2bfyz*denz_i; + const double d2_term_z = d2bfxz*denx_i + d2bfyz*deny_i + d2bfzz*denz_i; + + g_acc_x += 2 * vgamma_i * ( z_mu_i * d2_term_x + dbfx_mu_i * d11_xmat_term ); + g_acc_y += 2 * vgamma_i * ( z_mu_i * d2_term_y + dbfy_mu_i * d11_xmat_term ); + g_acc_z += 2 * vgamma_i * ( z_mu_i * d2_term_z + dbfz_mu_i * d11_xmat_term ); + } + + { + const double d2_term_x = d2bfxx*zx + d2bfxy*zy + d2bfxz*zz; + const double d2_term_y = d2bfxy*zx + d2bfyy*zy + d2bfyz*zz; + const double d2_term_z = d2bfxz*zx + d2bfyz*zy + d2bfzz*zz; + + g_acc_x += vtau_i * d2_term_x; + g_acc_y += vtau_i * d2_term_y; + g_acc_z += vtau_i * d2_term_z; + } + + + } // Loop over bfns within a shell + + } // Loop over points + + } // Loop over tasks assigned to shell + + constexpr auto warp_size = cuda::warp_size; + g_acc_x = -2. * cuda::warp_reduce_sum( g_acc_x ); + g_acc_y = -2. * cuda::warp_reduce_sum( g_acc_y ); + g_acc_z = -2. * cuda::warp_reduce_sum( g_acc_z ); + + if( (threadIdx.x % cuda::warp_size) == 0 ) { + const int iCen = shell_to_task[ish].center_idx; + + atomicAdd( EXC_GRAD + 3*iCen + 0, g_acc_x ); + atomicAdd( EXC_GRAD + 3*iCen + 1, g_acc_y ); + atomicAdd( EXC_GRAD + 3*iCen + 2, g_acc_z ); + } + + } // Loop over shells + +} + +void increment_exc_grad_mgga( size_t nshell, bool need_lapl, + ShellToTaskDevice* shell_to_task, XCDeviceTask* device_tasks, + double* EXC_GRAD, device_queue queue ) { + + if(need_lapl) GAUXC_GENERIC_EXCEPTION("CUDA + MGGA/LAPL EXC GRAD NYI"); + + cudaStream_t stream = queue.queue_as(); + dim3 threads(512), blocks(1,1,nshell); + + increment_exc_grad_mgga_kernel<<>>( + nshell, shell_to_task, device_tasks, EXC_GRAD + ); +} + } diff --git a/src/xc_integrator/local_work_driver/device/local_device_work_driver.cxx b/src/xc_integrator/local_work_driver/device/local_device_work_driver.cxx index 2a83e76c..2232e14d 100644 --- a/src/xc_integrator/local_work_driver/device/local_device_work_driver.cxx +++ b/src/xc_integrator/local_work_driver/device/local_device_work_driver.cxx @@ -65,6 +65,7 @@ FWD_TO_PIMPL(eval_collocation) // Collocation FWD_TO_PIMPL(eval_collocation_gradient) // Collocation Gradient FWD_TO_PIMPL(eval_collocation_hessian) // Collocation Hessian FWD_TO_PIMPL(eval_collocation_laplacian) // Collocation Laplacian +FWD_TO_PIMPL(eval_collocation_lapgrad) // Collocation Laplacian gradient FWD_TO_PIMPL_KS_SCHEME(eval_uvars_lda) // U variables LDA (rho) @@ -88,6 +89,7 @@ FWD_TO_PIMPL_DEN_ID_BOOL(inc_vxc) // Increment VXC_I by Z FWD_TO_PIMPL(inc_exx_k) FWD_TO_PIMPL(inc_exc_grad_lda) FWD_TO_PIMPL(inc_exc_grad_gga) +FWD_TO_PIMPL_BOOL(inc_exc_grad_mgga) FWD_TO_PIMPL_DEN_ID(symmetrize_vxc) FWD_TO_PIMPL(symmetrize_exx_k) diff --git a/src/xc_integrator/local_work_driver/device/local_device_work_driver.hpp b/src/xc_integrator/local_work_driver/device/local_device_work_driver.hpp index 604f0739..45aaffbb 100644 --- a/src/xc_integrator/local_work_driver/device/local_device_work_driver.hpp +++ b/src/xc_integrator/local_work_driver/device/local_device_work_driver.hpp @@ -61,6 +61,7 @@ class LocalDeviceWorkDriver : public LocalWorkDriver { void eval_collocation_gradient( XCDeviceData* ); void eval_collocation_hessian( XCDeviceData* ); void eval_collocation_laplacian( XCDeviceData* ); + void eval_collocation_lapgrad( XCDeviceData* ); void eval_xmat( double fac, XCDeviceData*, bool do_grad, density_id den ); void eval_uvars_lda( XCDeviceData*, integrator_ks_scheme ) ; @@ -87,6 +88,7 @@ class LocalDeviceWorkDriver : public LocalWorkDriver { void inc_vxc( XCDeviceData*, density_id, bool do_m = false ); void inc_exc_grad_lda( XCDeviceData* ); void inc_exc_grad_gga( XCDeviceData* ); + void inc_exc_grad_mgga( XCDeviceData*, bool ); void inc_exx_k( XCDeviceData* ); void eval_exx_ek_screening_bfn_stats( XCDeviceData* ); diff --git a/src/xc_integrator/local_work_driver/device/local_device_work_driver_pimpl.hpp b/src/xc_integrator/local_work_driver/device/local_device_work_driver_pimpl.hpp index f43dd12c..ffbc2f1d 100644 --- a/src/xc_integrator/local_work_driver/device/local_device_work_driver_pimpl.hpp +++ b/src/xc_integrator/local_work_driver/device/local_device_work_driver_pimpl.hpp @@ -34,6 +34,7 @@ struct LocalDeviceWorkDriverPIMPL { virtual void eval_collocation_gradient( XCDeviceData* ) = 0; virtual void eval_collocation_hessian( XCDeviceData* ) = 0; virtual void eval_collocation_laplacian( XCDeviceData* ) = 0; + virtual void eval_collocation_lapgrad( XCDeviceData* ) = 0; virtual void eval_xmat( double fac, XCDeviceData*, bool do_grad, density_id den ) = 0; virtual void eval_exx_fmat( XCDeviceData* ) = 0; //virtual void eval_exx_gmat( XCDeviceData* ) = 0; @@ -54,6 +55,7 @@ struct LocalDeviceWorkDriverPIMPL { virtual void inc_vxc( XCDeviceData* , density_id, bool) = 0; virtual void inc_exc_grad_lda( XCDeviceData* ) = 0; virtual void inc_exc_grad_gga( XCDeviceData* ) = 0; + virtual void inc_exc_grad_mgga( XCDeviceData*, bool ) = 0; virtual void inc_exx_k( XCDeviceData* ) = 0; virtual void symmetrize_vxc( XCDeviceData*, density_id ) = 0; virtual void symmetrize_exx_k( XCDeviceData* ) = 0; diff --git a/src/xc_integrator/local_work_driver/device/scheme1_base.cxx b/src/xc_integrator/local_work_driver/device/scheme1_base.cxx index 5ffa8443..ce02dbc8 100644 --- a/src/xc_integrator/local_work_driver/device/scheme1_base.cxx +++ b/src/xc_integrator/local_work_driver/device/scheme1_base.cxx @@ -387,7 +387,7 @@ void AoSScheme1Base::eval_collocation_gradient( XCDeviceData* _data ) { data->device_backend_->queue() ); #endif - data->device_backend_->check_error("collocation grad" __FILE__ ": " + std::to_string(__LINE__)); + data->device_backend_->check_error("collocation grad " __FILE__ ": " + std::to_string(__LINE__)); } void AoSScheme1Base::eval_collocation_hessian( XCDeviceData* _data ) { @@ -430,6 +430,26 @@ void AoSScheme1Base::eval_collocation_laplacian( XCDeviceData* _data ) { data->device_backend_->check_error("collocation lapl" __FILE__ ": " + std::to_string(__LINE__)); } +void AoSScheme1Base::eval_collocation_lapgrad( XCDeviceData* _data ) { +#ifdef GAUXC_HAS_HIP + GAUXC_GENERIC_EXCEPTION("Laplacian Gradient NYI for HIP Backends"); +#else + auto* data = dynamic_cast(_data); + if( !data ) GAUXC_BAD_LWD_DATA_CAST(); + + if( not data->device_backend_ ) GAUXC_UNINITIALIZED_DEVICE_BACKEND(); + + auto aos_stack = data->aos_stack; + + auto max_l = data->l_batched_shell_to_task.size() - 1; + eval_collocation_shell_to_task_lapgrad( max_l, + data->l_batched_shell_to_task.data(), aos_stack.device_tasks, + data->device_backend_->queue() ); +#endif + + data->device_backend_->check_error("collocation lap grad " __FILE__ ": " + std::to_string(__LINE__)); +} + @@ -1058,6 +1078,24 @@ void AoSScheme1Base::inc_exc_grad_gga( XCDeviceData* _data ) { #endif } +void AoSScheme1Base::inc_exc_grad_mgga( XCDeviceData* _data, bool need_lapl ) { +#ifdef GAUXC_HAS_HIP + GAUXC_GENERIC_EXCEPTION("MGGA Grad NYI for HIP Backends"); +#else + auto* data = dynamic_cast(_data); + if( !data ) GAUXC_BAD_LWD_DATA_CAST(); + + if( not data->device_backend_ ) GAUXC_UNINITIALIZED_DEVICE_BACKEND(); + + const auto nshell = data->global_dims.nshells; + increment_exc_grad_mgga( nshell, need_lapl, + data->shell_to_task_stack.shell_to_task_device, + data->aos_stack.device_tasks, + data->static_stack.exc_grad_device, + data->device_backend_->queue() ); +#endif +} + void AoSScheme1Base::eval_exx_fmat( XCDeviceData* _data ) { #ifndef GAUXC_ENABLE_EXX diff --git a/src/xc_integrator/local_work_driver/device/scheme1_base.hpp b/src/xc_integrator/local_work_driver/device/scheme1_base.hpp index 37964914..e3e4131d 100644 --- a/src/xc_integrator/local_work_driver/device/scheme1_base.hpp +++ b/src/xc_integrator/local_work_driver/device/scheme1_base.hpp @@ -18,6 +18,7 @@ struct AoSScheme1Base : public detail::LocalDeviceWorkDriverPIMPL { void eval_collocation_gradient( XCDeviceData* ) override final; void eval_collocation_hessian( XCDeviceData* ) override final; void eval_collocation_laplacian( XCDeviceData* ) override final; + void eval_collocation_lapgrad( XCDeviceData* ) override final; void eval_uvars_lda( XCDeviceData*, integrator_ks_scheme ) override final; void eval_uvars_gga( XCDeviceData*, integrator_ks_scheme ) override final; @@ -36,6 +37,7 @@ struct AoSScheme1Base : public detail::LocalDeviceWorkDriverPIMPL { void inc_nel( XCDeviceData* ) override final; void inc_exc_grad_lda( XCDeviceData* ) override final; void inc_exc_grad_gga( XCDeviceData* ) override final; + void inc_exc_grad_mgga( XCDeviceData*, bool ) override final; void symmetrize_vxc( XCDeviceData* , density_id) override final; void symmetrize_exx_k( XCDeviceData* ) override final; //void eval_exx_gmat( XCDeviceData* ) override final; diff --git a/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_exc_grad.hpp b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_exc_grad.hpp index a49eee7f..041cd518 100644 --- a/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_exc_grad.hpp +++ b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_exc_grad.hpp @@ -81,6 +81,11 @@ void IncoreReplicatedXCDeviceIntegrator:: const auto& func = *this->func_; const auto& mol = this->load_balancer_->molecule(); + // Sanity gates + if(func.needs_laplacian()) { + GAUXC_GENERIC_EXCEPTION("Device EXC Gradients + Laplacian Dependent MGGAs Not Yet Implemented"); + } + // Get basis map BasisSetMap basis_map(basis,mol); @@ -119,7 +124,8 @@ void IncoreReplicatedXCDeviceIntegrator:: enabled_terms.ks_scheme = RKS; if( func.is_lda() ) enabled_terms.xc_approx = integrator_xc_approx::LDA; else if( func.is_gga() ) enabled_terms.xc_approx = integrator_xc_approx::GGA; - else GAUXC_GENERIC_EXCEPTION("XC Approx NYI"); + else if( func.needs_laplacian() ) enabled_terms.xc_approx = integrator_xc_approx::MGGA_LAPL; + else enabled_terms.xc_approx = integrator_xc_approx::MGGA_TAU; auto task_it = task_begin; while( task_it != task_end ) { @@ -131,30 +137,34 @@ void IncoreReplicatedXCDeviceIntegrator:: /*** Process the batches ***/ // Evaluate collocation - if( func.is_gga() ) lwd->eval_collocation_hessian ( &device_data ); - else lwd->eval_collocation_gradient( &device_data ); + if( func.needs_laplacian() ) lwd->eval_collocation_lapgrad ( &device_data ); + else if( !func.is_lda() ) lwd->eval_collocation_hessian ( &device_data ); + else lwd->eval_collocation_gradient( &device_data ); // Evaluate X matrix - const bool do_xmat_grad = func.is_gga(); + const bool do_xmat_grad = func.is_gga() or func.is_mgga(); lwd->eval_xmat( 2.0, &device_data, do_xmat_grad, DEN_S ); - // Evaluate V variable + // Evaluate V variables lwd->eval_vvar( &device_data, DEN_S, do_xmat_grad ); // Evaluate U variables - if( func.is_gga() ) lwd->eval_uvars_gga( &device_data, enabled_terms.ks_scheme ); - else lwd->eval_uvars_lda( &device_data, enabled_terms.ks_scheme ); + if( func.is_mgga() ) lwd->eval_uvars_mgga( &device_data, func.needs_laplacian( ) ); + else if( func.is_gga() ) lwd->eval_uvars_gga ( &device_data, enabled_terms.ks_scheme ); + else lwd->eval_uvars_lda ( &device_data, enabled_terms.ks_scheme ); // Evaluate XC functional (we need VXC for EXC Gradient) - if( func.is_gga() ) lwd->eval_kern_exc_vxc_gga( func, &device_data ); - else lwd->eval_kern_exc_vxc_lda( func, &device_data ); + if( func.is_mgga() ) lwd->eval_kern_exc_vxc_mgga( func, &device_data ); + else if( func.is_gga() ) lwd->eval_kern_exc_vxc_gga ( func, &device_data ); + else lwd->eval_kern_exc_vxc_lda ( func, &device_data ); // Do scalar N_EL integration lwd->inc_nel( &device_data ); // Increment EXC Gradient - if( func.is_gga() ) lwd->inc_exc_grad_gga( &device_data ); - else lwd->inc_exc_grad_lda( &device_data ); + if( func.is_mgga() ) lwd->inc_exc_grad_mgga( &device_data, func.needs_laplacian() ); + else if( func.is_gga() ) lwd->inc_exc_grad_gga ( &device_data ); + else lwd->inc_exc_grad_lda ( &device_data ); } // Loop over batches of batches diff --git a/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_exc_grad.hpp b/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_exc_grad.hpp index d8472c13..462088c8 100644 --- a/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_exc_grad.hpp +++ b/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_exc_grad.hpp @@ -68,8 +68,8 @@ void ReferenceReplicatedXCHostIntegrator:: // MGGA constants const size_t mmga_dim_scal = func.is_mgga() ? 4 : 1; - const bool needs_laplacian = func.is_mgga() ? true : false; // TODO: Check for Laplacian dependence - // + const bool needs_laplacian = func.needs_laplacian(); + // Get basis map BasisSetMap basis_map(basis,mol); @@ -131,29 +131,26 @@ void ReferenceReplicatedXCHostIntegrator:: host_data.zmat .resize( npts * nbe ); } - if( func.is_gga() ){ + if( func.is_gga() ) { host_data.basis_eval .resize( 10 * npts * nbe ); host_data.zmat .resize( 4 * npts * nbe ); host_data.gamma .resize( npts ); host_data.vgamma .resize( npts ); } -#if 0 if( func.is_mgga() ) { - host_data.basis_eval .resize( 11 * npts * nbe ); // basis + grad(3) + hess(6) + lapl - host_data.zmat .resize( 7 * npts * nbe ); // basis + grad(3) + grad(3) - host_data.mmat .resize( npts * nbe ); + host_data.basis_eval .resize( 10 * npts * nbe ); // basis + grad(3) + hess(6) + host_data.zmat .resize( 4 * npts * nbe ); // basis + grad(3) host_data.gamma .resize( npts ); host_data.vgamma .resize( npts ); host_data.tau .resize( npts ); host_data.vtau .resize( npts ); if ( needs_laplacian ) { - host_data.basis_eval.resize( 24 * npts * nbe ); + host_data.basis_eval.resize( 24 * npts * nbe ); // 11 + lapl_grad(3) + der3(10) host_data.lapl .resize( npts ); host_data.vlapl .resize( npts ); } } -#endif // Alias/Partition out scratch memory auto* basis_eval = host_data.basis_eval.data(); @@ -170,15 +167,10 @@ void ReferenceReplicatedXCHostIntegrator:: auto* vrho = host_data.vrho.data(); auto* vgamma = host_data.vgamma.data(); -#if 0 auto* tau = host_data.tau.data(); auto* lapl = host_data.lapl.data(); auto* vtau = host_data.vtau.data(); auto* vlapl = host_data.vlapl.data(); - auto* mmat_x = mmat; - auto* mmat_y = mmat_x + npts * nbe; - auto* mmat_z = mmat_y + npts * nbe; -#endif auto* dbasis_x_eval = basis_eval + npts * nbe; auto* dbasis_y_eval = dbasis_x_eval + npts * nbe; @@ -193,24 +185,23 @@ void ReferenceReplicatedXCHostIntegrator:: value_type* d2basis_yy_eval = nullptr; value_type* d2basis_yz_eval = nullptr; value_type* d2basis_zz_eval = nullptr; -#if 0 - value_type* lbasis_eval = nullptr; - value_type* d3basis_xxx_eval = nullptr; - value_type* d3basis_xxy_eval = nullptr; - value_type* d3basis_xxz_eval = nullptr; - value_type* d3basis_xyy_eval = nullptr; - value_type* d3basis_xyz_eval = nullptr; - value_type* d3basis_xzz_eval = nullptr; - value_type* d3basis_yyy_eval = nullptr; - value_type* d3basis_yyz_eval = nullptr; - value_type* d3basis_yzz_eval = nullptr; - value_type* d3basis_zzz_eval = nullptr; - value_type* dlbasis_x_eval = nullptr; - value_type* dlbasis_y_eval = nullptr; - value_type* dlbasis_z_eval = nullptr; -#endif + + value_type* lbasis_eval = nullptr; + value_type* d3basis_xxx_eval = nullptr; + value_type* d3basis_xxy_eval = nullptr; + value_type* d3basis_xxz_eval = nullptr; + value_type* d3basis_xyy_eval = nullptr; + value_type* d3basis_xyz_eval = nullptr; + value_type* d3basis_xzz_eval = nullptr; + value_type* d3basis_yyy_eval = nullptr; + value_type* d3basis_yyz_eval = nullptr; + value_type* d3basis_yzz_eval = nullptr; + value_type* d3basis_zzz_eval = nullptr; + value_type* dlgradbasis_x_eval = nullptr; + value_type* dlgradbasis_y_eval = nullptr; + value_type* dlgradbasis_z_eval = nullptr; - if( func.is_gga() ) { + if( func.is_gga() or func.is_mgga() ) { d2basis_xx_eval = dbasis_z_eval + npts * nbe; d2basis_xy_eval = d2basis_xx_eval + npts * nbe; d2basis_xz_eval = d2basis_xy_eval + npts * nbe; @@ -219,32 +210,24 @@ void ReferenceReplicatedXCHostIntegrator:: d2basis_zz_eval = d2basis_yz_eval + npts * nbe; } -#if 0 - if( func.is_mgga() ) { - d2basis_xx_eval = dbasis_z_eval + npts * nbe; - d2basis_xy_eval = d2basis_xx_eval + npts * nbe; - d2basis_xz_eval = d2basis_xy_eval + npts * nbe; - d2basis_yy_eval = d2basis_xz_eval + npts * nbe; - d2basis_yz_eval = d2basis_yy_eval + npts * nbe; - d2basis_zz_eval = d2basis_yz_eval + npts * nbe; - if ( true ) { - lbasis_eval = d2basis_zz_eval + npts * nbe; - d3basis_xxx_eval = lbasis_eval + npts * nbe; - d3basis_xxy_eval = d3basis_xxx_eval + npts * nbe; - d3basis_xxz_eval = d3basis_xxy_eval + npts * nbe; - d3basis_xyy_eval = d3basis_xxz_eval + npts * nbe; - d3basis_xyz_eval = d3basis_xyy_eval + npts * nbe; - d3basis_xzz_eval = d3basis_xyz_eval + npts * nbe; - d3basis_yyy_eval = d3basis_xzz_eval + npts * nbe; - d3basis_yyz_eval = d3basis_yyy_eval + npts * nbe; - d3basis_yzz_eval = d3basis_yyz_eval + npts * nbe; - d3basis_zzz_eval = d3basis_yzz_eval + npts * nbe; - dlbasis_x_eval = d3basis_zzz_eval + npts * nbe; - dlbasis_y_eval = dlbasis_x_eval + npts * nbe; - dlbasis_z_eval = dlbasis_y_eval + npts * nbe; - } + if( needs_laplacian ) { + lbasis_eval = d2basis_zz_eval + npts * nbe; + // TODO - this should not be needed once Gau2Grid + // can evaluate the laplacian gradients directly. + d3basis_xxx_eval = lbasis_eval + npts * nbe; + d3basis_xxy_eval = d3basis_xxx_eval + npts * nbe; + d3basis_xxz_eval = d3basis_xxy_eval + npts * nbe; + d3basis_xyy_eval = d3basis_xxz_eval + npts * nbe; + d3basis_xyz_eval = d3basis_xyy_eval + npts * nbe; + d3basis_xzz_eval = d3basis_xyz_eval + npts * nbe; + d3basis_yyy_eval = d3basis_xzz_eval + npts * nbe; + d3basis_yyz_eval = d3basis_yyy_eval + npts * nbe; + d3basis_yzz_eval = d3basis_yyz_eval + npts * nbe; + d3basis_zzz_eval = d3basis_yzz_eval + npts * nbe; + dlgradbasis_x_eval = d3basis_zzz_eval + npts * nbe; + dlgradbasis_y_eval = dlgradbasis_x_eval + npts * nbe; + dlgradbasis_z_eval = dlgradbasis_y_eval + npts * nbe; } -#endif // Get the submatrix map for batch @@ -252,26 +235,22 @@ void ReferenceReplicatedXCHostIntegrator:: gen_compressed_submat_map( basis_map, task.bfn_screening.shell_list, nbf, nbf ); // Evaluate Collocation Gradient (+ Hessian) -#if 0 - if( func.is_mgga() ) { + if( needs_laplacian ) { lwd->eval_collocation_der3( npts, nshells, nbe, points, basis, shell_list, basis_eval, dbasis_x_eval, dbasis_y_eval, dbasis_z_eval, d2basis_xx_eval, d2basis_xy_eval, d2basis_xz_eval, d2basis_yy_eval, d2basis_yz_eval, d2basis_zz_eval, d3basis_xxx_eval, d3basis_xxy_eval, d3basis_xxz_eval, d3basis_xyy_eval, d3basis_xyz_eval, d3basis_xzz_eval, d3basis_yyy_eval, d3basis_yyz_eval, d3basis_yzz_eval, d3basis_zzz_eval); - - } - else if( func.is_gga() ) -#endif - if( func.is_gga() ) + } else if( func.is_gga() or func.is_mgga() ) { lwd->eval_collocation_hessian( npts, nshells, nbe, points, basis, shell_list, basis_eval, dbasis_x_eval, dbasis_y_eval, dbasis_z_eval, d2basis_xx_eval, d2basis_xy_eval, d2basis_xz_eval, d2basis_yy_eval, d2basis_yz_eval, d2basis_zz_eval ); - else + } else { lwd->eval_collocation_gradient( npts, nshells, nbe, points, basis, shell_list, basis_eval, dbasis_x_eval, dbasis_y_eval, dbasis_z_eval ); + } // Evaluate X matrix (2 * P * B/Bx/By/Bz) -> store in Z @@ -285,47 +264,41 @@ void ReferenceReplicatedXCHostIntegrator:: } // Evaluate U and V variables -#if 0 if( func.is_mgga() ) { if ( needs_laplacian ) { blas::lacpy( 'A', nbe, npts, d2basis_xx_eval, nbe, lbasis_eval, nbe ); blas::axpy( nbe * npts, 1., d2basis_yy_eval, 1, lbasis_eval, 1); blas::axpy( nbe * npts, 1., d2basis_zz_eval, 1, lbasis_eval, 1); - blas::lacpy( 'A', nbe, npts, d3basis_xxx_eval, nbe, dlbasis_x_eval, nbe ); - blas::axpy( nbe * npts, 1., d3basis_xyy_eval, 1, dlbasis_x_eval, 1); - blas::axpy( nbe * npts, 1., d3basis_xzz_eval, 1, dlbasis_x_eval, 1); + // TODO - this should be done directly in Gau2Grid + blas::lacpy( 'A', nbe, npts, d3basis_xxx_eval, nbe, dlgradbasis_x_eval, nbe ); + blas::axpy( nbe * npts, 1., d3basis_xyy_eval, 1, dlgradbasis_x_eval, 1); + blas::axpy( nbe * npts, 1., d3basis_xzz_eval, 1, dlgradbasis_x_eval, 1); - blas::lacpy( 'A', nbe, npts, d3basis_xxy_eval, nbe, dlbasis_y_eval, nbe ); - blas::axpy( nbe * npts, 1., d3basis_yyy_eval, 1, dlbasis_y_eval, 1); - blas::axpy( nbe * npts, 1., d3basis_yzz_eval, 1, dlbasis_y_eval, 1); + blas::lacpy( 'A', nbe, npts, d3basis_xxy_eval, nbe, dlgradbasis_y_eval, nbe ); + blas::axpy( nbe * npts, 1., d3basis_yyy_eval, 1, dlgradbasis_y_eval, 1); + blas::axpy( nbe * npts, 1., d3basis_yzz_eval, 1, dlgradbasis_y_eval, 1); - blas::lacpy( 'A', nbe, npts, d3basis_xxz_eval, nbe, dlbasis_z_eval, nbe ); - blas::axpy( nbe * npts, 1., d3basis_yyz_eval, 1, dlbasis_z_eval, 1); - blas::axpy( nbe * npts, 1., d3basis_zzz_eval, 1, dlbasis_z_eval, 1); + blas::lacpy( 'A', nbe, npts, d3basis_xxz_eval, nbe, dlgradbasis_z_eval, nbe ); + blas::axpy( nbe * npts, 1., d3basis_yyz_eval, 1, dlgradbasis_z_eval, 1); + blas::axpy( nbe * npts, 1., d3basis_zzz_eval, 1, dlgradbasis_z_eval, 1); } lwd->eval_uvvar_mgga_rks( npts, nbe, basis_eval, dbasis_x_eval, dbasis_y_eval, - dbasis_z_eval, lbasis_eval, zmat, nbe, mmat_x, mmat_y, mmat_z, nbe, - den_eval, dden_x_eval, dden_y_eval, dden_z_eval, - gamma, tau, lapl ); - } - else if( func.is_gga() ) -#endif - if( func.is_gga() ) + dbasis_z_eval, lbasis_eval, zmat, nbe, zmat_x, zmat_y, zmat_z, nbe, + den_eval, dden_x_eval, dden_y_eval, dden_z_eval, gamma, tau, lapl ); + } else if( func.is_gga() ) { lwd->eval_uvvar_gga_rks( npts, nbe, basis_eval, dbasis_x_eval, dbasis_y_eval, dbasis_z_eval, zmat, nbe, den_eval, dden_x_eval, dden_y_eval, dden_z_eval, gamma ); - else + } else { lwd->eval_uvvar_lda_rks( npts, nbe, basis_eval, zmat, nbe, den_eval ); + } // Evaluate XC functional -#if 0 if( func.is_mgga() ) func.eval_exc_vxc( npts, den_eval, gamma, lapl, tau, eps, vrho, vgamma, vlapl, vtau ); else if(func.is_gga() ) -#endif - if( func.is_gga() ) func.eval_exc_vxc( npts, den_eval, gamma, eps, vrho, vgamma ); else func.eval_exc_vxc( npts, den_eval, eps, vrho ); @@ -342,92 +315,78 @@ void ReferenceReplicatedXCHostIntegrator:: for( int ibf = 0, mu = bf_off; ibf < sh_sz; ++ibf, ++mu ) for( int ipt = 0; ipt < npts; ++ipt ) { - const int32_t mu_i = mu + ipt*nbe; + const int32_t mu_i = mu + ipt*nbe; - // LDA Contributions + // LDA Contributions const double vrho_ipt = weights[ipt] * vrho[ipt]; - const double z = zmat[mu_i]; // Z = N * B + const double z = zmat[mu_i]; // Z = N * B - const double dbx = dbasis_x_eval[mu_i]; // B_x - const double dby = dbasis_y_eval[mu_i]; // B_y - const double dbz = dbasis_z_eval[mu_i]; // B_z + const double dbx = dbasis_x_eval[mu_i]; // B_x + const double dby = dbasis_y_eval[mu_i]; // B_y + const double dbz = dbasis_z_eval[mu_i]; // B_z - g_acc_x += vrho_ipt * z * dbx; - g_acc_y += vrho_ipt * z * dby; - g_acc_z += vrho_ipt * z * dbz; + g_acc_x += vrho_ipt * z * dbx; + g_acc_y += vrho_ipt * z * dby; + g_acc_z += vrho_ipt * z * dbz; - if( func.is_gga() or func.is_mgga() ) { - // GGA Contributions + if( func.is_gga() or func.is_mgga() ) { + // GGA Contributions const double vgamma_ipt = weights[ipt] * vgamma[ipt]; const double dden_x = dden_x_eval[ipt]; const double dden_y = dden_y_eval[ipt]; const double dden_z = dden_z_eval[ipt]; - const double zx = zmat_x[mu_i]; // Z_x = N * B_x - const double zy = zmat_y[mu_i]; // Z_y = N * B_y - const double zz = zmat_z[mu_i]; // Z_z = N * B_z - - const double d2bxx = d2basis_xx_eval[mu_i]; // B^2_xx - const double d2bxy = d2basis_xy_eval[mu_i]; // B^2_xy - const double d2bxz = d2basis_xz_eval[mu_i]; // B^2_xz - const double d2byy = d2basis_yy_eval[mu_i]; // B^2_yy - const double d2byz = d2basis_yz_eval[mu_i]; // B^2_yz - const double d2bzz = d2basis_zz_eval[mu_i]; // B^2_zz - - // sum_j B^2_{ij} * d_j n - double d2_term_x = d2bxx * dden_x + d2bxy * dden_y + d2bxz * dden_z; - double d2_term_y = d2bxy * dden_x + d2byy * dden_y + d2byz * dden_z; - double d2_term_z = d2bxz * dden_x + d2byz * dden_y + d2bzz * dden_z; - - // sum_j (d_j n) * Z^j - double d11_zmat_term = dden_x * zx + dden_y * zy + dden_z * zz; - - g_acc_x += 2 * vgamma_ipt * ( z * d2_term_x + dbx * d11_zmat_term ); - g_acc_y += 2 * vgamma_ipt * ( z * d2_term_y + dby * d11_zmat_term ); - g_acc_z += 2 * vgamma_ipt * ( z * d2_term_z + dbz * d11_zmat_term ); - } -#if 0 - if( func.is_mgga() ) { - - const double vtau_ipt = 0.5 * weights[ipt] * vtau[ipt]; - const double zx = zmat_x[mu_i]; // Z_x = N * B_x - const double zy = zmat_y[mu_i]; // Z_y = N * B_y - const double zz = zmat_z[mu_i]; // Z_z = N * B_z - const double d2bxx = d2basis_xx_eval[mu_i]; // B^2_xx - const double d2bxy = d2basis_xy_eval[mu_i]; // B^2_xy - const double d2bxz = d2basis_xz_eval[mu_i]; // B^2_xz - const double d2byy = d2basis_yy_eval[mu_i]; // B^2_yy - const double d2byz = d2basis_yz_eval[mu_i]; // B^2_yz - const double d2bzz = d2basis_zz_eval[mu_i]; // B^2_zz - double d2_term_x = d2bxx * zx + d2bxy * zy + d2bxz * zz; - double d2_term_y = d2bxy * zx + d2byy * zy + d2byz * zz; - double d2_term_z = d2bxz * zx + d2byz * zy + d2bzz * zz; - - g_acc_x += vtau_ipt * d2_term_x; - g_acc_y += vtau_ipt * d2_term_y; - g_acc_z += vtau_ipt * d2_term_z; - - if ( needs_laplacian ) { - const double vlapl_ipt = weights[ipt] * vlapl[ipt]; - const double lbf = lbasis_eval[mu_i]; - const double dlbx = dlbasis_x_eval[mu_i]; - const double dlby = dlbasis_y_eval[mu_i]; - const double dlbz = dlbasis_z_eval[mu_i]; - d2_term_x = z * dlbx + zx * lbf + 2.0*d2_term_x; - d2_term_y = z * dlby + zy * lbf + 2.0*d2_term_y; - d2_term_z = z * dlbz + zz * lbf + 2.0*d2_term_z; - - g_acc_x += vlapl_ipt * d2_term_x; - g_acc_y += vlapl_ipt * d2_term_y; - g_acc_z += vlapl_ipt * d2_term_z; - - } - - } -#endif - + const double zx = zmat_x[mu_i]; // Z_x = N * B_x + const double zy = zmat_y[mu_i]; // Z_y = N * B_y + const double zz = zmat_z[mu_i]; // Z_z = N * B_z + + const double d2bxx = d2basis_xx_eval[mu_i]; // B^2_xx + const double d2bxy = d2basis_xy_eval[mu_i]; // B^2_xy + const double d2bxz = d2basis_xz_eval[mu_i]; // B^2_xz + const double d2byy = d2basis_yy_eval[mu_i]; // B^2_yy + const double d2byz = d2basis_yz_eval[mu_i]; // B^2_yz + const double d2bzz = d2basis_zz_eval[mu_i]; // B^2_zz + + // sum_j B^2_{ij} * d_j n + double d2_term_x = d2bxx * dden_x + d2bxy * dden_y + d2bxz * dden_z; + double d2_term_y = d2bxy * dden_x + d2byy * dden_y + d2byz * dden_z; + double d2_term_z = d2bxz * dden_x + d2byz * dden_y + d2bzz * dden_z; + + // sum_j (d_j n) * Z^j + double d11_zmat_term = dden_x * zx + dden_y * zy + dden_z * zz; + + g_acc_x += 2 * vgamma_ipt * ( z * d2_term_x + dbx * d11_zmat_term ); + g_acc_y += 2 * vgamma_ipt * ( z * d2_term_y + dby * d11_zmat_term ); + g_acc_z += 2 * vgamma_ipt * ( z * d2_term_z + dbz * d11_zmat_term ); + + if( func.is_mgga() ) { + const double vtau_ipt = 0.5 * weights[ipt] * vtau[ipt]; + d2_term_x = d2bxx * zx + d2bxy * zy + d2bxz * zz; + d2_term_y = d2bxy * zx + d2byy * zy + d2byz * zz; + d2_term_z = d2bxz * zx + d2byz * zy + d2bzz * zz; + + g_acc_x += vtau_ipt * d2_term_x; + g_acc_y += vtau_ipt * d2_term_y; + g_acc_z += vtau_ipt * d2_term_z; + + if( needs_laplacian ) { + const double vlapl_ipt = weights[ipt] * vlapl[ipt]; + const double lbf = lbasis_eval[mu_i]; + const double dlbx = dlgradbasis_x_eval[mu_i]; + const double dlby = dlgradbasis_y_eval[mu_i]; + const double dlbz = dlgradbasis_z_eval[mu_i]; + d2_term_x = z * dlbx + zx * lbf + 2.0*d2_term_x; + d2_term_y = z * dlby + zy * lbf + 2.0*d2_term_y; + d2_term_z = z * dlbz + zz * lbf + 2.0*d2_term_z; + + g_acc_x += vlapl_ipt * d2_term_x; + g_acc_y += vlapl_ipt * d2_term_y; + g_acc_z += vlapl_ipt * d2_term_z; + } + } + } } // loop over bfns + grid points #pragma omp atomic @@ -440,7 +399,6 @@ void ReferenceReplicatedXCHostIntegrator:: bf_off += sh_sz; // Increment basis offset } // End loop over shells - } // End loop over tasks } // OpenMP Region diff --git a/src/xc_integrator/xc_data/device/xc_device_aos_data.cxx b/src/xc_integrator/xc_data/device/xc_device_aos_data.cxx index af985115..6b1bfc33 100644 --- a/src/xc_integrator/xc_data/device/xc_device_aos_data.cxx +++ b/src/xc_integrator/xc_data/device/xc_device_aos_data.cxx @@ -51,10 +51,11 @@ size_t XCDeviceAoSData::get_mem_req( integrator_term_tracker terms, return base_size + // Collocation + Derivatives - reqt.task_bfn_size ( nbe_bfn, npts ) * sizeof(double) + - reqt.task_bfn_grad_size( nbe_bfn, npts ) * sizeof(double) + - reqt.task_bfn_hess_size( nbe_bfn, npts ) * sizeof(double) + - reqt.task_bfn_lapl_size( nbe_bfn, npts ) * sizeof(double) + + reqt.task_bfn_size ( nbe_bfn, npts ) * sizeof(double) + + reqt.task_bfn_grad_size( nbe_bfn, npts ) * sizeof(double) + + reqt.task_bfn_hess_size( nbe_bfn, npts ) * sizeof(double) + + reqt.task_bfn_lapl_size( nbe_bfn, npts ) * sizeof(double) + + reqt.task_bfn_lapgrad_size( nbe_bfn, npts ) * sizeof(double) + // LDA/GGA Z Matrix reqt.task_zmat_size( nbe_bfn, npts ) * sizeof(double) + @@ -191,6 +192,12 @@ XCDeviceAoSData::device_buffer_t XCDeviceAoSData::allocate_dynamic_stack( aos_stack.d2bf_lapl_eval_device = mem.aligned_alloc( bfn_msz, csl ); } + if(reqt.task_bfn_lapgrad) { + aos_stack.d3bf_lapgrad_x_eval_device = mem.aligned_alloc( bfn_msz, csl ); + aos_stack.d3bf_lapgrad_y_eval_device = mem.aligned_alloc( bfn_msz, csl ); + aos_stack.d3bf_lapgrad_z_eval_device = mem.aligned_alloc( bfn_msz, csl ); + } + // VXC Z Matrix if(reqt.task_zmat) { aos_stack.zmat_vxc_device = @@ -466,6 +473,13 @@ void XCDeviceAoSData::pack_and_send( buffer_adaptor d2bf_lapl_mem( aos_stack.d2bf_lapl_eval_device, total_nbe_bfn_npts ); + buffer_adaptor d3bf_lapgrad_x_mem( aos_stack.d3bf_lapgrad_x_eval_device, + total_nbe_bfn_npts ); + buffer_adaptor d3bf_lapgrad_y_mem( aos_stack.d3bf_lapgrad_y_eval_device, + total_nbe_bfn_npts ); + buffer_adaptor d3bf_lapgrad_z_mem( aos_stack.d3bf_lapgrad_z_eval_device, + total_nbe_bfn_npts ); + buffer_adaptor xmat_dx_mem( aos_stack.xmat_dx_device, total_nbe_bfn_npts ); buffer_adaptor xmat_dy_mem( aos_stack.xmat_dy_device, total_nbe_bfn_npts ); buffer_adaptor xmat_dz_mem( aos_stack.xmat_dz_device, total_nbe_bfn_npts ); @@ -594,6 +608,11 @@ void XCDeviceAoSData::pack_and_send( if( reqt.task_bfn_lapl ) { task.d2bflapl = d2bf_lapl_mem.aligned_alloc( nbe_bfn * npts, csl); } + if( reqt.task_bfn_lapgrad ) { + task.d3bflapl_x = d3bf_lapgrad_x_mem.aligned_alloc( nbe_bfn * npts, csl); + task.d3bflapl_y = d3bf_lapgrad_y_mem.aligned_alloc( nbe_bfn * npts, csl); + task.d3bflapl_z = d3bf_lapgrad_z_mem.aligned_alloc( nbe_bfn * npts, csl); + } // X Matrix gradient if( reqt.task_xmat_grad ) { diff --git a/src/xc_integrator/xc_data/device/xc_device_aos_data.hpp b/src/xc_integrator/xc_data/device/xc_device_aos_data.hpp index db399d07..780c0af0 100644 --- a/src/xc_integrator/xc_data/device/xc_device_aos_data.hpp +++ b/src/xc_integrator/xc_data/device/xc_device_aos_data.hpp @@ -41,6 +41,9 @@ struct XCDeviceAoSData : public XCDeviceStackData { double* d2bf_zz_eval_device = nullptr; ///< 2nd Derivative of `bf_eval_device` wrt z+z double* d2bf_lapl_eval_device = nullptr; ///< Laplacian of `bf_eval_device` + double* d3bf_lapgrad_x_eval_device = nullptr; ///< Laplacian derivative of bf_eval_device wrt x + double* d3bf_lapgrad_y_eval_device = nullptr; ///< Laplacian derivative of bf_eval_device wrt y + double* d3bf_lapgrad_z_eval_device = nullptr; ///< Laplacian derivative of bf_eval_device wrt z // VXC Z Matrix double* zmat_vxc_device = nullptr; diff --git a/src/xc_integrator/xc_data/device/xc_device_data.hpp b/src/xc_integrator/xc_data/device/xc_device_data.hpp index fde8158b..ac51e42a 100644 --- a/src/xc_integrator/xc_data/device/xc_device_data.hpp +++ b/src/xc_integrator/xc_data/device/xc_device_data.hpp @@ -160,6 +160,7 @@ struct required_term_storage { bool task_bfn_grad = false; bool task_bfn_hess = false; bool task_bfn_lapl = false; + bool task_bfn_lapgrad = false; bool task_zmat = false; bool task_xmat = false; bool task_xmat_grad = false; @@ -181,6 +182,9 @@ struct required_term_storage { inline size_t task_bfn_lapl_size(size_t nbe, size_t npts) { return PRDVL(task_bfn_lapl, nbe * npts); } + inline size_t task_bfn_lapgrad_size(size_t nbe, size_t npts) { + return PRDVL(task_bfn_lapgrad, 3 * nbe * npts); + } inline size_t task_zmat_size(size_t nbe, size_t npts) { return PRDVL(task_zmat, nbe * npts); } @@ -334,8 +338,9 @@ struct required_term_storage { task_bfn = true; task_bfn_grad = is_gga or is_mgga or is_grad; - task_bfn_hess = is_gga and is_grad; + task_bfn_hess = (is_gga or is_mgga) and is_grad; task_bfn_lapl = need_lapl; + task_bfn_lapgrad = need_lapl and is_grad; task_zmat = true; task_xmat = true; task_xmat_grad = is_mgga or (is_gga and is_grad); diff --git a/src/xc_integrator/xc_data/device/xc_device_task.hpp b/src/xc_integrator/xc_data/device/xc_device_task.hpp index 696ef185..ac1f72f7 100644 --- a/src/xc_integrator/xc_data/device/xc_device_task.hpp +++ b/src/xc_integrator/xc_data/device/xc_device_task.hpp @@ -96,6 +96,9 @@ struct XCDeviceTask { // MGGA double* d2bflapl = nullptr; + double* d3bflapl_x = nullptr; + double* d3bflapl_y = nullptr; + double* d3bflapl_z = nullptr; double* denlapl = nullptr; double* tau = nullptr; double* vtau = nullptr; diff --git a/tests/collocation.cxx b/tests/collocation.cxx index fb8a0393..6a6f0721 100644 --- a/tests/collocation.cxx +++ b/tests/collocation.cxx @@ -74,6 +74,14 @@ TEST_CASE( "Water / cc-pVDZ", "[collocation]" ) { SECTION( "CUDA Shell to Task Eval Hessian" ) { test_cuda_collocation_shell_to_task_hessian( basis, basis_map, ref_data ); } + + SECTION( "CUDA Shell to Task Eval Laplacian" ) { + test_cuda_collocation_shell_to_task_laplacian( basis, basis_map, ref_data ); + } + + SECTION( "CUDA Shell to Task Eval Laplacian Gradient" ) { + test_cuda_collocation_shell_to_task_lapgrad( basis, basis_map, ref_data ); + } #endif // GAUXC_HAS_CUDA #ifdef GAUXC_HAS_HIP diff --git a/tests/collocation_common.hpp b/tests/collocation_common.hpp index 91baa780..74109285 100644 --- a/tests/collocation_common.hpp +++ b/tests/collocation_common.hpp @@ -32,10 +32,15 @@ struct ref_collocation_data { std::vector d2eval_yy; std::vector d2eval_yz; std::vector d2eval_zz; + std::vector d2eval_lapl; + std::vector d3eval_lapl_x; + std::vector d3eval_lapl_y; + std::vector d3eval_lapl_z; template void serialize( Archive& ar ) { - ar( mask, pts, eval, deval_x, deval_y, deval_z, d2eval_xx, d2eval_xy, d2eval_xz, d2eval_yy, d2eval_yz, d2eval_zz ); + ar( mask, pts, eval, deval_x, deval_y, deval_z, d2eval_xx, d2eval_xy, d2eval_xz, + d2eval_yy, d2eval_yz, d2eval_zz, d2eval_lapl, d3eval_lapl_x, d3eval_lapl_y, d3eval_lapl_z); } }; diff --git a/tests/collocation_cuda.hpp b/tests/collocation_cuda.hpp index 42ae0eb4..deb4e1cf 100644 --- a/tests/collocation_cuda.hpp +++ b/tests/collocation_cuda.hpp @@ -14,7 +14,7 @@ auto populate_device_cuda( const BasisSet& basis, const std::vector& ref_data, - bool pop_grad, bool pop_hess ) { + bool pop_grad, bool pop_hess, bool pop_lapl, bool pop_lapl_grad ) { std::vector< XCDeviceTask > tasks; @@ -58,6 +58,16 @@ auto populate_device_cuda( const BasisSet& basis, task.d2bfzz = util::cuda_malloc( nbf * npts ); } + if(pop_lapl) { + task.d2bflapl = util::cuda_malloc( nbf * npts ); + } + + if(pop_lapl_grad) { + task.d3bflapl_x = util::cuda_malloc( nbf * npts ); + task.d3bflapl_y = util::cuda_malloc( nbf * npts ); + task.d3bflapl_z = util::cuda_malloc( nbf * npts ); + } + //auto* pts_device = task.points; auto* pts_x_device = task.points_x; auto* pts_y_device = task.points_y; @@ -95,7 +105,7 @@ auto populate_device_cuda( const BasisSet& basis, void cuda_check_collocation( const std::vector& tasks, const std::vector& ref_data, - bool check_grad, bool check_hess) { + bool check_grad, bool check_hess, bool check_lapl, bool check_lapl_grad) { for( int i = 0; i < tasks.size(); i++ ) { @@ -158,6 +168,34 @@ void cuda_check_collocation( const std::vector& tasks, check_collocation_transpose( npts, nbe, ref_d2eval_zz, d2eval_zz.data(), "IT = " + std::to_string(i) + " BFZZ EVAL" ); } + if( check_lapl ) { + auto npts = tasks[i].npts; + auto nbe = tasks[i].bfn_screening.nbe; + auto* ref_d2eval_lapl = ref_data[i].d2eval_lapl.data(); + std::vector d2eval_lapl(npts * nbe); + util::cuda_copy(eval.size(), d2eval_lapl.data(), tasks[i].d2bflapl); + check_collocation_transpose(npts, nbe, ref_d2eval_lapl, d2eval_lapl.data(), "IT = " + std::to_string(i) + "BFLAPL EVAL" ); + } + +#if 1 + if( check_lapl_grad ) { + auto npts = tasks[i].npts; + auto nbe = tasks[i].bfn_screening.nbe; + auto* ref_d3eval_lapl_x = ref_data[i].d3eval_lapl_x.data(); + auto* ref_d3eval_lapl_y = ref_data[i].d3eval_lapl_y.data(); + auto* ref_d3eval_lapl_z = ref_data[i].d3eval_lapl_z.data(); + std::vector d3eval_lapl_x(npts * nbe); + std::vector d3eval_lapl_y(npts * nbe); + std::vector d3eval_lapl_z(npts * nbe); + util::cuda_copy(eval.size(), d3eval_lapl_x.data(), tasks[i].d3bflapl_x); + util::cuda_copy(eval.size(), d3eval_lapl_y.data(), tasks[i].d3bflapl_y); + util::cuda_copy(eval.size(), d3eval_lapl_z.data(), tasks[i].d3bflapl_z); + check_collocation_transpose(npts, nbe, ref_d3eval_lapl_x, d3eval_lapl_x.data(), "IT = " + std::to_string(i) + "BFLAPL_X EVAL" ); + check_collocation_transpose(npts, nbe, ref_d3eval_lapl_y, d3eval_lapl_y.data(), "IT = " + std::to_string(i) + "BFLAPL_Y EVAL" ); + check_collocation_transpose(npts, nbe, ref_d3eval_lapl_z, d3eval_lapl_z.data(), "IT = " + std::to_string(i) + "BFLAPL_Z EVAL" ); + } +#endif + } } @@ -186,7 +224,7 @@ void test_cuda_collocation_masked_combined( const BasisSet& basis, std:: device_queue stream( std::make_shared() ); - auto [shells_device,tasks] = populate_device_cuda( basis, ref_data, grad, false ); + auto [shells_device,tasks] = populate_device_cuda( basis, ref_data, grad, false, false, false ); const auto nshells_max = std::max_element( tasks.begin(), tasks.end(), @@ -211,7 +249,7 @@ void test_cuda_collocation_masked_combined( const BasisSet& basis, std:: util::cuda_device_sync(); - cuda_check_collocation( tasks, ref_data, grad, false ); + cuda_check_collocation( tasks, ref_data, grad, false, false, false ); for( auto& t : tasks ) { @@ -249,7 +287,7 @@ void test_cuda_collocation_deriv1( const BasisSet& basis, void test_cuda_collocation_shell_to_task( const BasisSet& basis, const BasisSetMap& basis_map, - std::ifstream& in_file, bool grad, bool hess) { + std::ifstream& in_file, bool grad, bool hess, bool lapl, bool lapl_grad) { // Load reference data std::vector ref_data; @@ -260,7 +298,7 @@ void test_cuda_collocation_shell_to_task( const BasisSet& basis, const // Populate base task information device_queue stream( std::make_shared() ); - auto [shells_device,tasks] = populate_device_cuda( basis, ref_data, grad, hess ); + auto [shells_device,tasks] = populate_device_cuda( basis, ref_data, grad, hess, lapl, lapl_grad ); // Send tasks to device auto* tasks_device = util::cuda_malloc( tasks.size() ); @@ -355,9 +393,15 @@ void test_cuda_collocation_shell_to_task( const BasisSet& basis, const } - if( hess ) + if( lapl_grad ) + eval_collocation_shell_to_task_lapgrad( max_l, l_batched_shell_to_task.data(), + tasks_device, stream ); + else if( hess ) eval_collocation_shell_to_task_hessian( max_l, l_batched_shell_to_task.data(), tasks_device, stream ); + else if( lapl ) + eval_collocation_shell_to_task_laplacian( max_l, l_batched_shell_to_task.data(), + tasks_device, stream ); else if( grad ) eval_collocation_shell_to_task_gradient( max_l, l_batched_shell_to_task.data(), tasks_device, stream ); @@ -368,13 +412,15 @@ void test_cuda_collocation_shell_to_task( const BasisSet& basis, const util::cuda_device_sync(); - cuda_check_collocation( tasks, ref_data, grad, hess ); + cuda_check_collocation( tasks, ref_data, grad, hess, lapl, lapl_grad ); for( auto& t : tasks ) { util::cuda_free( t.points_x, t.points_y, t.points_z, t.bfn_screening.shell_offs, t.bfn_screening.shell_list, t.bf ); if(grad) util::cuda_free( t.dbfx, t.dbfy, t.dbfz ); if(hess) util::cuda_free( t.d2bfxx, t.d2bfxy, t.d2bfxz, t.d2bfyy, t.d2bfyz, t.d2bfzz ); + if(lapl) util::cuda_free( t.d2bflapl ); + if(lapl_grad) util::cuda_free( t.d3bflapl_x, t.d3bflapl_y, t.d3bflapl_z ); } util::cuda_free( tasks_device, shells_device, shell_to_task_device ); for( auto& s : shell_to_task ) { @@ -387,19 +433,33 @@ void test_cuda_collocation_shell_to_task( const BasisSet& basis, const void test_cuda_collocation_shell_to_task( const BasisSet& basis, const BasisSetMap& basis_map, std::ifstream& in_file) { - test_cuda_collocation_shell_to_task(basis,basis_map,in_file,false, false); + test_cuda_collocation_shell_to_task(basis,basis_map,in_file,false, false, false, false); } void test_cuda_collocation_shell_to_task_gradient( const BasisSet& basis, const BasisSetMap& basis_map, std::ifstream& in_file) { - test_cuda_collocation_shell_to_task(basis,basis_map,in_file,true, false); + test_cuda_collocation_shell_to_task(basis,basis_map,in_file,true, false, false, false); } void test_cuda_collocation_shell_to_task_hessian( const BasisSet& basis, const BasisSetMap& basis_map, std::ifstream& in_file) { - test_cuda_collocation_shell_to_task(basis,basis_map,in_file,true, true); + test_cuda_collocation_shell_to_task(basis,basis_map,in_file,true, true, false, false); + +} + +void test_cuda_collocation_shell_to_task_laplacian( const BasisSet& basis, + const BasisSetMap& basis_map, std::ifstream& in_file) { + + test_cuda_collocation_shell_to_task(basis,basis_map,in_file,true, false, true, false); + +} + +void test_cuda_collocation_shell_to_task_lapgrad( const BasisSet& basis, + const BasisSetMap& basis_map, std::ifstream& in_file) { + + test_cuda_collocation_shell_to_task(basis,basis_map,in_file,true, true, true, true); } diff --git a/tests/collocation_host.hpp b/tests/collocation_host.hpp index a64ce8ee..9e91ab95 100644 --- a/tests/collocation_host.hpp +++ b/tests/collocation_host.hpp @@ -46,13 +46,40 @@ void generate_collocation_data( const Molecule& mol, const BasisSet& bas d2eval_xz( nbf * npts ), d2eval_yy( nbf * npts ), d2eval_yz( nbf * npts ), - d2eval_zz( nbf * npts ); - - gau2grid_collocation_hessian( npts, mask.size(), nbf, + d2eval_zz( nbf * npts ), + d3eval_xxx( nbf * npts ), + d3eval_xxy( nbf * npts ), + d3eval_xxz( nbf * npts ), + d3eval_xyy( nbf * npts ), + d3eval_xyz( nbf * npts ), + d3eval_xzz( nbf * npts ), + d3eval_yyy( nbf * npts ), + d3eval_yyz( nbf * npts ), + d3eval_yzz( nbf * npts ), + d3eval_zzz( nbf * npts ); + + gau2grid_collocation_der3( npts, mask.size(), nbf, pts.data()->data(), basis, mask.data(), eval.data(), deval_x.data(), deval_y.data(), deval_z.data(), d2eval_xx.data(), d2eval_xy.data(), d2eval_xz.data(), - d2eval_yy.data(), d2eval_yz.data(), d2eval_zz.data() ); + d2eval_yy.data(), d2eval_yz.data(), d2eval_zz.data(), + d3eval_xxx.data(), d3eval_xxy.data(), d3eval_xxz.data(), + d3eval_xyy.data(), d3eval_xyz.data(), d3eval_xzz.data(), + d3eval_yyy.data(), d3eval_yyz.data(), d3eval_yzz.data(), + d3eval_zzz.data()); + + std::vector d2eval_lapl(nbf * npts); + std::vector d3eval_lapl_x(nbf * npts); + std::vector d3eval_lapl_y(nbf * npts); + std::vector d3eval_lapl_z(nbf * npts); + for(auto i = 0; i < nbf*npts; ++i) { + d2eval_lapl[i] = d2eval_xx[i] + d2eval_yy[i] + d2eval_zz[i]; + d3eval_lapl_x[i] = d3eval_xxx[i] + d3eval_xyy[i] + d3eval_xzz[i]; + d3eval_lapl_y[i] = d3eval_xxy[i] + d3eval_yyy[i] + d3eval_yzz[i]; + d3eval_lapl_z[i] = d3eval_xxz[i] + d3eval_yyz[i] + d3eval_zzz[i]; + } + + auto max_abs = *std::max_element( eval.begin(), eval.end(), [](auto a, auto b){ return std::abs(a) < std::abs(b); } ); @@ -61,7 +88,9 @@ void generate_collocation_data( const Molecule& mol, const BasisSet& bas ref_collocation_data d{ std::move(mask), std::move(pts), std::move(eval), std::move(deval_x), std::move(deval_y), std::move(deval_z), std::move(d2eval_xx), std::move(d2eval_xy), std::move(d2eval_xz), - std::move(d2eval_yy), std::move(d2eval_yz), std::move(d2eval_zz) + std::move(d2eval_yy), std::move(d2eval_yz), std::move(d2eval_zz), + std::move(d2eval_lapl), std::move(d3eval_lapl_x), std::move(d3eval_lapl_y), + std::move(d3eval_lapl_z) }; ref_data.emplace_back( std::move(d) ); diff --git a/tests/ref_data/benzene_m062x_def2-svp_ufg_ssf.hdf5 b/tests/ref_data/benzene_m062x_def2-svp_ufg_ssf.hdf5 new file mode 100644 index 0000000000000000000000000000000000000000..2176c2e956797d828f6b651332ea6323d419b6f0 GIT binary patch literal 247416 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�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 literal 0 HcmV?d00001 diff --git a/tests/ref_data/water_cc-pVDZ_collocation.bin b/tests/ref_data/water_cc-pVDZ_collocation.bin index c6d22ab41e6353fe2f1466b8acf219a3995248c3..e2d7ea60f448cceab1a902a7a2d39a463fc010c6 100644 GIT binary patch literal 1090740 zcmb5X2{={X+s7?qBqfrh0nsc`M73^1N^?mXRnj0rW|faCAiIQslQPhg^3{yfJ1dGP;v2>f|y{dxS)*O-!^^hl>lh?CjBU<&_xnAO>(pR;3v z`ruCe1L?<}fXWKrUg5G2;QqYO)$Ndwx+0&Pnz-#F$X&H&%7SAb;fA|HyQk}Tb<^H@ zm;JHju>E7e8msP4V7{zt#`R=D_3!(4ZQJsp3<{JgcVmOkaI*JFZD;d1);M7wr{^K; z=b_)1uzz1VPr^P=`nm}F>pHPmrp@GB8_8(1sasIg3dip}cGw@zuPz(%u0JKNg)GlE zwLJc!3B1iTxmA;d)CHZ)x0!M^lOdT$$^FeOu+?+!v2O+A)u%K@PCy+^Bz!``as35v z06+FK(|<3hzD?QJe&9nR(T?}q`(fK#2uZpwr#e$molm>y$+QVCh`~cMp5yxOK=kaX z)~kl&)c0JlHZk7XK)gG4^}vevkY#wlCO%z2-OAtL_p8);(mN!fd6}~dY)aF1IgS-j z9}>K5nkHRG%x~}TvrhX6AHF{|H#Ox~S9$PiSS6!|+&UI9-&egGx@F(4d)hFT^}2xJ zbpgZc0*2QG46h3qUKcRDE?{_F!0@_&;dK$W?!}M$-rpkTcK0FgguuvpsrOFJD9nom zu_M`9AFKFB*6XBf5s$+ALRkFabgjrL{*m<(H*UA)_N|1~r92Jhx5kdF7xz{tBR$1> zz)t=Pw3eJk9TB0s+)~h*|snflJ-wYp3%)avhED;4=}tx!0`S6!}|ja?+-A%Kfv(* z0K@wO?C%eYOS7WXluNE9lC?8Edk^dLsk1ni9JBc1>!uR2@Q84Hd?}y$|3dE1e_HO! zt>R0}c#O9VoB9lr*+;e zR$63*?D(p!k7s$KX7Y7%ij+RG@%ywXV2>KU!ZUfuV!}3LSG`Q2zkeqb=RTkQWy3Al zn6-6z@WEUNKJ=g@{bmRpi;WDl-Iz(<=#2UFwX+B;HXhjECNmoy^V_ptY>Ov)`7_IJ z+6rUn7aaFZi`x(#xV6u5vVa>>3EpwDO(_nAdTqY1m$d~Z)mMeh@bA3n*5P9P z$1l1ymsf?r@13vQ$}jFiuODponfE*zRgU);pXZ*1E-oTb`6({Qe6HX53Jx>e^z^k~ zm%0V=FjI7vnq~-{dV+32!}sCiGnefve%*%}ewEzolVV`Hungb&_Iu>Vsqy!Gk5s^m z4GQHCPH3Y?-oc+=+)qO9{jCqIzHS8zmi{KL|9gauCvUU$1%N8RZX`lS0 z{dz#A@J9bEZ~%+d;tMa_3WxY35o#4{Ezm%!Y(lAG7BUEMj4wV`jGh~flh*&@k1V8X zB$%qY;|IrKsKDyWDvlSxmw=-2J+tyb#{c~EC*R{>-@Umrbn*!4 zdv1o#?W%?~JAz75I=3U8Elxh2Vawc(*SAnr`r_${ z$<;{m_fVUcnLfPjiD>(hs z+4wtyQOG|_Pib~t2p+Us!ufOec@*|>ZQh-!$C&0xMmbN+Fi*lTPs}h+%rsAibtj`- zcg(Qvgkjw=!@6Upb!XT|WR&{|GwdV6u#YgqKEh1%-5h)?IrWb_Vf@n(02Y zyozMJly##7&EW$nwOAsM3}K(gw`y<8hVavkQvIG`gd&yc~j(x-YhLFK6ua=%qqXx?%QpH1tfQ_op8+(xgY79>_Ottj+|e&=UhKT zuDMOjp1b%UZ2lpnxNzb`WUaUw1ptbTXSx~>pp5yW=+UEYNG1sv3-Exh7un z^jd`DK4`UuY&(QpGt{!i`x!tf_4_93_iK;#2Uhc6Ba0RM_9oS5lRHt3P1VH(AQ2gB z^kkI|iWYtQE3ol8QtL7}blt!j!jIJsXnzjH_PO_G?w)!DCE83q6x~~j+Cs-&+mT~T znsW&6@53jd{Ohf)KXWg^o9|nv=goD({Gw}15*FM*G3r99I&u#Xiqun@>6Czf)aRI5 zPd|Xq-z_+|b%rH6XOd|<(Z>)jviV*5rOXEVm>BvDSwPeBfI;8b%>#K~@rbK+4 z!@k=OY(d&#M_~B9%kVwyYebFO1$-?0l;Lm)LDO0qob0U{(4&K~a$TQqVXw0@irp%l z@mk3W86ACBv_!ObhV{9_z`l=W%%5q!c25Q|&tCW;ixiT(Dl?|FOn3y>@&ixY{&X0L zh+Tgwy7&QVSyTLG?O12{=;AB;LOc^cEhv%N^_(D=dd(pFv^F&9?Kks0E_0$|RU`1` zixX^WI(fG9NDOp`ch^7iyNXi|&+&Me@f3ZLyfJ*_%Uh)J?(MPfU4@vd@tpWH^$@Je zQR4P3#vA2qKH!#|bqs2#-@j77`wCTl*u3!;2_5rEVOn1aIdlF{MpR)X967B0xFOvV z6}(9K@-Vy>?e0lj;dj^#q`Bf1jCSA0YZkOP%STio%`p$`cs74VtMexQ-YIdC7&&Wt z7?_=bG|q7+g3RNfU0f`_)hHG3cV7^E9$L`t+MQqSEck*Z1O?rE!&`~3WXt7b&QHef zLZMb(`61}QO2MwEai(DEBL1p;s0h4j<>M{qVOYLaobSNoY!c3=k}de-0ZD(l%!@ao z8vM@e$R5AL8M%qf98Npbj65Skt!KP;2kWKp92BTsIE{_foG|8sJ~zQ7R`B) z=^^}p6IA>zA6S!TNtUnLp1DTL8$R6JYF1{H2$kvHtHqud<0H3w+F|?vT3$D1O{dFP zXr1>ldRJI0o@?6hExf!OujJF~-?2Iwna{7PKO$lYMmu?1cEy*&v?&P>ws#Y7nla}d z&c8>RB|N9A@m7!vey4mCx75RqCrU0sHv*8<(3Kh2e0q^eXz#(NL+4>bqwkkjwsqLq zW^I^NKo7dT_zdxjB6e;wqPKJQBy6@NPS7KxTEt`MM z;|AZTlwoFjIFA@Ok4DLP7$xTs1LuK(^N4}-Xq23XQF0zJ za2^;qj~FYP@vOQYt`t5xx2^RIIyTGj@}dqjUi0l(( z)<+oYd0NM_>UxMetZy~^?gF|dtnqx?j9yg8u`*Nb>3O)WR95ibzXd;fE`QnQa~z6R z#qIkqjDyOQ>at>SSHg2#Yn8vU26%JqnH?>d0@D+m1d7xB@b91dcFt?bLE2W_X|nYq z;JxL8t7~&V4t0Av<;a)2=tzXel!*^7pg~Vqp4er~SkKcso>kWa_Z-dAp_WU?!aLY} zSHMpcEPq2-*4h^g%nd#-R(+43etnkqPOAz%P90mI#wP~ZPn5>{cbz6K_q}Xw%Z)%| z>1|)LmK!j4-svCTFXZ3{>IW=1g4S^c?AYM(#w zE}N$hPn|EgNZ7g^#d0Xx-}9aY0X6$2Oyk|i1pPe*LakOH9;jie>YWC~ySKhDIaG;F zcU)Wgu=OV@mR7ee$(aX-E?KUL2pUT&&wKyKnp=csz5exFxF#Nj{Jy$k)tr;i!PXZ` z(t1AoZyirg{H^O@8qYzVE1Wk_%TX7tJJ?}&7d0NM_>Uvo2kW*Cc zoP}OVEvssD6b0_{);INsgFtC=0ng1H!+7svK8<5P$3RO_hw`De#c-Vau<4U6XGps6 zrpp&zd%z{<7kb`TGU0Y@?2Mj6?{USr-%g+Frh-9(la9epRcO`Rt&?>|j6CfgT+uNp z4|m(EM10S=gIo+=Pq{YM=AU|Ajn?zDjwca+>w2)fQ;~3H!(F7NaO_0kdkLs=v>t!# z@}KL@T?R({Te--&l^4J9ofZTGKP!o>{G}jg!guWPjx(gAc-)~0A>Q!)TG3Rlt6AVq zG8OeqzTjiS*Y0+|m<^u}j(wgZs{s-x?(Ev8B}sTI{7yvxcU)J~fao@W|9(bcR$Hs4qR{5CFfTnoDfmZow9rhn$@DKe1x|&71)F#V~<) z{&%TdZ3ysLSv8hNij22;*4>}di=Vw%614VR32H1J=3PH%4@cPQd1qSB(>k72*Tbd4 zW?AX(B9v79ag*VX*`R_lA~v26holKcMv>bE$j0GH)5I0iVS`0p%9TU_y)nUOy_(#} z>|c7CBDq1JB|FCdjP`AK!L{eJv^pm-ygc>}Z|^cFQj(9+_FoUXTwi-$ERrE{Qqn48 z=W>vbZEqVb8y+K}(2TMEJ*S|G{(Sb+ep8lSPyX`vIx;!%_qsBqHgfVW*;I|BpMSq} zX1)?6O@I7WdBJ56Nv#_9Tuca-UJs2unDfhhHrM+kK_5;kyR6? zvy8qp_^wQL7)aUy6+1e$;)7;`Tk^^={7zZO)_klQM^FJOJ+z*0`Dwd<_{qB8LGN>r z(7*RRU{m^m>wQtB=(W^c5s98T@HRuD<;ST@;2jj5vD<(L$}U{2kjv{r3A{ff70zlx z@S}CX71#k5iS|g;O*jaShlXP`t?t0XhLpXI-^!8v(O6B7I3749DrK}Ub}O_Nze+uF zeHQqXZ7+~tT8%okUhDSXo`V*jkZh1Kw_)t#=ykgP*6)bH@4(=9%;0x4O25M>{f-#? z4h()r41PzW^gE2w?})+gz~Fbp;CC3M-(i$~M+|-k2EQW)zr!f~4x{utV(>dK_#H9$ z9Y*PQ7^UA4gWrL{?})+gFiO9}DE$r$eg_7>BL=_2DE$tj^gA&49T@zM82k>S^gE2w z@4(=9VDLLI_#K%1&VC;ug60G||K?Pq!G{Y)D>_KT>(N48k251IDp%G`GME&+llfr@oxTUw;{&(+k5i# zF1C~I+I7^ZAKwx#+*Ptz2lP+c_Ui;qg_h}6dJ1nUP}0MRLV4HI(XZpn7F^zM1v+f^ zWggJnh2!761u6fVzW}Ryr&7llWTXC96BNFeio?%o@kjipg#a>+e*L-o2U>LPe2(A5 zUTm+s((Jya5kn7IB;Zq_;XH1r9Cx`fmN#(}*)=ftus3R^%^ZajfZr2e6J`U>unz5|DxOr>SV& z9QzBg##G~wZynt;~WZoF&*94j$-?c zHL=onossuCr3?X;!?1zApL6MbF4p4A zx^5&CoEGFSdVb{mzkOT98eA=L{#x%1`cnKO-S0uW9t~Z(|sm%W?_!tzj-n2p+%JZq_l7CW+`~VRd8W1R&J>@K^UwTh!^7KIg2J9G;2KyiIx^n! zSXgcK>3tBI@kk^2;*F86XnH8Sm2*iE23Qj9o5%;u`J_K@Gg7 ze?lOp|J>(d%`^8g98`W)N}fc%=F@V4>sSM6Kcu#Qd$oLZb zNaR(Sh#&a5|E`aVL3>>Shm0PXLmOLP%$n!Uox6%l?>-{3`>sff#TG$GsF<)$bu!Ye zU24(iG7icvb3{FPb#dhU_lNZbe@*H|{r0x%H=fImjGs~YbZ(XZDd^S@o>s6cV`QA` z>mJE3Tw_7y`;z`oNlQk?cgFmD@}r~(udx2w28Jmp^ybemXV+Q&(|54uDKJTR?I*7) z5@pgZJ7uU8;`%!)wuxn;JqZsk-2F5Oq&aKbc3%h@Isc}DdiVC4--u83;=;}4i$=y1 zRtN2QEb0#H(o;lD95P47j~8}5{jDGdQ--##SMXmxGCthZq7(Q186LQsFnA~>3r%jl z-Q%rd4JX*{bFt>RFRAgq@VFY%+%c>4#N3DQ*i1isOGq{*bsm~7?XgXC%o-VwT&~>yaGNy5xaZCES*t!W z?*Hm?ddTT_`0bnmOK1OkD7MVc=GX$;fBIt9Ji}LH-Cr(VN1n?(%}(Tg0ZZ>D^FVJ$oUt^h$%N_PlEoRp`5S%{`3B5n^+FIdijGyM@ZSU1Gh$w zpE+6fcX{Iim^eo2q2EPUkr7ag60eGf~3^T5_E@FM@hZ)|op&@E$m%zaR@arELc-|}tKD{&qTLgB z`?@C1fq89XQca95jT~<&vH6zMT`Ab5XWO>EN@HaF)%aBcjoBfvenW4HNA-W^Sq?e% zhOKJwWX7(NYPHQH$GhZixYdsZ$e9D>^ByjIipKaYkN+yY zx{ff^b%dd=Lkx8t8D(8ZMp@TkhPsY0)OCoVt|Lr!9V`F)Oe5Fa(cXtlE`G4&_i{V3 zS~XrYw(BMoc$bEZ9}a|TlD^3bsqrL4imz_@4Gw%;sEcI}ffAa^$(ZcrEAifrcu zmtQ`67$@rM=|riUY{r_39F__o z%hGOr-9BVXO!gX-CB)o;=4)nUk=w)I*M>_<9LC9{_hemj<+Mq-RA5K2(F7Z8Xcc5D z&8bGZ+r<0ED4szj70;bI%gyl9;4zX(9T%~#g!JR={gxn}&*ksu+s~cr8xY7M_X^5pQ9Pt|)E=4p* z`fTT{n`Vc|P_(k_yz!?|Pv9K^F{J=(Q}4|6DmxCleqNfUGcyL6_(cWW*l3Qh$YII3 zgKO|R>9)P0;3$KJCa>e8^#U|B)c z$5W7JQc}I}=V~G*W8z#Tc9{J5Xgpxz9fb7!F0Nb=5rZE}j$P!rDGR5IpZ8BDndtm) zN5?%WZb+ddHMsACF1CF5dT5N$43e+9p!nUvaB@@7{$lA~8?yDV-JTZphv1&R#o7N{ z4CqeRAf6MlNLvV(<=(cHSd#xGr^;|NetEfm+Dt1g((s!M=f2NEE7PjdFPB`wy64`B z=-S-FiWgSMXqUJ`EdL3O-OF@H_m&S_E*?jS=qHeu+nRt<4f#`^Lk8~s6m0GmRDer4 zEL+x(FGA+S*WHC*Uqse(E0u-v4RD2ehuvb?S*&>iohPu(lhAnrohPF6M0B3OHcv$7 ziP+`|be_OAPekX5*yf4pJQ1BI&~*p8?!dP0gswZ#bw_mF5nXp+TX#g)9kH!D&~*p4 zbw_mF5!NN2|u zORsC2L9mmf(vZs%nGQE-J1JNrSH7dI$wmoCuT=6$Y=Ai!EO=`fcU}`}USuk2WLU#> zzHdSqOSI9?csR3%QF1E50{h4i7|2RyD?cy>E+8&+%Sd z6|@DZS;akX?^^)cE2bMvNsWemk9Oqi?Dqsgd4b}~Mj2p@@O+-3o1{))DrYiRHrS@N zKG?lz4SLx_E-nmAMtAtQ_xH)}fH===VXl`^NTz$Q8n;UnvYnXLck^BeT9&Aq9J9dz zw#kmm>)f;zbPY?Z=7&4LrR=-~cSKL4;DKvn9*f*WE|Y4rFNHrueV-=Fshvzh1;Gov zAJ+L`!NOPB`&{>;%NzH`8Fb0Rx)tZ|4{VHsoL74WzkN9eZrSnit73DYg-dZ@VsR$X zoa^wpTJ#>Q|82D>t!X>5eVV*Kj^oegQIe;r9qio+345cb>=Q~uA65sQGy8D^$;)|K z*jUvdv0a^#H_y0$ddS!V&lc*zutgAm!evKTv_Rl&+v`6$>deYtvz-VspA;I{pzs`( zmPjsfJ%1nlep45-;?)%_F@Je5Z{|^yeko+T&Z7X{ zsujSpH4k6=EW1qr}bRcMt4Zui(5SB_Fwn z_4?nPd=E`Jef#I*$k!-3v`MVZ_Y4?#Y75p&?1DY=J8MOBoMBP?_Rek3lF{9imuol& zE78SihZV$Uy+t#ZyxA~*b_EJwb<;~}XBu8J8%u>ew?qP3q1r@J5t252*ARY~1ncD$ zjyPtYg(dZ4g*^_I!iLC=qFM^sL{wRJ!r}D=ppzHdXg19R-CX@`M{3s-RM}<3Gp}tQ z$kiFo>bJe1tami92E5`6!e~mo=DQhNKaqm#jb!+aox`RmJX3cQ=(f8=3fZ|y3s&cHi<4r<^l?M`n z=jZk)ECsY<$wf}DG#D3UyueG`1J-+8%=&uoDXjSXsB7MdyQI{#!f{P^Axt{^WbKC# zCv>RG?8P(x*C?X&#FcsL55jXjsoDd$4T((tHLK#yOJo_I`u%Cn543(!`{0&DANbYl zU#ot`5c+4tYpmcq4HrF{wzFAv@9LkrHA7{*NC0_kNNQgaS}MFOG=Rd#Ht z!^2|^UMZjBi{w*zy3_`i0_VY9^RKC7!u^&NgStxYVD6o$qc2nkAv;3C4qv-VmdLfg zST9}#g}?7>*yp*Up0OJi?<;Iax81s%F7zCPye5lrJ>?(K$@HQczZLB$f9tP3mRC4n zxbvjE_+x)KTJ@+je2fv4%fFk2R8GU*L9?b4x$Wpcs&;pN=T9`jLt?w_S^=mOUY%XV zJq9)&$k~}<(v0&oj8qTr3PN{H?j2JPS;pc#p`0gdoCnHzLOG8q=P~6xVdFfeoX2dO zCzSJqjq{jt90yc%6Y=Zd7zvpl=GN!9#hT}HqK+pdCbOnLOD;^IFBjkF&pO*Q^MsA_m~x)5aUN05 zW6F8LRL`^cPV0K8IXhA0d!0LK5Dk2Dx~U!EexW=Ev*YmNj?Vu5El<&lFVhtct-X$O zgbVy^Eylo~JEK>MA9#YD<`*|NVI|VfrEGR?lQ+y=xO<+}5^tQPVRB@srVuaTvVCxz zM-WOK>Ryk}X+hKd*Xu2xR)Q0MrFe2XpG3~jH7D1XEMu(aS$wB;JxJa5md@LG0c9HB zS2d~ZK|{;CVV4-q|&{FD28k z^t>bL*ejNDAxMR>o@eph>Tg{SZw34F6NkHoxe8_qB^&aYeYO9gJ z-GO2~y^0bXq(SP~H@>3ZoRI!{N%JGC7JTK%l!T}2&Z5A{gX2`@t1{N}>VNBa()zcq z2UVXF>AS|opekh|KUg{jz8+Ov`R>pCOUZ9nF)^xLDKNI@aRxx9Qn6!3p&;`=@k zBso{8jM>tKBTiP_iAwZGKfb}Sy`~IEIoH-S3-EvlD6D>_`f$6@Z?+iw|G@$uB1K{fw7+I1Tb5^-mr*|B63-D)+Xm z2tfgobAyk>t$+l!dR~Fn^DMrv|6A8XNrUUUU+Zq5qcJ5F&(wrq4S9XdJ?|uBY|L4i zEIa`^cBvU{GyaLj_cYoa+Bg@6M9CRj-Z0P>TG{cU^#IHZNPP8O%MXg${f`#5eMj6! zROYVTBnEpj9#?jFs=%7xUrviJl7%->mupG$F!n^es8{AP+8^0-w!mfOKlOYKt>;;M zU;ekQhpGIWi2*kdS83$Ug1&~WYimBO1gDmV zOSulo!!GAgt_NPcBs4hZow`XJN^D=UZ-w|O0ET*=#dr8y*8_K%;llQ~TWDhZS<$Nn zlfiCz>j$g)lc2Zt+ot?ClJMzDVS~iAap0XPkr*Mh1hUM6{Jp9oVC!$$*9R+)K+|d8 zf*ZWP&_6hD%$C~|VX^JiFe&vpAiUenDMLsD;^N+~|9WdF7$>}ysWBEJlPiN`R~}A6 zMrDhRp0r*C+-&u{1+C{5|JLz@*7Y#saeCLlk!;lMAlu$iB@WwfC{7Q$auQbZ$2rxX zm4>!hFU^pb!k}>WeOAT}CAeWS(MkSn6!6O{?Hd#|2AdW4uD49`ft=G$0!KfK!-GZl z;sf@}!|XxP=Yof|ASrWL)L>W*ZoaSyJC`CtOiiy$j{J~{9&pafpBuCa3fZnFZ>QIj zxBtD43?6^4E0cve8CwUY=Hk`rO*2kaP9s|ba$c@JY)lp;wKd<0P=Z$O`;GeFIf$}? z%if`yWhBv7x1ZBjO$m?SF z%@@t0q3+c$uY@E`LcZ+YJawK2aq)W;qMgqNcOLM_yW~zJ;!?r3+bdU-@1Ji@;5wuO zsmBbHdbT6biq0Ux=qX?BuJf$#@5zDrcS0%2t<$R1ckEOMsuWqNv$ zk zcUEBe{hvOLb)AlN-H!SlQ@>;Ccf#g(MEy?K{0`Lbgw5}W`kk=(9Z|ny>UYLIj&+@m zb={8o9aFz!>UYBCcTD|G*!)hY-wB)FG4(rP^E;w`$JFnPeH`mL9rZh*e#g}BnEIWt z`5jZg6E?pS>UYBCcTD|G*!+&D-!b(&V;@KT4%F|2`W;ih6Y6)u=66i}PT2fTsNV^j z-!b(&Ve>npe#g}Bg!+A?k7M&YP`?xEcTD|GsNV^j-!b(&Ve>noekW{xC)DqR&F_f% z9aFy(>i3a8j?M2t{Z6RgG4(s4ekW{x$JFnH&F_Tzov`_xP`?v4za#2*O#S{(AIIi* zpnfOR@0j|XP`?v4zZ2?r!sd5E{Z82YPN?4ro8N)@9aFy(>i2*8IM#JK>UTo@j;Y@X z^*dqnJE49jYUZKma{|gVCtyi)0$dyaHy;4)fAa$5%Cvj(V{%h*vd!ZU z$EqigMSG6+A0A^&q-DR^`hS}RODlf9%xo-2{5#g!d0n1IR3B}y)c?&51o4+7$>oZdvLayPoDV|l;@Ayd7$DbZs z<{cxBxmlN^g{Q!c^wT^qIa<-3YWq_!4#s?XyCD=3i9WQSS0Y=^%hvtOQ-GL~M<+$ze@Bw0ycS`OXRr#$j?ddK zPiS7vjrEMgX1=_6eI%#LinERUf7WrVXRhta7cADbj^uq=`TyiuS;wE#Q@SzZtI0p}wKZ>H{7_sERc1ck@5EjW~Fi|7qTDEVF70{-d&r>I-Z_}W909#&dYk9SM|`j zyNdkR#|J{L#r!iP@59J>i}3BnpBsW%=NTE-v78^X`Q^)h=GnhJ-(pUp1nYP@9p-s* zIM}OJx0d|Z#~06;k&xgj$U1&xKErtpwpzL)Inj}EryFBjI(0w)Gf%CZ9rMKmX0y)o zf6gZ&N3?$j+P?!^|Bh(?4s889 z(Ec6R`gcV8cVO$^3GLqz?cagcbwKMnV5{p0t?Pi+b%@q=KwvAUBebpq zwz>|}x(?XtIzsC@MC&@Bbsf;U4%q5CLhCx9bseI09niWC*y=h=>pEbo>j zw5|iTx(?I24$-;}Soz;6?|v<*9Sz-2@e{{{c_Yij5HXwhD)4HR|IVfK<49l zem%o!c=vN;mZ|586^*UJl`6N9k=*Y+p={m0ZP@Pf$-5uoA}}lWi**(V^i&>#**V|L zpLg36qqd}tmHTI7ZP$HH0X>JYolg|c2G>j2hUS4a3fwlj98$&30ZT>BEYd+@Ln`Yz z;}pSA{?fvFf$Pwq*L>&L;UIWTbH6PfR=PtDL6By+Aoj6I2`v1!+#^VM3HGSDveB+H z2p8n>`4)QYBCOnR-jIgY(@INx?z#T&olWVOmHSP;X@8=l_Xyb9<{VzO>NJ@%tQS8w zT@%0MzN6$d(i&|?~ez&<}{BJ3gz(AWUs@X!&=zu%Wct}PS^0J`H~ZjbPp0% z?swy$e)5mCzIgevKkGVHT*{OZoVIOJ7`?k34- zT;cf3Xu*^c%*q4jU7sF#Y|&OMwEOD zxnH~A(^nh|%K+arKIQOpkKxI;U)&!z>S1-W$ooH>v$28Vw`N1hBZQUv72SXRiEcqG zHp}_6@!9kbU-ju_S*F|9kp zJ|d&sM~Gn`0mD8*4EqQ%?IQ**kx_C9F>nbOxP%zEgqXO*zZ$y zrn|iTCv$Pwm@d(f;8x_6v29%a7ZJkB1DAcY5FFmvfL~So;)}l*g-o;g8czsph7Zq< zh<#H_hRHS@e&HdPMsmLfr`=9wTgQ1Z0XsoO)kROK!X&(5acAWq9>OcA4eC73m-n!^exRrX@cQpu*=Ux3p^(Kr76^UQu zb7>^^>!leNGT0bT!o}7uw$UsGUIUew-mc|1RIJ0_DJlx93T1q>Z`@8;xnE92wXQZX z4|E_RD6X_&UDN&mnshq-ZkcYv&RcoJ(l%t^Crg9QY66YQ3`rC%NLpKbG0A?PjLv%1Ao}r=Reio z3l~Z%NUv`&Lq_A*y$pSz4r0khN&`)|AWP%u=|{EUBliy$4!+P2AB-fwda9&aH$Q<= z&+zBx><-}1Ev;j<%nI?ND=0o z1!3iWS1vl$;~$uf_iLuF2&*2z=V|Wuu*H59JIMtyqPNTNjk!n!(yi`)8yAbbehit& zc+}!z>HHG+E1ZOt2PW^H9}+Ukz()@3>8qaakB;$d+Y!>d`p>^-GofzE+I)DZw{P;v zgwT=PZ>PdQtL4WVAZ{k)bhD}kqC0<_PEqy3tsddOhU!0H9qsz`7aG>&8_oT8%xzwD zt*-)~=Kd1>=@Sq6^IMhvH}@;qJiqalmn)o9*JvL*97Ook!VC5f-$GNrx+uhQcVgWK z*9A(CP9&^6@X;>spD!iv;DVa;O>d@!BA3(7^3m_L!J>4w$MwJh5UGnP>C6p*l{EL8 z_h{o+(Yd*hBrYMQU|0L+_dh+Y_G;)LH zf%pA#;a~jnHr{`9LB_UISJ2**%F>C&YrwPWHShQIB1rHLE0-z^9=U(O)tGU!iN6@u zj-6KfD83eKpRGEvU+*do{WP=3?+FLFdm_WU&D4poa=+#pX&lQOy0QD#XyKi2B?v3` zTWqT2y{GUrH16Su8PbX%9s1t;ntQ6z`Zt|6)-U*oW5XARsoJuHl?P7qJLO$$5sM}E z%~Upc|L5Pc;MDy1&U7sk=V6qb#|)e&44g*{oX4Z&JdBd_n1SgqFiOs22F?=(&SM77<56-RM#*{1zicD-|zrpwrE$%2PbBzCYh?*36e!l;(k( zuJ|px_%;rwJ9RWJo*jx3f8H`KFV_Xj5~!{qk#dXNy!AL!S zyZp7#c4cR5sA8Vda5;a%;~_D6hhy2W971&yPXb zoK9!r#_NGpZOquz`T3C2-4uPyH5OR8-~Afp=a!~CBtx{GA9QONa$6dNrMRB|#`F7e z&g#@NGM@|yEB7nvwnf{anGqfz! zJb8NguW_-kh~|Dzn`Z8@KK_Wb(t7^N(0%p%nQ?gi4P|32!cAuSTzOS>$CR*gzfJ`q zI?CVvXY`|3C=)<564*_q709_ZPvLg>ojwXJSS^*J1Fa z{ou-z56KBy&%4R&*f~u%9p@#7+fLanOt$TxEa$$=n!KaAU#ysXyKL<^$exnSfB4M; zvWDhXXtl zzWyAoe-I6`|9*at%uXp=yfmSVOr`Za ze|yFGmP>c>0hRYvb})^!Ot}9(tJ8t7a=&LbOmHJB#{Ky`_1ekJY0C&J_nQ>wIQVQ* z807ryGBkGyAqTlSMP+k7wh;?h!+f+OU?Zx zLvXRie8UD;@{#6#Kg7CKY_!6b7+<`ogV+mq`8@$8i}N z?bu+Bs;S$s7)Y-&nxd}0g(%QGu;AOXo0o-7Ah}nUk8h4ILQm(24*s;?31xN54%|HX z80@y{uYEM;3b1m&vlP>$`pR<18d}dQUed_rXfDTXkAmW4{TC4Fox6|Bvvwz}-0$7i zoJSYazM_|Ql`o_mw21)C{nixboqM=A4AfJ$nmqV&nfQwKrrsIrg{^e`1Nh$NA$8}T zXChuZNGZ(&k8|e#oLfJMI2LKE_6j^eRkrtE**d2fg!L!|{`?^JjMP z4&r?QvkG^XY$2@NuY8H)j+d9_K~t^U)6$2cgq8ahuQ}88uJH;;F75v~XZLY3LwKXu zNlrfKv@;qn)2jsw9?8^{u971IG!HzM@6l4dfX^6c|rQczce#Z=cCk%c^41Oo0^gE2w?}Wkcgu(BK!S7_0 zeuq)|oiO;FF!&uY_??W>?=VWg69&H%2EQW)zY`|Ehb)aeS#O^Q$M221@>3!KxM}Y9 zZ1y`J?D~}4qB#Mva{r@|9iHgK4ash!{qK?7R;4W^GFl_K-%sgimRr3vh+MlY7G%l| z6KL)?c=lVT9`7iKomp;Es(%0?cn&0MTaSV2tz+dbrLF`6-Qw$$HcSRq9=LAXxq+&4 zuh1irMW!|{v(bemKhGIWGk`#=pU-%g-i4%{rm42N36M;4zlz=(Jl|{oAIi==8msP& z`;^k8G@+2OG)R&t>THoAl}rgCq)A96V+xhbA(<74l9bFT`$CciB^8oNq*797LiAcc z`<&K$zwcS=@z=A~UT59*^PJ~=zSlnY=eq6(5Kp{|nad;{M+YTQ+g)1bx?6Ce_7@pm z3-h)y-Y>d!Kwq^;2$f*2^tmTyGv05b(v6HcmtxTb^XQ_V*`A2MZptS4RllgK%EAfP z=P01owUOh0-du=iA9!8!S*Oy|UDWYUt5u%jtkJEQxv-s`zyu}r$ z_IG(fu7Ego&~&+XSgkMh;+$-VeB)o{^XIK<57Ha*fa723#?IwB%dC5Q1zN`sdBAJW z$9mKXiZT1lIoL5MH01jxsmmVQSC+wC@0I>z@{jNKly)gT!s>9v3{nH9Vq})5Y zI=lG>ihuL?$OWx``;?o~{pRqhd*C%m*!WJtJ)~;=skN%(0KOsox31;qGkk`>u4mzO zU7&rrr2>yP@45Dy`sRDoY{#)KOt1H(2v}YdjzBG22Ia~n_R!aJg?Web7p>$+g9l#P zd+qznT<7)Y!m1fm-TcDbeC@gffk0IcI+;L2KT8(yRQM!uFBJh zy8i$=0_uK#9GY7?X-%G;+VK#)`bk9PujsG1eUbK#8J(8&-}R}vthY1l0XGW#o~EF@ za00U~x~ZsjTw^5CDoOqst>#6qb2S+6^?Sf2gf7+nO>{RAqSt-?w0_9c_GrZZdD>0~ zHeaB068FYAUmTi~6XSmPr(hY1_HyEK^Zd8ZvqueoFRgnBA)if(@{FIL+4CkBJ`q2Q z4J3s9{$Aq($L(PfT>E!3pI__R#nm9qi}qNqJ9pMrm|1^VF-g&9Z4@#|akhz!JVCE> zO)1^c=pHJDI@TACUZS{=UiY!3+t#_`q(JMYeV2yvUnW~||TijGCLpN00z*yz)&i7GXGu&Qjz`^f$Kna|JG z5mI?9IuRMpzu5Otc|Nm#@7>P*c*s`{c=By9sy&om=X#>{ROhy#B#O}Ad2h-!WqRGG zU&Z7~yV`H;`nu5ZNLelw#`WyFg|P{G(!BM)*o4XvAdVG=C|cy6C>iod*)I zy80Ra&(_1t=POJv{<+NK7oOl6;PiE%-7@#itS*Yv?ZS@0bs#>}6j>AMj;9fBwt>uj)^ORGw%rZ0kD#g`g2LcoL=`idwP7-;i30v4-3Uwq+RY&Vr#OO&N5{^zrzU6 z?}+96j#$p`z;b>^BRs#u2+!{n%lRF#oZo@v{EkL=euojB-zk>!J7PJ%1IziHVmrUH z)O9ezx(>6{b-+^B0ZUznM_AXv23P2{#QU8s1iR-CoCSLB?_1%|YqJV&;%7Q5S4$81F*!mzGkbO>;q$Av_0`*+ z9Gdf1VRm7IKaTlW{^9eO9YEfP0eK$=>-Y@-JNp?A&m?>q4&nlOWO4h5yQEkTy zKX>~8J@1$HenVc{6sk>Z!SuY}9mM;skn4Zt@-PKD$=u&^XIbByFKUK7MtD{@?Wu2oYn8k&JSVZA?@vnhhuDgM}Uj*`gk)HbsLFBz6Chr-$^LjV_ z+IJAYS9!0a81Njs4^+=iP&z&|7kGHyuLJRZ`Rttf-mUGz^t@kP;{BRt|E?FDdI4z9 z_m@QA^31FjOpQsIoGagh{hZ&-jw`{qG%e|cszEMQT6>SX=~@cj(j7g+ah3z<4Zp7i z^1c=f$h=?L`=z=6ezBjgafB}(EF9nb=TIwNr?bN1=*5#j&--m8-Y=g}07`2g#Pqyh z+WY0-vQ|iGO*+t?uT1F8rE6#O;9mnTuWC;m1-m=tXP#?*fZK~gWJdekp+u)NZB($% z!u=knd4t>bvF(%blmFvBDVBXQelo{CDVBXwZ2M%n?`VYgonpD~h~>UhEccyayYDQ| z5#!JQ$LEM*d5#dvb40N`M-tZvmAs5#~2bmx4p9u#$LeB~uJ_Do4yx*zB z`|a{URo#+HA&kuXrM=&zhc5?pTeBI@x8|hUyOv$zAbst_EvNo78 zZGC1o-X6Uv{I^^=?ot&MnUH%B$oC0Ad;wM(eddA|>d_Z!?kZIq*IEvD!F(%!Gf6#+iK`{#i6eB=N6_-~iEhAlQb-{DcN z#eN@K^>_7Lr=GnWt;E%Cgdex6S>4ZY$N3ws=*;f20pbe)@dcQ9zqI#Df3LvfEHWqZ z_YU0GCHXkdqzbFWhE*2$_`*jr@0a#|7g*1|bgZKl)AN35@AvBCM{|Qh&jaoGcBC8^ zh%~LlVx>{M&9QCxe!fR!ML-2*Z1h=sp{6wz*SSAfhbsUtcaO_$r*;7G1%UVh%)H;P z#QUYcR~Wx~S>25#uGq+J&b&vb8}QmQx=Kp(Pk<|#_e*=f!DzjGY+nzi=l#;&Z}+1g zHDl${fS&uCcx8XC;k+j7b~?uR<=kI5Z^mk|nJb=Cdl z_wVcm;tK%r1(2ZT9>>2jG2PYkcphVC*B6H<(2! z{8?a?xFi*iKXIk=h_?d}UjQx*`vT0oU)uXULcD>m4d!v&(vf&t(qVUZp`qU|t8}gx z;tmCR-Y@O_?zfYyuN==$&w*sT-wEc*>Omrxf%bg0)l$#z*5`tmd)^%7OPB#0BY%Z> z9`B-_sU({E4Bh|ITR-|zTd(1Lkt)?UasTCQeS8o&(8vziy*f zr5-f73W&`8t==dkps+?5jNVQz99zE#v^9RI3%(hHWDMrVUdsPS-Ap`vwA1T0{9dtCKzso>I_wKTC7Jh2d%u3f8+aioTHUkzI@almR8e0y9b9Yu>jH*;4}zZet4X}y zdeff#WyOo3hs^t>z28y+!>Qk}f-Z&l&x5&I-U*i3KythF8=YS$T2NJy`-tXbPXJTaPv%#9o{cTjA_i;waQc#r0 zT<}7lf>Pe@qQFlxQHW>s8Hs&7sIR_2iIvv3|*IFDI4 zk4MOP#s~Y4oX0Gj2Nup_7S7`lavny=dCbCjVBtJw;XEE8=b8SF|HygF!g-+kJ2*Ix zSvZeJ$a$u}<3Dnq>F?m+Jkb3e9Gu52oW~>NJdBX@On(Ol=YfUun1%Crgq#PuzvDl0 zp6T!4;5^X%9UPp;ES!fCavny=dCbCjVBtJw;XI6x^Dsir0}JPYh4Yw&^T5V=($5E^ zpAYDHzjQrM_j@QvRcLj#XJNy|)|X-<_+hzY+vITyQBXwY{nFm=%bt+Wd%PAx51IE% zd%v3<68zOlvw`+}b8ek|`b_yVwOw~khH%L;5ZCRs&buXmrtye(y%2eYE2cjTSX+>W zU94`-7P#U7q@NE+Ki`no_`l!rKy*D%_j`!c-{%^)<_2CI@zk)SR~R1Iskuw2#DG4T z_e*=fl^t1!Zptaq^8k?~@qTRrX1p=C$^m-rFYiW~gz&aDy!zn&p_#gCz|DEUB|%yW z@%*^1vH!&foO1SB<~pw&ynAoQ#D{yG;nr|JACP`Npy&P4eSCDk$B$VOvZtDF<1jq| z>rS3|@Ur-X(BsANK+pTVPQ2fb2ev6c~gIvb*&7T$a`Rkr( zaJo3GB}r!ky!%}@zdwKIcQW(la}`YfhEEGE5%%aT!3HlEMu~+V0HNW2KFA&J=VRvm z_7m?{k@WRBxXx9QI8cq(e0UeVdXqc|BzdFU!9<|v{nFmA&5u6tL)M zJhM4I7T2mHm%6&9w2Y6`;MQ`5&YA{nKC{3}LfixLhWq*8{%}7ZDAV(PiTB$~`uaSA z_bbYOc#B{8j#r)aTmu$7=CNBRah{$B$aue>geT5gS!GGj17y74NBcIde&txmc)k~; z5~3t#7(i^GVUBXBJ$#HX6kjn<8!1h3S!$Oz0llc#?l#nZi(#S&L~Zbb{looyFmt${ z57fxKU)uZ4A$@&=zSK*l_3!bKKA+=ja&#a*?@0F*kyHpE^L}aXcl>m|`b(Q^>3M*R z_nWwG=vBtcLdNqAwu=68c$^tXti5MH!`T@Y|5(gdYP253TvxJQ_)!#zdKJ%7vHgHw zOWB|K=tbY1II1)4Q(0Z{=XtT64 zpL@$f^!D+tR;&6>99H|~5-Lkd-Q(eq2D1E z?CmfI)%eLeu4gYY^L}aX_x$-~0xzE&Waj-^5bxLBZw0sc@tch2YqIQEn3J&u{3r~e z9$h{Lephe#i9Iod9hDE~Pn$RaSxC-g4khi^L2^L}aX_mtbJz_uYS)AN2Ki1%B2AvrX1 z%1y@e{kEl~AZu^~h`#&YttaCHIok~$^=jxt?8d{#GMZlFPEXa1N9Ydw^l;zAUpBx)2`jecerY z0RP;5H#A+U5igy8>)yAa=ba_rnRDEK%y(ePcVNkPiY4D+g!#^#FfEA`9Ab}xWj!t9Qh7(Uk^vV z153Wc2=krk>-mrQ4lMZ&bYBlgz5`3X!wB=8Imi9SdFG^l5tqTV?UJDt2BNga*zqI$eQ19*os%bkt z7Y=Ce_ovvtI0q4$U0b z@dSs~j7vOL>k6}m=dOX{@Z2?eE*#_i%9HtP=lt?Ut3PYTHTpd2K^N2^`No~n-&4*5 zJ?|G2?>FAZOF-a^1(c9^zvGGb`|IVLZ>IB$fcAXjHjMpqM{+sh%@95ttYr_^R`ax$ zyrtmpn63LPgx_Pa7tec_CEUfvq3`s>{anE1#I?GMP8m?M;?$9w591g=i}rqTkomK= zlj-nwuh*g6C7JllJms5(qLV?hr{w3dCdTjci6P$aBVX&2Y7YOrMIPe)zOZ^Fc)vZH z{(LUIvfq{C#`I7@JBuE!I-|4JVUZ@0x31nRb zi_Gs^s>}ZE(}Z}x;(yj3@R82|#h5{@2_l8K*kc-RblfbMd&8wbt2vtfe4jYt{YsVX zbqS4DWY#r__bc^xOG86g4!zE`sW|*p#o0WnebeNQnw@IQdb9E+pRFx?)acvp2BJP! zalq*EEkWD%LC-y})B7jnKvm_Sptsk*ebU}~plYiIK-mm3d#a%Fu`MW-}_uJVfJHDMekKT{Zm9hCNrV5OQN%KA#1XVL0F_*r( z{GSgKGpUtB{@{nPH?Yfm{@zXZ_k+SU>5kXq6LaF9VmrtJzjh*fgQ`IM5#{M`WJ{f_>5u=@66ZDw7Yc)#-16JE_l`ONwSNmujP zHc}w);d#xA9me!J*PGv`?B6VWP8DMArf12w@i+&wLK; z{p#Dlnh~m5z^s2v4^rr?Qv_EpQ}^BSjPK0#rK$SoPQIbbQfQw>nQtF$NVc)#SB>|DFrl`wh40N$K@TLAQ-__kL+;#%7;e z4i{vo!x{A(ZLfZ$(4X&CeZ3Fu{gyVYG3 z!gssvn04Cwee_P~!^u7W_IaQZBp+Pf1|Avyk#mF&(${nSo?8FZYtLfjq5uMiy*}fb zH4b^(bB;jn4T+PH{dYi;k7vcNEC0CNM7-ZKd(=Obd)`HS$q|a_OFHo;u?z#HB7JaN z>ll$5b%FkTpDg12HgL~?iM#*#^|bdJZrk!jE9l=ouk!6pxG;7H^u;{jyQ1hye-774 zy}@bvbCi(HJt-&MmtAh`5le${Lb|4a-820%lVyRIlm*e^E*pjhelY}G5uT|bsf{s#ZlK` zmbwm&u&zUNKi7Y(>kvy_hgj-5%u?4Owz`h?f7kz=bUE4JGH4zTJ#dse1|*Cu_3yZ6 zLxYUNlEBT^(c55${uY829DIDYY2Cv4zF2Di!@>Q1n?Xw@Z?)-9SDYIy znLlB=8}>NTJlFJXA~x<*b6q1~0w2fP-a3)B1s2}wuepBS8%n?XyJe2C!m*DZPHny5 zhuef^tb5ZRk5`sEZYsU!ha)ZZd?jC5Q8Q}9j%Vfc7 zbr-z0y2a*PSUf)WCZ)e``*oagIktH5U^IRo-uA?3jvKYHB)`t%lm&j){j`n0RuyCi zkDNJBl?QPjFH~-O8V8pi@nv2SxCJZs4pf_PV`Sr;V83@~4FvzO5Bv081G|o$YUL%I zj=R^zx^}hO!1^fzJEwZbY`4Ba_js8lj2^eWE9r+F6bG4} zzkT}zBotge_~v8)9{(!Uc-oI_{QilROQdE6o~HU>^IVS%ETHJRSoT*KCDR=4A$7|h zdo`N8^*Esh#*446caFRP^?VakXHH9iqSP9t6G~-pUnT=9zMW$(vmqBBl-;&X)Uy_^YHOKwJl`6O z`sHGH^6cT|^f`XpA_Ae>??ZO!pLi@W&f|;RmD~9K!Km=d=bmHUaWP$^>u=zigQ>on z56)8)s_vRKRJh?jqns7(rW%mAOvO$_2Y~7vtvPvlA_RE&&K$I;fFrtgM@0VKK?%;w zgi|LrKx^io6<1!`Vv#sGfzH+n%p>sbTYs`WNLn3^OIbTK7jW*|r;>KJv02nj@le&b zc(Lt*brbAu!9`=S%iVZquxXm5sCXXy=~8BNon6ES#sS<1H3y;GciY;Se11=?RI?9fc(Ob#3b|5B)AJPwDYX@B484!^Wj% z^MjB$_qeGGrZ~cT1+F~#Z&A>nb#%s+8C{gy*LM5X^KY^5X0wMAdw*jzc8Q>Ak`S_S z99-zNqyc|bLp5)?PvfeVKhxHC>VoIZ@|m5>lfiTD-G?rwQ4r@cTtn z8miyP=N^@P4JbuH!_Utp@#vc`UBX@s`Jh+%^*&!Rg$cp!K{D-e)UGu+Y0*SyeCdwF zxWS1jSm}Ps*O?m~k!OZ?i|`gb*gSpVUAs9xP+B*AmYl;O%5Z;lU;SivEcQEIy~H{Z z7a31kFMK+gVs{d&FdkhxxXwJ8dI7PYkOp=QF za|XXjmCfgUkdH&Ek!<+0o7C?Uvm67T>S4o}&9cFjX4rY-Bpv@Hs?dEm@$^sOE3o5= z4d1fB7~tNos!@BT0vU92@5$R*h9!>OAPTmUYJ54?8hBI9xkkwbfbzWt&6H6c}dsLjQDpL%ud#xv`*bG6p0 z!QH0UXV({B2cf3qrRl$8;Q}>9a?I8H=&yvwmT1(&-u3OTk=c1L2#<3LGK~dTr|(}YuXN| zop}1dq_7aM9VmaAD^f^_Y^mrUck2#5m;91faD6krJvn-m?cvvy_w5=ji*u3G^@h*o z$8Wk~?(Z4D_!eq_$)QIlv-JQ3Q%ABB}dg)$~AN3UPV0+BIFL1lTSJg33zu`-TQM`Npex_2o zWm;diWl?R3?a{eckKw&@FA7CyXu+yM9qPnjF}#YH`bys~0g{vcT=Z>W#I&u(XNj;Kxfjv!r(crlRH`kVCPJ$J)%!0p-w?~G;sPIRnSVAJjzPNSNTU@a316F)*UhZ+QWvNrP>D*q*;0!g*lfJZ9lMjF9tm z9Z%Qw5HkAR4}Loz47IUS)aSS0OSkrndU?nNrWJ13`z*JYYF{_+KR^_A)G?U> z{8Fr%GO0g-N>oLTzF2`!?cVV(`3s|fUpF?f*YyT2JTRkX(#0Z5rafX~%Jfmd)&19I zNgF>hY>l6AXnrNuGdeuEQ@|bn*(`GAWS9nPJx}U*x~>PoGgsZK_k?4=-YZWN<+`!> z)B_%W^W34M{mK%LqA{r5XY~6GG8gdO@H=NF8}q?DN4!?rl6#nMi*r}hr4yKI z_uQbnU$j{3c~ZwC{o%SEM9rp86gZQF(+4A##@liMmq)_5yjk9$J|<3UM=w9hY?{~E zR$7Z6`1uM=aGVYIp>)vDIuPyX-{k$;#0UlwC8{me5+IiAgK%>ATdGO0RxVPZ9j9%d zR=C?p8v5iax9gP7M=qi0`=00$+{~-kXlfUUH|KAO@$uA!DwcZw@^BrG&JEY~Q0<-k zHQVD7zI;-r>66Gr@T2w|dveDI2G2|G?YSp}^ql3xUUYxL>m8ryYCf0?MM`x`bz*{0 zi=_M0s@t~kK|c9!v)NhDRr%)8tMZGQV%l51NPaXdc08?X@p&mAi(8A`?kS)PNTpBY z!(D1j>8WCayd>;dnBsPN(a<@Nqn=kH^?dhm9gk9n>v{;>;g$cUDF+`vn3%8LHUs?C zAH8@Ye0%==)(wJg(zPsatO>ZFA7_ou)U!MZ8-3Nz5`9g8ni z_Dchv(6IGkh9(^3o9p-X!x~h(B&W!!g$t>~Z5l&|3aXv(4K*;c8=`UbA8TR(xv2%V4y||B%NlTOVlJ`KWuU z-UX0uUtqe(XCBfEi%VOhvkHn!mgrt|G=>YjT&81M*P|o%r?iv`iy+C&635`4QatTFG#jc<*aw+6=MMkyt2Z0q8b++DN8QQ7Nl^ia% z0Js-B9Y3~gJ-8|+jCQvVM%mjP`!=T^gPu{3+P7<^LF%T-7xdQ1p?8ayzL^GV;X%js zN=<2VXu9%y!VhbGB!5;w`NH5_blfytaoO8Stgz}@^XB`eaGtzRM&x~R5P6@RH2fYJ z`3%2T23@bq6^`4R@#UZuI-xS^aMNp2uzhYgTuSv`@N~K|Gzjl%jG8?U*6zwnd+KBX zkJ<$_iiX~Qm?wx$YGc(s(chgQJ5F@^ z&p*a6XUh(+9hJ+G=lVQNzwFz1y;;w;`yNZ!xak@xe38?R_l~VwJEM6YIzYNZg)>-;gQvfCwTT|PcO~4|d`mM*B<8aIC zNbgj<3;r719eiec2}GT`lUlT=g2j_*s`j{3j8UD zs8e~tF-LFVNrmR+O68kbzwaR5b0C%B?>#_2TH))1!KXMNWs8yHJSFhFwINODc?e9p z@JRcOx;*?b-6ZnUz7PM+f#zwc22he`>D#Jx9CF@2U*M!^0L8QRJV~E&5w@JTy}W+k z54?A|*Ynd81mQ)+(UX=ZY$5IMnDA5QHh{Ut`V+U-%|%UP^w-LL&&AOvukh}=X~cSt zBk$?{YrbQad@DU!hDAj<~y+DJFw(Cu;e?8FyCQ>`3@}k z4lMZ&Ecp&2%y$@Jz5`3X153UGOTNPh^BqQ*@4%Apz>@F4lJCHl?*YUU*h)NstHcu+ zUH?Bn0I3Z70$}TKOi)Uq8h`4ZYG5NN50X)x;p0{ZLD(DDJEHp*z&!mV9beIQ>a@7c zH|w|Spe|#coht8f@RHavO6kK|Br@jP+TSe- zCMwg=r;vhkyB$(+Z_b}FrOuncW{j_Iv3nX6*j+m*Q}xfYi{I#(I^}jTIzK&ptNNuJ zNaQXSd%7eX8|>)mx9#l0YkqPytWS5NeJ-E!$VbA{4a+Do?{3#9tI5oI-Q~~a4mRsi zP0d<#2&^zl-9o3(@O7W4BTRYiGZpc6SF?9S`)thHs2j>x(tu zP;Kbv+^S5Nb@0BXwDCW`a)ZO}4|ngBqd(@-rscB5keMEz9k4VJf3z4s#YFWlu77rS z)47k#{8^ueo?F^qZSbR#Lmy~ruA9yLUF(&vAGrM*g(UXnR~S(L=4=*)EVo>=B%W$8 zc=%v;#60Hu=@tW8b!R_NKE}KHR&VpiC0+&{VxzSoC;hS@ci?sKa!}K_RKfiF`snLq z&etBSLgRAhX~a2{K_yQ~LHx^fJY`Viv7+I4sG4$ZQvA^Ofb^VS$%k48m0v%{R@?th z5S5wBtT!axl?k!g1ZG{$hwq!8W!4w$=wG#S^EaHfp5NtbKjTyTtW3XGzLf6=^-W!S z!HT3v99i!kd&yN7I!jMm`f$yR2bhs{mTUlS*kGWnnas0N4dEfBSQANdDek@_u_nn+AS+>Ilp6?p7E9=5P zzqKSTyY)unc$hKHBbK*#HFN!u$Tz;*UUH+iZA&}bhu#-FXjvAe#HR^ZHW$oYjZ^!UtJK6A&vxuqsA zemvr9;)c6>Jx_GLP-6aWnsf|Sl5&94okCiO>z_BO@+ywo@Q?`1U-nls;*})D(39Zd_JXF`|Rr+esDkTJ2*xLG3&c8JG!W}9|Wlm z-eR6^18K<_Hd1x%bQ9(F(CZDyU7CBs_^yNM%w`9 z`q3p~eLux!gSpzQSN)c2ne}zY)-9Mm+Y`dpFR-vP`{#|ub@J-$%wG-)FRmUhSj~9f zJ_QDUvQsaJBin&hB1VaYxF`O@d6NudX!da9DN(P2_f72?V~5_W(9cED@d2Ep{0a@0 z&2T$z^$cQ6xoeNeR1f*$%Uj>im4}AeJnjO@LCp1@vEy}BPfLN_HuHqvS^wtMUhLW; z@mSplsDNd5zlS_``tx@R_8%VbQG*!&(ShZU%$RjYr6QhBcVy7JzzK&Z>6PN9dsN(> z(&nF zer!f=>m{A0p00=3uum?b$V}Cfb@UKf#$G?55ibx7MH*NwQ%RON(?Y7MI&%@47^}fFxZ4I$g?7jUE zyZ9)r&#*CPJHMk5p5GD6`5m#G-x16C9gXn(PJ4C#_56-l&hLoj{Ek@8?`VYQciL0@ zujhBfa(+iF=XZ+b{Epbp?<{p48ev_BSn4{&QrBUYx(kvy_hgj-5%u?4O zwz`h?f454sa+xF^g9B;PrWfcKzzgF2@}CzBPs`Z~N51US-SQwEzK2dSc(iu{^>j*) zYQb7Z>a3B#2^T+UMEhWmUiEH!@^%eXrlQ`(6sp<;*++@M)r>=31jSGiyHtMHV@)tSG&s|~yGogFJR z8hrf0V_~MP&g)IEjCj9Xjl7MX^=`0++JCRl>@xWL%$mJCXAY&$uaoW1*+4y%8tC~rF~%0p)-pQZ zHRcfI+%wDY{`(Y4gZRLec1wK+u588)8mZ>VzDu#147BPu&s~diZ4^f{MDYsBdE+kA4yFSJM6A z_>LGiDko%HaL~MK6zwa@9@MEONh$bEaZPHAcg9X?(_VawhS#N-tW#=%11Vx38C&>DSEnL zA*N{mGqGr$xTTshgw+)vlf7Ev z{cyNOISN@?RtgToom#ip0COVlavwd)5>OcTYS$vOJ#L@UK}L$fTDd`%_75yM;glT z#9ZQL(TXi-{<;O4W85y|oQW?MW-Q95PEN0xCerbgawR^noA&yh=TAoAYd;RGx_)&N z-s}D6=ToHVvcLyJ0|xXbKG}C?mKYYcTDa(91gJJ@tEe|JpUnCj;&Mc5I1NUfSe@G*8|7YQNwB7`7|wCyJh@`lXMaSS<39n$;;0 zn|xRVT!{~yY}3^H>gFljoPKceji3m2@5)Y54xkCa{kN7WY@~umhluB1pM;`p3wZCYIE#L_{Vi1Axr6ot(6cdP{wV0i0$ni}?`pE}w`0E!tV^YU_QBM)8umSJ_NSVilt%0J-NUpG7JFfeL2un=^xf|D z@$41W(9z@3WIApeb-3n2mddzLDqMR|%ob`HPptXAcg3>QU6f0|+Ly~ew@|se?Q{L3 z_|T}(=A_ZyDTqtdySeSucE1a5t^~g6W-&BSc80Yftd2Eiaim5-Jlv{#t zb&Nj3rK;Rj_+hizL>k<%H&lLb4$#B*-@Oo+gKug*43lPtj0i+iW~ zKX&7Z#0Q=*weW$*>SXG&N%GPwz4p|nQvzS!Oqz^NYt#lr23rVkGNk*g%nO@Uk5hcPed+?&1MP!#J}Qs=u5cY!#x@u5 zX7ym&2QyFpnYz?y3sSJnvYB#q4;Z@aGaeW}^u8nIx?gBR4OUSs`kI}^1+*tNRftP9 z^++yttMOQYUfTicl%a#U!!JIytzl^GQI>%jRCI z@h?X<2B~re=X`Ll{N}cIds^`GMGO3sgEv7d@qT|k=-<+&d3=cpgIzA| z-R)Uvf+SWiymQ6G0b~+S_L(2OgLe=4?wZ=IIBe_Op&t>R2m!5)?L1vU9SbVC z5$Nbai95b|GVps6^3Zc@`5Si~g$!7SPCjJDc)tpV{iLSyTtrLU=W3}wDnnqfK=j*$ zKrB5cMEFU`XKen|HR;?%1E75{0r$+bsKw9me*2x8hh=#gAMC51U8YafW)xpAWqj{B zC%B0ZB#4?e;K1UIa|-IZ@tpA$mpcS!f+g{R)5m;BIG6mC@^{`ir_kGnvK5^;?cI-w zXwv#KFGKS3kWAC1AJb2m(0%}#VLW&+ePK2#+WSVsBC8bHf4BMJ&=rBh$C>VNZtlSg zj&64`wKRec#QQaCl`j3B*n&?5$?*#~@k0smej88fKNfT_Mn~E-J=2gg$Vh5y&p!4M z3p;1MTkp#SDlJv@S8vS$+7p{^;hp8O;w?2bpjg!71l^O$g+;@~_G&La-aW5RiggYy*OJSLn6!g(N^XS`p+c||9=P3@(1K~X4;5;UrXZk(}=P}_tCY%Stc_5qz;(^heM}+f0I8PDIQ-t$~ zgY%ehp5ov<5Y8hG&SS!PrtgDr9uv-E!g(N^2f}&A`z4%5g!4c+PZ7>jg!71l^O$g+ z;@~_G&La-aQ-t$O-v{A5CY;BF^FTNcg!7E|OE`}R=YepZBAllP=Me|zDZ+V*gY!T* zk2p9_5zbQ_oX3Rom~b8l=YepZ@qP*Cfp8uO=PAN@if|rraGoNZr#Ltdg!71l^AzDc z;@~_coX3RoL;Y6&<2(?~0|)1Ua2^QfDZ+V*a2|1Ro+6y5I5-c4^N54<6yZGL;5;Ur z$At4hI1hyLjQ2}84}|kTI8PDIQ-t$~gYy*OJk#GnI1hyLh=cPK;XLBtJSLpSg!4c+ z4}|lK_e(erg!4c+PZ7>jg!71l^AzDc;@~_G&La-aBf@#a!FfzLj|t}?DaOj>Q$;dr zlwTe(SN{Ox{l3dRF!{Al5mb1-^fcE4Y1U@9qvJ`?X(YPQ;; z+YRriO8-`;x|}-d7V&;fo=l753vxmc;u_sOCTmcYWx?%JJ-4YOE?Heg)jw3?7m@1* z``f5|;sZ~xLx);;gQ?&PKYw?vbEhiB!OSjR0v&!nwoSw&6`j+ZTk~YXe!71T@y37X z5VyPqUZkGyx_W(5_;>^SRp`U3=r=j|;8L9p2lA%DC*u7Ug_^D`*6gA*VsE_DR;a;3 z#QXi?oN>+hlru67m^I4IKpu3LicDCMR8K`5hD*Gc$DzkVKU>wiq#4H%AK341j^379 zKYVwRSOygpBthrMCOgB+1&h zy95j%ZNaBcHox9e{=3B;lgg$c!zz!s5Wn&8lK8-f#pk?uzx@*S+coB!&aXf!^y8_; z-B%=#=Y|D8zGr2ij?1%u9J%3uGKlwUy<}YfWm{nC`IPdlLJ4C};jqOkn>Cko;ioc- zm$#^@!$#u$iZuy4%}(G#9xapoR!-()yrB1+U!8G){pgsK?8nYxOIWCVddl3`6MG zJR0p>p(Xqvdp6?*S!-*?p32&fT7I5x7++=w7DabmVwUz(x%L%ZCw_~fj;N{^&ps_? zd?7W%PMKL-vhZVGd(SZfG1TbMd-*e;iKBJg@~`4}a?t17ANMGF?4tYkkg7th!ujrE zXeIUh+JMWZmqah(vywB5tP{q=ptyUAYKK1K1&J8lUb6H)52||gaz~ZgT;L|&@0dnA z-3XQas8fAZ@=RWP&>G{ls;8I>-Q!8v+_G8>nap}-#VZuAt z=1hYxGXnIQb{c~N@qXi^*1ry2KN^ko>^+flLyqx+p6rt4|LN+C3jDe>B_o_*WAvjh z{FAuRM9Ed_Kbr_6MXOVzC;wc-_(D25rpi+ezM`f*-QcgAl|n`Pje8$|aSj^wE28*# z!wsZ0{o>QIY+Jg24>inRmC<}M8{|nnfAbJ;%Aw8ztfp!8UU1he2>D{wY38B?sg}no$~W)jLd%Ej`oZ0O8reK?%N#wYwlFELe0zj zmxm7H3sufYi<~#uMd{~2QPax{RA6?~$L&u=(7EvI?kjd-#Os%|FC)O3?%zWne|?t4 z@)u~%qw<-F;hv5q*w=T9$mI><5N{IE+cepn@q(HM+P?4h{zTnvNc{FeMTPN#M3em- zy#pQ4ok5S|iDwT0|J~r75_^*=Q{~RZQh#%)8O4p)n=FRTS;Pkp%hd~)Tf&VRij9@8 zbY7%{7JjtoZkmk>zV7X<8k#rk*0Xb-)L3(%zc-w$IA1&>J`cr__sQcEwd;lKGbx`5 z=cRXBO-3yNy~~e0M5vy4zxHu;suzczpLt`Fj7}%cM_Y;a>txVyi>GuCjJhm>xMrH5 zlV5hOIF_M+)}wW~p%uzdqyJ{_Tm>~0Pki8Tt5>@fK6$pwFk}YI8WK04M^5%!d8DFdGv;_%DXj7 z3C7L#U8s3yDcVYWU@nzq3ww42Q{Kr@bG+>mad)+;!j2V!AUWnxp_+RlWMmX69%}E}Dg|g0`M%@RJsHE;tYcL1w4*0H9=1_y``l;QmWwgp8|qnyD$bM=fP=TA zb9VP}Gv6ED3@)gOliLe(%5BQ#%}_>bq@VCi7`*_w7`>}64_pSn1R8p8z7#~@`Hnd99g}>gIPx7xz9Wu& z2a@j;N4`@e-!aK|Ao&g?-+?3FnR6V;cZ%dYMe-eSUeLW=KG0AtPuZQG2kbFlR`3@xCnSLLV@0jE}CixB| z-+|;iEZuyhMLdC5JMHsQVqEZ)Nx^Yn2hU)< zUm=rQAMy`R1p`lqvG_+fru`6cC98au&-PHkohG{Ayc{G&ocpA0DS=uXB9>b(kb`ft zMI5~j@q#$sPoonZMctmUv-E!Qb_8?TKE{SCN@$lDN{dRW8z?q;sq6)Gf@(mW|8nhZq~ zB9fA%l17n;%DPB{CYhpAC?!dni!{8B*IN5Ie)sdckN4T%f404>@3xNa=RVKty7y7d&EF;6YU*Rt}_bVLlVZVKjkXWWHcnMuv00!e4Oi zS2%vGmvgUd*EauJC+C3$^L^O+f4y?B8LP+^ClS`uF5KuwcFqd;hOj&i#ta7YxhD zaPC+53(oxt#}A}GdEfU`&A;v=&I1eP`>^-_dga`&$b7-Dj11>~g}>n3uW;NixX|?V z*}qgc&Us+LxDR{p!}@n%{kw$wW&Jy{{vBBVPFeqstba#A{|>BwM?wD%tba#A{|>Bw zM?wEiSpQB~{|>Bw2iCt!xL?-4BkSLR_3xDR@5uUh$-Z6IzXR*vQP95w>)%n(zXR*v zQP96r*1r?hzXR*vf%Wea?w9rN$oh9+{X1p-J7xX5WZy39-+}e-$hlwEzXR*vQP95w z>)%n(zf;z~6V|^2tLuQ(brSBE)pf|~I$(7jVRap0b)AI!Wpy2}x{e6yI$(7j2PEY!saKEgs16J38psoW} z*MXp}Bdo3?tgZvj|1NK?LnZ6wdB2?dwP*F{p1mJ8mh2oxzMpSOhOpX4JT2W`1)jA4 zPnP$~xnHHxY0+s7354hU_F&v^ix;jTkCT@J&x5RcUmrM2^8lHeTef8QoJ10)_AJ^z z=_LL5US>*vx}JVKSXi_%bO!l?L-%Y5Qit5;x?XbqdEPJQezRG9-#K_(L<8X@_sq@>$m+`*;Ye0;CZEA z^|T(k_+^rsAAdAzvT`)kQIof*k;f6E$Oy3J^tPo5X8JfA(_B`KDTytaMBOX~J`tI?%|BzkY{yloXm zo@7Wu)`OQl2ExVW=d}{O=Xt-J`|Ze{+m0Eal2WvJDH+)Q%I!wu`$Tq4!eakTGlA#* za_(3A*{oitHQx}P_shB8El-ZLI~}+Nc%E)$*^8MMhgFd6JEFRM&i_CfH|(70@#_;c zn_reVc4-zpS=_p8&m}*S5;3bmeu@TPr{uY^V4c9$iEN#et&_5KqF|krt&TPY@L$l%Iv!H=gR!L1H10Xt~+JdowDnWg6mG%b*F;sj_kUl z;JQ~r*?ok9`-rmphzjl_WcLvY?jy?XBPzI$ z2)mCcyN{6RlH_@VK$n2&5;9$)OqVFrB^2lqWx7NKx`a%ZP@qec=@J#_5@EVTnJyvI zdCBtzfzAWdd1N|Ina)$D^C-}H%5Gc(tFH)oZ zOMSvkCyITaAmIc!H=sCs*qkSSoAT4~;`E_rmzy|c#j2a=g7GZxmvg_ezutvi%r2xe zS>7+_e&wS+B(*Z|L(YHws%UfGWk@o8p*dZCcK;Hpm#ZOHS$K*@Kh-#M^Li*5?qcz7 z$b&_cTnV23+E8EY`veImz_|hKvDrUb?psJZ8)!IndwrXJT3r(g?9+skJDE55x5|z};=-Q9=i|gVV=>miMd6xLflkkEV69+~2AB^8yE+ z`9KwQZ=Sudxiz}~(6fn5d`C-a&^n>pL-I-E`{uCZKzeP^g>|(HMqpVpFMv0ic>&~k zznuGB#JGW8BkiI;-43J!J3Qa=^~DG39`%0TSC8dr#qxePG46N3^4AU{C$^L1{c`TN zc23q_=j{Q=`LA~xNs9f=|4_%B_a>WGcEXQ7p}Ds={i3#E)$`A0mywk>^oE2QMo{~O zin{x*jl?Opc~w2tof*AuqWVhYdA~Oq z_glU^-XOH56PB~QUjxSdzASXVt$QUv!ugI3$yfI~*AAy;eJww-vJdvFz87oytQ~%z z+*$8*w_36<{`R=->yJ_|^^GIemX4BqpWxoi3-Ip~u$*xMoEvbyYtena+)=ttm2{bl zEzq&tr(o;iRT#|jemVCWcHZr`&cU9NykE}!4yzpe=g-jq+`%~C`DY7v&8$#G#lVlN zV2&onZ76%AxUDN%&b_rGx#kB^v$rqt@{DidvNfGL)6po?%nP7-GcSOiEbo_dzh#UY zSTkI;^JBe}wBe+4p+-a-#Mc^!$&}Uji{<@t?l(KjB%v&%KXzkzznuFmZ)@6i#kc_E zd64_2xEGl|QO9xnRO7*I820yy|5`bvKhE+RH)c%lmhdrqkj56xL^^AT_x+>=#(1Ea z7Z84*(8T{WbHBBW8(664YcbLYOG^_3-Q3puw7-P&&DG6)XB(u2!>d1kI@*3X?q8eI)$h{~EbG~$)1N8@SQ??a zZT8L-n*QcpkKgx=xy}o@Fs}2+zdvR=PngaVrt=`sdBSv_2y`Bp&VxYb3DbEZ(0R&q zo-mykK%Iu8P!r%dMw(|KSz4@~DJx$d0%WjYT`=Lyq!!gL-4 zI!~C+1J8Bm+%MC45a>K%Iu8P!r%dMw(|KSz4@~Dd7shoSna%^#dBSv_Fr5d1&J(8d zAkcYWIxpdTna%^#c@XG4Wjaro&P%v3rt_Q&<2sN0`(vi_gy}pmod3kEH{l7X7Oy_~=JP33ina%^#dBSuan9hSh=Yi=w2y`Bp&VxYb zf$2O5bRL<`6Q=XPbY94Xah*q|^T2eTFr5dc^B~Z9U^)*x*PZD+FrAlhzD(zV={yK@ z9+}P)rt@O^JS6-0_`bf55rfQweJ@bg+Y8+0x+`OH_Y;517I>it%lqZruj|5BhhN;+ zL7w*;!nohtz6-;%hJ+!{1?*YfX}Rl-kHkjfP_UK5DD={AIv#RuN4!}1_Q;KMUr7Fz z=y{1M;q=kR!G~6;nTYN4knH2*`})e?eag|emqsV6rnJ@C&;uJ5xAvGjauf2rU(Wr8 zrF=GfxOq6PWqH4x`#m!Bu}0XTFx<~L-;*B6gYOJ{OADPo1-5%J9`7$w4=df?7j=4< znyOT`fCRs34oOdA=#7U{`sFGChBfc!!ynE2`S?B$3HQtQ^*MYDNCMsKbn>P>>9qp} z;NO!8zYj-j#=9)U9uZ1$@}fVxZmo=LQS|3CgFVFuX#H;`%)+DsVQ?) zGjTfhyEtm_02w`8{%yI#7pe%B-G6;oVEvUuve&rbVn-Ws+ytvyeN#5^e#{Jq_z1*Jb6)NF;)1S6$ zlelaOx@qT(9P7UbbLU(coc_`tRdNj)i<|Oq{SCVHn4NcnzPS7+qPN00+|s{+wa<JW$%+Yn*c`)kawD^xbX7FaM#^#Ie>wxF|a_+Z5J#v#uk`wT}-*qy(ILJ8P6MYjYiXn1K1ZKRUk+)&tM`UCX#% zj57F|5oHTJ@3$A@e#fX4oqZs)6L@Y=)ZEVlJ9O#`Z!M~Km6BzUG%Y86v+hcK_o&l= zgs1xGF@DgegCmkj@$i}&C38dW@5251+~1M!=Vbm)n7;$_cM$kHW&SS7^Jo5!%-=!a z@09sF2>hKge<#e}L1e!^_jly`Ihnr`=I_A#9R&VPn7@O--+}o%2>hKee+PlTBlCB{ z{2iFT1M_#jU!VIsGJgl=?}Yg~FnzXS7k3FpiF9hkp^z~7PiJ7N9~ z%-@Ck^|`+z^LJqWPME&~^LG&VJ1~C-p6AcGU*_);&X@T+Fn% zm-#y~e<#e}f%!Y|Jb%vpGJgl2=g+xc=I;{Dm-#y|e+PlTBlCB{{2iFT1M_zf_&YLx zN9ON@`8zOw2Z6r>^LOBR{>TcVzyK%-;#~ zcVPYw0)GeQ@4)l?Irq!_U6Sk1{2iFTgTUXB`8#3$4!4?f!X$Y-Jnxrtze+4GY}fGp zy^KdbB5|o#b{_W~0rfeFiVS_U=97W+Tb_y~ViSGOP9(i;H#w&xc#+ z(balIv@$9`+G?2a$`y8Qs*_t)<%%80IBq|2NCyuUJk?K`e2(-OYtb*^rU5uN=dMZe zczE8gFXMi#SpJ&ns0_o|CV51C`5P_g-+ExvV4g8NcOCG&U(WsN2mCsHf1{-&@0WAG z!>XM7*x2m?o)70_*$QrzYNCsiZ?73+=EAtj`8t<6I^tZtQCn9j3`8qmt09m794CV( zT^l@9+2CKi8_)aYJeGjd`qx`w-Y=gZ$ouu-<2P9DFMrQpjptvr?o!$x`TPItmFNAk zc|QNwd|}=%pD)P!m3)o}=PMJo@%I5kWl6p+{}|C%p7+ZpNIqZe{~*Zwl}r=l{Yu6~ zIA58{#9zD5T9W_#@5%Fi*$4Yb{(#62g1leJEJ5C{WL$*vm04RgKOyq0`F~y~&--N` z>?8RDB0mW7ekHR6dB2iz5zbe}BeYZNa|^8h^E!FnFZ*C0$sZ8;L6G+=nI*{km5g6z zxxbPD_CwQl$rd|D+W+Tu^1NU6fA*hlgQM1BzD{YqvD@_r@bBAl^Dz=gn7%u9Nle z$ohBW=k>7u9a#SktbeDhe@E88OU~=z+%N0jCFk|9{vBEWj)MLjS^tiL{vBBVPFeqs ztba$=zau}dhvzG@{vBBVPFeqstbdoB*TcDA*1t>6>*3rl>)$2k_OSjPS^tiL{vBBV zPFeqstba$=zoVdk2iCs>>)$Es-;wq2DCpmj_3x7NdRYICtba#A|BkGGM?wD%tbeDh ze@9l=N%CI>bsey}4p?1BSzU*$u0ugxM_65lJ=r-9tgZuA*P)=U16J3epsoW}*HKp2 zA*<^odAfqS4p?0WtgfT1u0vMWp`fk7A)AeFgrC21N;D!@4!@~ZUufs?A1G}#` zwxS(t7m%LyXUEN3Hk#JRoNO`ix&d}<+3N!( zNAa*j*VaKz`{ra>9k1d(Y14?fdobaldz$xyI5czwkDE$;N$%xjjj%UoOJ=#@P zc!TBsT5FAnQ_em}^9R1IE4UC#y0F~e+#Lft4fS1*k+%&)27mUz+b@%2EFRCN$&N=` z@6b9ym5-3qb>GjDUMvsT%5m_7%T=3+zun$6hqcq_*Z5gu?mCaedFx^yY)_BF0^hco zgE}0*9QOQc#sZ5APOA#w!{m=DA10?@mmMmO4ho~m(V-{b)jvHLBAq(sL#~UPvcoxT(PaXL%C=z+@ z@0i2Zt#7R=f&I>2)vp^evETGwJICFyBKL-lT9Lo+B8lvEK4zrZEL_HNf2aAlq~vW# zqjq7javfvyNEFNc?e2EgZN?y99Ot)Jt+vA^d_5$@r&`;WE@*T$dHpk+zE!5$GMc4? z=K*_fXf#odI!V-4o-)d6vzk^V4C(A1Xo@|{?p__@n1p{*l)$-Xta4UR~>wZHqkjw|si|ov&dx=&Ixw_Hpqq z$#|Cg>+#@Mp!Un{IOX8(@LQIfG4Mtkm3Q^KsiI8Lv$(~1RDJfm zPQ|Xf$bAG--bYmAJ_3>Zh=|-rRO~(y(It>lm#By?fru^<5nZBUx+J3WAf?Vz5uFDS zohKqXPsMb8p4<!7&P>f9?jGi_L0*|YUn!g7DR47fSjdaf*vF_Lk+-}sllXSu(g?b;69F?<)E%d-n^ zu-=c``YaBN3j0JR*xooX)bSNN4yLUZX+un&r_gg)^ zHh%)DugUdR58Bw2A8~t4qkJ&`{s1?oT-QoodI_$Ze(&tplz;NsI^poOEn3v{@VyyUAD|C@Js%bjc#=A?+}~N(D;Bt4TZ&;yd)-~~ebAvt zz_-xn9^_=+qv*EEakQhuwE-s@Pf(r*{9q>0{ISfCW-jinaoe>oDKOXBbKi3q&huDb zq7y$G?sp8lm)bfMcd^{x6UH9V-u78=M5)!NM^jQkw_C=Ie#Z=HsLCxz=h6te_Q;ps zJFMp-&;2#;RQ>v{TLMj-_}9KH_bH;#c@R z>tV|bD*rXP5{+%dJNOr<>cH)p1+UkghwJXqePkJS@@eCGYLZqt-la#_(*-F9j|)qc}& zpv$$hbSujP4xac|_u!;`Bs@rekoh%JdVk+dof4zbSUvR3k>7d&=wW;7n&#bb%wT+g z(v=Y|0Tl&Mpi-mmKIIIk{ft?CwUq%4DIcS-OnE}o z0l%$X?(}-*c_I^=^Tw-o4z2AReOl%%;ICJ2dxV6C;`rl!zQH~b_>1NK>eRK`rJ(f$ zmbm1b$n6b=#34F{udGIsk68x~z1D~(BTa_(>GpRKny}p8eySGsZ&sDlh=I0w;n7)y z=l+KFUty>IXgmH+`S$4ju3fk&x$gq&%}7ok|E_k@;1l&T-@9wymI}i2fXkQ0B+R&d zoxB@7=nl1XqjdSoPP03hq1v%odqUbp;=Dr#?riTGiPsq);CE{9$rZ)rP&wGAcBjcv z>|ElQGw0BJqBZY(R#?;xGO~2-x;}IXeqg!3lYX{&yyPPQ^7DG(7 z4VvdeQ(J7%TA-cKJ1{WBawi z=;!`PHN{~Mx^EBco3BtvR$R{TpZ-D~t>SK}QRfb@l;r^{XgDR6k9|dUM5pI?76#G1 zYf3+SDYwA9w^s*sIeG%+r}T9zd36X486ObPX`Ghljw-Nj__}nA-E}NddSyP#Zx1Qf zTwrACRY$h>9lN38=rUAgxxck3>2pG{+IW*pIXnJFh!^m@g=WkIzc5CxnC|MD|>qqt-thS6jyG-^FX>;vWj~@?z z5$_H1${J^up&iTp%{)EWmV~#&=}L8SMpO+-S?+Id#h6t=i^K85+jsG01NY$dnc3|_ zlFP}VnhS&atEi&S(5j6UrrOYra>-Z&V!UX zPepVdMRcBu=scBD=Rr!Hry@F!B05h+be>A7^B|?pQxTm<5uK+ZI!~q4d5}`)sff;_ zh|W_HohMT2JV>eYL`3INMCYl9&J!th9;MWIBBJvsqVrTl=ZTa$k5cM95z%=R(RnJO z^F&IWM=5oli0C|u=sXqCc_O9Gqm(*NM06fSbe@XnJc#Lh+se~=?|)u^yb7gRgR?gC zeI0oJ!hopSs&p)fnV{qrc^58ETe$aUWhgy2!oA&|{4eyy+b5IjoIG&=%l&OLs>0Q- zqJXr%6Vf_1SPAV|?(aq|eaPH62b}AN&YW!;i940Q_VntRNiAcC{0ckpme_x|XHNsW zV-(8+&f9o>UAI;*>6@u*_sW(Akm5gzSHZVIsDdUq@UUU)zQO>I`& zXZFNemiwD(oUo_=N=saICH~mkkSJ7?x7-=-nNCXL|88z$@S3iF`9MF=RSWmAJmB5Y zA9N0V`$(S^?=e(qdX9Ib;mNs^GYoNiPaDfA$H(1P{%N3* ze%B1zz1v4Z72kZ)*=vmNhTVZH+R5<7MKi*9S`fOh{d<|WyT#}nz-ZUcF?Y1W@PXEgEcB?VJMM`NsFdB7*H4lH#VAcJXXW}A+w?kBg7 z4|}P4$rRIeM(CO>O#$03W46xy5Q04SSEuuH`M;(2!0Cscc1xQ)7=iw6o|&i6!mqN? zU-osy1^aHy-rICOizDR6!zxY z@IBj+=l&+!wJ4f&OA9w%)LIy*X@v4D_jh!s@M%kL?8P~5_CRac}So!Ez20760%WGdh>ol6<;8VT$V|VP<+A8&(mOt{`-`)L^ zJsmvs@x|hp)E8-n$a8;>^_Gtqq7~khD|0*LVnQtLH(ief$vwcLlgj&aPj;MSSd4E4%DjO>Xv|=rE2JvfYwMESb=0>GwUc_~p1ya;!{0xZ#&Makkq`9IiRYtA^_1D3%Aj zrE25m9lyK6ywttUL2H}NMN%LAy!4bcDt?(!XW4KaluxWWnG_a@@7eynqhasw4*XsN zM-QE~YhRNBiK()C7F;?>6UQfB&(>&*Wk+>d?-|k5kF(t0t>@49n;DJ8HScv(D<1bj zp8H#&SgP88_hI}Q{K?cyGZss~Rn574dLSIV)qc2ndk2g;=KQVmw{Ea;WOE*{oTAI| zsXsJ9Ylf%SKzfq)i;oN)^kW8Y^w$T~;Wt2QNw>Z^J3_Dn%a1rWAQ0+-`tmIrLockl=Yg`rscbwTfs zlT*l@)6tF=Wm7P5-|yS6OtT>Q(+cy&BLcBE%j5Wnt)thBKLIDw>bDxZ7Jy>L+#?6W zpVBV(G=5aAF~JS0wm%o`6jg>~JE>{Vh{I)n;mEKdc(~ z{^RZ~r_eUGXXxYw%Gh{r=8=z&rlZls&U1A-EJaBk@KRaR!JCF*-3@i+TkBJaXHep; zhVv8gxQ5f)1y&S>eU4msLuCi@e3P6<3!I-{PQ^g5Tcj3Q01Fqnp1qm)h%Pwp8?N1Y zB-&Wa|Ej+|2zlQu;d;@plyQcPirVD5bxHl>Sad{2fL7or?H7O6l()rN5(yzoUr1 zQxShhDg7O!^mi2TcNFn=6!CYI(%(T!e@792M-hKV5r0Q1{T-zAcNFn=6!CWy@pqKc z-$6=$ry~B2BL0pd{*F@mJ4os8RK(v=#NScG->I0tdtCSYnZ52R?2X!gCilEA-e$RA zJ~W)!{pkAzp+Y(u>t1B)W8$xu$;ADtyMa|81?|4 zPRbcz*e4I#`d)21BlIQ>em6z$7}dl>CC6pg*6u)_`y0G*V~3`b&7fC)+&DWUGvv9y z0fD8urFk1cTWxTk)7mGn;>OdWs=mKSVf~KWMIVhoQPnD@zvc|&dB88#g05%9bj2PD z11h=?xj@$G7&jijRc#{5p_V(-Un{9B{U3rBUEq(ZW9}W5H9aGIe(w*_4eQuv0 zAQ_jLT_9(@Wid|P_2T|_ogd>_VneWAyK7WJ-P z6-v~c>eNR*7>P;~T1>7Qp8^l^!r*@2K>j&0hmG6zxuu*4&pw8(O?51UlY{gWpO;^t zyN<3+iHcXo7R9fE@84Uvo=Gs-VCd+mjdKFN0%jyozD z&xqIUk%j$mUwTR0nE0kVlji^V=szuq8;T8dfB2t~vVFn{mszqh{%%-@9GEb?Tm94I0>GGWNgkn>=$8YIwpBS@(6;|`jcXR$_s^!SmWU^X7Du5Yn_a^)(N*#zg*M(*SDWjYQRe)ZUnM^Ib+ z@Y&6;d5{{LgX`qd=>5mxKQ#|`$5l!xYOV{m^Z7oJQ9+jn9~+2JD5p4lnvrDO!F11r z{I)^3Y3-w}mdF2D=TwWh9@fsLO(}{SPX{QON#=XTe6W9e_AT{vJ+r#fJd{+ooc|(k z*Cf2wL1CA>Z6Ye!55<5x@*Pwmp&wNYVsH7dP_XwWu*GET{cXe*($Mgdjy{^ z^LSdHzgwMOLwcJ*3U6QDgovw!-J;!6sjbVRT^CB#a9mBs@9vBLS?6b!HTNwCjzE*7 zKB`{V{<-dJoeg$Fn*$gzP_Clojepj8r*lU2%zPUhs@uwSVN*ZN|NH#>=<3NeFI6DZ zy5rAx;7#kDUljUeTH%W6{n93_zX_J<$}yu&BKdro;lH9pT*<{CVgSdmKGQ>^4_WbYq+@Ip$zdpY|ocpFP_wL+L`hDi~iCf#xz%ygIXYKfW z3zAM&#SD0Gkk6M%9scZ{PJP@JgcjW9!?^vzsN>zoV4>JBak}Akx2sNdFE}_U|ZV{|+Mk zJBak}Akx1>8|nIYl(K&Zk^UV-`gbDIzk^u+E>hQ_lyx15)O8?I*HMwW4y3H>n)nN; z>N*gq>p-Ngqat-3h}CtR|Ly!%{qC>2B)k^;W8I;{-nfPBKTBlX@8jk=6q|tZ?@zU+ zkZw1s=Jo56K;}N_oMWiE5G1+3jQc%fGB4z;+a1Erfrs&o`yC$nU}QjM09<68?|01~ z3L3Eo$UD<}XWl%&OWw0QU_}?h)yLPZBz^bmFS_LHMh{&6I}wwN@#x9jaf8Dz;Sl9X zqxTKif;{(k661cqHrMso7^4^aW!XI9GHd09m%7)<&8>e*4-Q-b)-3n8fN{T6^g7eS&mXHFa`~5$6vljQabhD*WBcH18TZSchvDJH19x}tv6j?7*_Ruo zSVYXCoi3LRTMIn*_ZQ=SshM8mk<5?emR^p|z?L?^x!*<6Msq?IhBoc@o_4zRreHEJ zxc9Od9(lxKL6^=&;a|x&mIrJ-?VgSKSzlsMJ^j|%_Pglgy>GWa-8L4xoKdh$X>kn) zoJl-fJlK=xzar;;+4Du*J;CPT!)1Qt>M0MU>P4?epG)3ny9qm zyC#%0Rd-YF*?b`ZwnY^a+inJ)`^&lCqAM*Xr6qL)p8LzW-|-Wo;(g^JfpfmM9aL*Q zOY6z5`kyuJZmYs8mIoY}HOR|z>@hmvS--W}Q(|c6jMn!|nsP@()(KLsQ^F?;)+ynW z1?!|D>!f1q6uIsa-upjZ_oh6@X5L$H-BIMaQ<3XV#jd-^eFRe8M^xlKlJN6_`-qC% zM^x-S6451)QkSTRE=l$y2y}^x=n@svB@vx(s^^>ccl<}4r%L~SoktO!ry@E}#dQ9R zSz`E7qfAUS2<@TWut}2pdz^8<>=j*}1$K|0o=P@2M-A7xtOkCTyCDA2X86f+e>wMS zSUp+2(`y5mz;b`jGVb^Mk0ApTPJ}}v<9y5BUr&zv*bzu2;y{uvz&x4e3zeUZw02&<2Znwh7hQyp% z>yoW~i3IQYmHp(lGxSW4U86VpxP<%tSl2kfqJKW&xxbwI9o%mD&6K^~z&YPy|DSyy zRwdES`BS8RhAHWXhs!@fz$8}Qd9e5~>J-E?n1 zo+AQB8TZS00rd2a3>)dSm`rjXDf3X~F6o^9X_<}9BH+2d7Z~?D|77?f7NG&EMbAl4oc^ZJ zldFK|{uVLr*KVt~`o6XeJFSIE|YPsVBnVKjXDYRewU<~Zy_Nx5F{dY)M&1=^;8Zq=`!yxy; z3oNj|+^Clp3o>!koF&w5(q`njzw;RPJExf!K!-jzEABivL?X0$ej1zfo1ptu(=TCO zz|MiEk&OGTKBHx#;i(4ctM=RMNL_@#827tJ-}dX=`f%W!@3wf^3>~XCr2COa4nF?< zfad|{Hku}9JbXk<_IsyPcRNM118e%4JeiDZ?GLP39-NK&6Xyh)ZS>-KkWj(6-^ylQ z03Cj>`s-8{Pg<<3DS7JF4rpZZrH%gHaEs;sa_+ao->3V_g9ZZ6{dH#CZ*hIz(Q}cJ z5XCs(Az8ym^bC@Pl+6!U$F z(`~%BIHhje0}p-^58GQ4c?F!t+xL?cK@h1!Q55qFX`RY&KMP?ay0mTU$65e$;0iFkJ6I>Ls z)!`NKs;Ox2<&{obF2z6q<9ywo zl=Z5-qXBBKTsO^JW)3_LxK9T!gBP)tB&egp)_ps(sA|G5JNqkBF=^>R^>Xh#wEk(H z*zWTho+ARqjQeH00IryO@`CQu+a!Om^RQ7X2E(w8FUr4W>;j(qYsI+V$0NN)_q{$I z*g5bL?zeF8p`U$s#y0IsI{#{luMFP)O^0@DGz6XFw_Ki=SOd=ke$udbynnkq(jn$z zO2wAc@WWgBBJv|N}We3b)JamJc#H#5z%=frOu<2 zI!{D&9z=AWi0C{>sq-kM&Jz)x2N9hoB03LJ>U`5aa;bD4M06fRbe@RlJV>eYD5cJW zh|UAw-yzU>5Yc%M)A_-IdOmy8;*9-fsld74%;x=kIP`ANi9Mx$bk_Y3f9_PiqPp#V z2R?S4hPMMMR~26@CT$q^yT8ka7GKA-;OBvZ6XSmCRJHrg`L+n78RuKM#(!kj;DPut z_hJ3w*^1bM!9ocm>Zj~jJc=;=Fd zCNtl^^p9LtPEMHkR^ILhz;k~&_q)61bzWUs1F_rLP1eU+@uuY0d^u6xlM;#eNA*`VL@@=68dhu6F)v-#iJcIdY;ws zAlqEm<8Aw8I(EBHlHlKwj=J@2pld_4eDP%$;JLq?`^_3~x7!ob0l;&AIrlrwddCIp zMV{clM15s+mI|bHP+4d=7m)abrpFyOfDbGW_-tZ??(s{%$;zr5#jcv!G$!*|@P$qe zs3%g-dob>|qPeceb>5k0-94|7tgY4lubaLSPu2>GUwzdLcYIOI^ZLLB&YxcRN1uI9@%Fc^+1D*$b=xjugbCw}gw@-Z`7g0e6+An=DE!z<{3hH^D`|HNI z-^tB-4_X0X^mCgUa_^4(JcAO;ru^8VLZ=hEf#?1XW!$f7X#DbHofiQ+4;+gb_gg<= zXUQjvBVf!pU&S{^6@xs+;mS0F6F={40G%emhI6Q%De#<5`E6lB%^Z!-D*d3mrwRu%2w@moKutq)9MdBDzds{%LK0eIyO zzv3J4mUdrrZ&CV5M|5G&lj8)>lSeS_w@34HWsrSpRd8!h4au48jOt6K!lz$lf1~ei z<>!S$4dZ@0{S8pBp1p{l7YdyFjgP#0E`C-BaL#w;(fB=QGMgCi=l%~9FKmRBEDur`tND{)sU|7pXXy|_I$n{dp^(33&oR+`;BbQ=YW%qtCQRlN{MU> zlbh;i2so--+mL^DEk7?5IQQ$5;9@=_)Q+DQ3U3(qJ3rB^>&7+Pfpfn8WuJFvoN~uc zx~nhBJX#Js4|w|cdp=idjbP;nFZdw$h7w=1)}&~@jj6TiyJ<2UK0r znEa%gn&Rl-KJFIM7tX;P61${q1EVtL5`6%M=l6^h@(ch_v zzoUr1QxSisQu@1OU(bK^cOv5NAmZ;R;_pOCe@7|(orw55i1<5-_&Z4H?@jynoA>qn zM}G$qe+Ry=N8s-$;_o1(zoV4?4kG>zBL0pd{ti<5J4)&AAmZ;J;_oQp?;xeWBj4Ba zAN?If{2lnd9)Z83h`)oB{*F@mJBau@i1<5-_&Z4H?CoUcu&i?emmV(gv2cK7a6W0B_pPnt8k{r+ujara-X36|wg zXnTWVdav_*RAt=76~$HbW|w0dS0K;* z<=n5%+tXXCwwNK${pH-R?7`HO-*&#(L4A19m~{hCeOazk(mZE8Kd;}%8}nwNBg+FW z>RInU>vL~3IMr&LibVl+Xs8aoy4nR*dyQN+HzFBJ-d=T+cm0P)Th6%OaNT;hsYO@O zr?dQ13zyyW`4-*ij-%dFTiuQs?`7;bN9M!1-}{T4W!HPQk&Npz?ss;_`lUll*6?u| zYMXgt?$G`?$+SznPKl~yJbccOyN&84bVT(5g>x6q(5%F#bu(gZ@nMk6_*N0A_;tsS zQS#OQaGjj{ZIh~hcZW;{uD0Lid;9WanqZhcuRQWRP5Wpxqy4^){PTS{_uF<||7Eh_ zIsANjAI|-Hl%*BDw9(}AWgew%&HtsOk1j_asRcEyi}P#t&$oS+)jdRa1Rl#O@=Box z)#8^71$#W?TlBfSCLP~9Sh~nNNH}GmO^o~1F|vEp>+=2x%e1P|6wFjMLVmsWqU3$tG#`Fzg(<_=vHW8rEj8Ry)u_4&`fcQm(2#?Kv` zJN}FH1Z?Rt(YGOOykz{a?2hpR_qBm`>u*g;{(YN1{^mJiDLUZsaVArrAIrk=kqSL3 zR&PblV@_n;ua^AizM88};ho4eW*UoblcqqU-3jjo0cLf+cHxwV|)HHVulFYC3Z=G-9G6nsHO&D@DbCzU$ZieFXg{!*3;F|3FKML~b=4E3F zPaU3vR@D_jIqh%a+KsIqsxAMAH-E>tUzs*-+Q`l^!|BTc@dlAXv~sFv(%>J>`py;H4a@M8HX$L zi%&!hgzAIAyC3)BLDZi$hcpb%$dvfXrF^_ zR}8P;=~F>=FOM*YdDe99NQY~E?rq;L`Fzg(K2^IC8`sKFGS0bQo009D&YX^vjAuW0 zjX=9;_$+P9{-3Z)GF~@iWdHpibb+Y#t*yo9^ux~dzlLFscu0THa<5^zX#2@;KzY%6 zB9-bb1x)0 z;t`do4>4K!*tuPY9)G60BVT7G<9=T$t-Don;uf^m8a%sT=tuIQbp5W0@2z3HW6OS{ zzWwvxTN>kjOCoH}*3Vxq`MaF^bylBakb3{9WPDNlL;c1fL-Fv_#!gFqZjp=!)>P=` zO&SH$8&>QbWAldobnGebbHEY1W$m7Mba@fxbT`=B`H!1qo%M|StzWPEdzDcxkTKg@ zUpD?mI^Dk=;_Yt-@q6?2ADV|sK3^uFnfo0&vz0>cD{CaNL?q{&n2kqK%}k%DeF3rvaXZt=MvO)lKotQx(-C@IuNVtIR6{U_Mwer`_R}q z@bH9jzl>XkEmj%PgWTPS8ja9v99cjLuO;94yn6?zj82PAYe*oR`~B`>b5r@=d&16v z2hRN_Mj7=tEjj^pjPuPjoi}&hx?)n5RI+g6!}lcn(@E{Vc2|jcv9^tZX)NtvmU=2< z))AuGXW6|DyB7oJzXRF6zUypXALo9}n)mlX`(NY7MgQ?7wFNPI6+ToF`@vz09-9Y( zNpkSs$D=bzCgXm4p5Aomj)G49u+bMc}L%JJaAIN!Rwz{HzV-;?y5 z3tu;TwScQuwx6DKc}NsyJX&YIC!Km<`uOb7xpQRJn-)EcdM^jD{qUUoWn4W(-kVy! zsP{gixKX#SnaWo}+AZs9e;@=*92K4>8$BeP`#rzO=vRii68LR@R<_m94Hh!)S4(rA zn*Fa+z&YPzp>l@~k7@zBW#^A69ae!b?YE^t?JLOdp8a?A$wPmlKCvGhzZTT^%6}N#4+?9ied#Be_jcORAIrbdHcq|6 z<%{ykHPxLLJ{h=+trMkOCly&Iima20tdokZQ{=j%l-He#Tz3???o{NuQ?ctVav$+L z3BEt&|GJN;$bEz&_YoDjkEqyvB%(_wr7lqsT|yCEq9VFP#dJwT=TS;<`JbYW8r1nxMM2IW5K{9sP98GL?g!iUU#1^ zZ}@CB9KnbOjRE^HfpNd^&~uk(b)tmx9XL#_ZNzd*2sgcx*eTf+YMY+9bT}~;hj|&N z?3!FgCfr-^{H6RAN$T`jHFl5(h~$az?-O`#7#J6yTe;w(A35;nt*w6QD>AmT+*W(J zAYkXf(@%{1g@lT_r;Rco7xf{jm4P2>G49u}e_bzS^FyeAmTPkXwnbw}s!A z1wZ$8-lw%I>9384w|IQRH6@gRXTe@EQ8b;15 zHZ|Ejz7r+83rptD2!*z->?fSie?=EC?swISYyR7RD}$?pcY59ZZAcmSTXF44*LHqq z;4=v8idvaKd>-u#DgC?* z#PY&eP8hOW5h(XM-QxbP`kXzOvI=ThUf64v7v{?H!Z`Pv)|?xLE%JkVXkJSqT`n#uTM^d@&VD&C zs9x>>uyf#%bH9Wf+)-k!3+xH9U9xGGPr|5#)ur)^7^DtU{4=BjJBafzthl>^6*pS3WOqPg|{yvzP7a@iomN&VfhH z{qFwL4plP8LuH}+ZQUyY$hqHEPx`i)eDwmDhUBaJook21Z=(LRP#*(5vLkNBnNEXG z>B*fcehtF-nZC6Nm*jDdNmSMMAJ55(>6d%28Mq!SSzcHX%M1H*#M{%?G8K0+?l-kL zHw@$Zj!kv8FCeO&F6(WyF@!5I?vKXg9f9!kZohR7_C(J8&R?+R?$vJ7ft>@7oco;| z6=d@5$pvsdTexdxg)07Z^~-LhHVMv0xBd`kX9qVL$~7})8Q`i)gHHP8UGT4QtKz%S zRYcZMOZ%zP2GC`BVTLR(>>0}o^I+WXvF6+`Tv@qkwCTyGWL(LlW9$7*K-GSEjO+HJ z{2X}X-0uh3NzwVl7Ao4Bwp}qU0OJ|=+vfA%RTXIVZR_E`a^~m2V-e$i{d5d|)I3X& zaK65d-&Q4@bb{4hhhwG`F9urM%1hgN9PTK!>{Z>Mho*k16U`ldke36NpO3n~QB3DK z7xrIuo`~o?i0C{K(Rm`J&V!UXPegPcM0B2r=sb~9=Rr!HCn7ozB05h*bRMMCd5}`) zK}6?4MCXZ!&V!UX4^rwpi0C|s=sXe8d5}`)K}wwm5uFDSod*$}2Pt(Pq||v3(RmQj zc@WWgkW%MCN}X@w5u5jS2y`AqbRI->9;DQHkW%MCMCU<7=Rrj0K}_ex&hudVJovdD zC_8tkNuO6G#A}@UlhGSSL*&N#DGz%54`pW_PF2*te^k<-$QTVY8Zv}Xv>#KEB#NRC zQs!Awlp%?Xsf>|IC8>;Q+z$;(AxRp@tWk)hf%^Kr*3tEze&@Pg{exxOXJuQT`+oMm z&w5S)=?9LC+^=D^;U?G)H@Tt_X@tDNdmKVq*Q=>e?zd5}IHNcMZjG#-oV%d^@j z5l-VrVP&ge6@TeYy=iBF^aDpm?)T`EShXb|tr`8mQHbPz>HS&y(_iGnd6M(3oW{1; zQ<4vaU1Hs4^tnLIQ^{rF!~2^kW^WX>ZxVo;_C{_uO`lWLL&L52lf58=sh`Kw2@?ht z^plX0`wbcC>wz=BVqb$?7qz3>HPhsp5$worYOr~l38Wu5mXO@9`-0l2McIywe&EQ+ z{Z>o}Qrpi}Fq-qNS^u0`wGCizYG7v4b6;@W>Rzb5-W(;0b9af+vmj1#Bd(g*Lfty~ z(&O!UA9%^s&x7;>#|D!7oj%gn1Cu8dHZFPIPd&8z!5b)N2C?!}i&j{jWAp<@M(%gh zxyO47jJ<&L1IMi-_sf6g{2H0}`J*}CSugV{=c<`Nf_2Fn?Z-jTYCG4=vDOB!E|Hyi zb@FT&EVIw_nDCKmjVa-F$n^zAKM!rv&x4Cgcm9zj-nftCekDfwdZ1K=!?(d-LsT$F zq(E}2HF(L)SZJPi9xnWx%BS6Ifa^)__kgDLn$jviApO8`Gs*ont9gWa2j#;hlJl)m znuN#xYzN*$;ih?T2+SUF_xWbpqiW6FHIlEUfxP`OzNEQ*l$3yw#*52-z{Awf<09$j z@s#9#gGTy#V9(Rjp0_TKgXK4Q#co&b0I?I3y5~H~0>jOfcdecpBO~`)AoRQ8?vx-{ z{rp<WnHCxR z`20e`wV{Q-s7*V>%R*1?1rw%z9`i{*k9Ly#JvP$U1HBt!C;WQJ1@H5AJlYfH3_|b1 z56fm>fU9veZ|Y{6;s=uZHQRJ~CA}p#t z)ZB5x2d8QB$@p;SVX>c2^6WocP^0lF($`==F#36@lYSn8CcnMUN#(+8lKb60($@oT zE^0K<_{s|cf2i9>+PtAe_fWh~RW^8ef0xX?v;}QQ?sxp&lb3?JBZ2e-M@H^fZk1lx zs-KrebH1|CCl(Y0MZh=jXLplZQ()S;RS%N}eDSN`0q0-RrszNWamF`89wZw=|443!w*4_}h0^h}w{Ac7@ z0wedk!Sw2_$zPHnXUz$TpZNzNi{ySkx_!R)YHBXHkeu)OjJR*N^#E8(YHwW@FHCxfWf{3$+_``{T-39-xqmq0mgH~bpkrSwu&AH*T$#`rQKn`$o*Pm zJ2rLA%p1-5Qo&uv0`~8MV*{RfRvXU2^8;mp@w5G4@QruK!JS-i-{px@#Qt$GDPRM? z{5yZx#?54rA1JMxU<#Ro{Vy zz5@$=r&#Daj8Wf5-`Dd$>N~K|cVMCKz(U_)jQS2^)OTQ^@4!OefrY-q81)^-sPDi+ z-+_g`0}FkJG3q;xQQv`uz5@$=2NwDcW7KyXqrL+ReFql$4lMK?#;ET&Mtuhs`VK7g z9a!i)j8WfljQS2N^c`5}JFw7qV5RRfNT1+z(kGaY^a(a4xnI$de!=MY-uU@S7amC0 zR^DT@)C=R$@`zY1cPqcp1ZcrzEmupGi zWi8TonUVX=9_hb~>rY+dDfuuFq&g4u`tEar&AFwT^4qduY1rU}ioFIPO>)1+<=n5@ zvJU|13k_@}_dD(3rHB381z<^Xz7d~P_we7g#uek+`*t5W3Ruk$vv(KCq13FI|`5a_>VPhStZHADmrB zm348vKNF}57aHfb_bod$n)71hemR9!9+(=ladg~_kMd;Xd6dS0V1#b&qm0>6NJeC=o6Fnzv(Xyb)M%If=;X@srQ2hOE3;twhV?MP{7ReDkId0| z?jpHg+nWLndz>6b#~Ha_{=1bO#j^@W$M5#fm1euQ48FX~ouEAHZ|?Pt&)UbOCtlK7 z`}=-$lr~UR8!NvM;QR;Nk@T zmCB|;qvuiFDPkmD$${Q$6=!}_drM_3zc79Yk1v!sMLYVj2cz1=NW&H5{_X=SNpin$ zmF^u;?|+GZoO!e7TMbegs_Lo3n~K17>%0DW?dM0&uS;^jz9-|gFIDdz9nU7Y-&+YO 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
Eaw-=1 z=#qT}GAj0%@*^ti-X^~w{m-{;xyJG&{|t>k*dkpJhAfXr{j4YX$JNj{M%~HNt^D@&gcEOY@vE8k!WkmAN!z*)N*r-`U;pm02?;;9d z7Q>H}K5;H~B=gILtC5A?J<9*^AIARu{=?WGRL_=HUm^ZqcQM)YGV%Xe&a*OgiT_i6 zgtM)7<96czO<$+>+#~)U!tf()L$=w>A@+azB68&iqCad_%CX`1!k~TD`}4NM{{`|V zIBAgjb&%moCVUXCN+AC4((!%Sf-AaEwBVutaAJSTk4%?cEZobJ=$mNB=fGsRvQhA2 zmI;ZhWc+3CJzrW{>o@7MkUx&@Fmq%H0@b$x5Tm4A>r*-kvx3l$& zNdCV*^hn)QGXK)|?Y1d+_>lQUY5kn%-b6q1zJOnM{DL85{w>UwJM@k7fA!b)=i&Rp zr2m;(n1ytltszThbA{%!f_`0c>_aWR^RJP3bWEP23h9ncv|r z^Lq~O{LW|og8w*w0iXE`_{?9xXa0h}%wIYGa{dC^KQQwb-0cz4A5Q%L*$OfIgPcD+ z)5y!}B>qGBkx=g;MwpyGES5BWYD@f|@*_IRV-*@m|B(9g_U&TgKijWwHCVp(8nn0n z6lx>=^U?F#ao|?BhfFfBN}j!`J<8onwLBT74pZ&H2ChJupbGanKWgTqM}j{`!CJ-}W3> z;dXMQ2Ob~nwaL}+|KfL9o3r7*bLQ;hJ=rhcowb4;Yqy8Y9sPgt8=rr$W;E&Fw&n!9 zY;qvqOZWdjf1&?4e<42e7veL2AwKgL`pf*q;+?<#rGB(h(z&FToIhl5Jd?E1o`c6M zJ-%r_slSvTSu&wMyM>%T{237u3@O@M7P7*ulmJof*ae&C}Y_~-{d`r$A7b9nXh=1=O+G=I*%#Qi=LxUq1Ky#zV`45^k8ukDA@a>@Kof6q&;@x>cS{oS)+&*JR=sb7ojWA^VP z`RCNLo~_Abey5)w5FdERo#Y?4U0-bS8}wkLN`=P^a(+es{K)*AL%lqSboHgthiql| z&5!6m&X0)C{D}C>kBHCwi2gD^vUul5KK(y${`_12kNEWeh)@5I`1JqiFa1C3Z~Z@? z{tf-5e+EANGw|u3flvPof9aodc>8C{k?^}mO!*OdpJ08q^@#=nL2T+c(xSW49M^;5 zTjzn%nC>5;{7991q^|(W3AZu(M<_oMy?nUSvgR#QBl>B4QGR5BkfqCWHK+dfDL>M>HbknN z=%=6Oc=qJksQ6%mqRR^Pr=98h0zpS!c%NS9z`nkKy?OIPMLfC5apjxG0rby3q#1rB zNNR_po>mv&;yw<;=V#yd@zMPwLm7UA-iHwLz3+U3=r7w@ed8L@Z*{6A(Ua(>`$s50 zlA!p~T63urru#=IKXT!=5WN8P{AGYtI@_GmM-87Nr>%{)M{Q_+SiT_Mt_K#40BrPHQ zv+T+)SgY8_QQ127aa2>8{Uh}LJiX5pA1M>v>px!?4)o~tpOvHPG!uw^x_^Z7Bd?ZK zHlHE->Hd+g3_mh6L;0E4_oRMa<@pjKk(Y0PyRvw zG5;Vw`3LdIKZsBML4V0V{rnouKYZdB{$u>>H*ij2p_iP15j_IleWdy+q; z=8exPDpbUQYwLQ{Nd8Y@_K!p{{D|tY|4~2UqaX3nkND_Ef6AX+o_>B3e+_A%>G2K5x`H}8N z>>r{02-SaPUBJ)dl7cuX z;i*_~n>o&O-&ZneWHhGxM<_ose$Eh^j;*BrGW$m;KeAL@W$^c(N&URY>obuv{kQnw zJB5lbqjQ|G!Oh5|!76uQSKIn9ecONP?_l%`LlJd@c!LirKX<;Rb`-q{7khx<5& z@?U)%1KmGD`4M^_eaXgaCms_0YAp#>^+dnfz%jFj6Z;!5`$s50a>;7greUT|nC>5; z{7A&n2lK^={V6Z<>r{0$lwj8!C59wnC>6B%J3umw%=AnaS)QS;_Dt2LjKw9o*)G>HZPQk6ioVo~1+lUzFKHGDmmhl#Sbbu*s}lyL@coZ(@J#fnA@HZaZT=uk^YY zl7HTmr!R1|b6^L!at`IcP{czjXh|V}>80@muiD zdf4Def_QAh!|@eg&9T6{Uqd=c{ugHUk5GQZuB))ah2w;;G5bf>GyKSqwvk_xi2qPt zBy>gb8+BtJY}E3pA~nky50Kxtx_I&vxTbPc>V?feHZPQk9@3gsJ=_;ZwIq~gz_VPo5p_o*^$)Gi)7BL^P8yegRhx=l5ZyVKR=-{ zHl^ntm`BI%2()lu=Q{X(&M#HOwv*1h7ApT!;i>4UhX8nsSD;D?%Rhq>ftu- zK0LaAgz_VFzg*>s#mgUz6U04vhHe8}&2g^Qx!w1Mk^X_%KSKGD>o=8B2N^hFx_^Z7 zBl~22t@=#zKjlR}Hz!xm(DlJ$7uCjhkpAJ%vvA!=nKGCxac@$BxdYoebn>lKqJPkn zsJ)|ze!71|is473yQCYs_4@74X6%pX{t?QLQ2W1{Toyb~Ob|DYy=SOJ^e3%otUgNg z)BPiqA8B4tw)wuk6Q=t|<}mz-$eNS$x{3c&UgSW1q;v(*-@N9YXJv{rel#*P>0)jL zG)%u;WlHQn$y>1I?o&mq>-zi5y0QQ~lG#5(`4NFmxttPC7qn+__qpOyW9~jzp!-KC zKSK9&4jr0ku1@T4bjDqAZ;Lsuda#CdvsXW}e?*SqN1j?4iG~vWUzq(Plpon^_$oAx z_|I%+56MC&m#SqOeel#HcC01o&e+?Sb*yo85v1l+UUoGj=RfaQwTnv>F?+vFh+|0r zru#=IKjJ-l?iDqiuKx2~+Mn{g3efNO>M=d?T8!8~#bnc2V`6`WBPI{iiGI3&WI4l+ z*cdN-K9%?n-9JM45f9~?3x^W_p}dI5nKaQ{VtOem2L06_RBWNc__MBa|P>^K73Gv)Kv9F#AUaF#L$o_ExupL_gg_GHXi3uK|WW zW{8{3MBb+!v^C~drAH*w-C~DCHa%?A34SFBl1HMPsNk`N%xOP zGyKRUE13uPiGIq9eBClJB8}wF5>`xYH>qFZ*@rEzO)P>zE)#bPk^E`ty;*y0g(BYT z|KQ~(qMz;`na=Pdg9GB_@0s?;FQ)mEiC$aHO zsG-sL2D5*}i{VE;+CF%@LDvb>{Uekgc|U7W#BP%RDKEmQp6;Zup2Y9e-BXU8tm+l{-{0NQT+{SOKV~GAc5pFvEME?i(mC;#5 zKixk<`H?kE<66{-eoJQmh&RKJ=*v$|G$8h;yok!!5wbDse6VcA*)f}voU!oKQ11oX zpMq=b_7lpc|BPR{e}wWQG=3TV{rHd*}3_mhV(^7jq@qfC1gz_Va!|%UwAoi!cNW9Z2{|UtZ3k7~Di)T9H6BZh79Gjlf2MAf|ul->>c$8r3s^#BcsNuaHvGzo`!^U1dk&m+l{-{K)#^ zHCq;u_`S^RAEEq6=F1aKK14s|MGTck9f!?6`1c#h-z?Jq@9aJ^NOxc!h%eQt$g}=u z{i6FvC_h5$7mvNE{h7A~`uD3JQXZ^nKS&VE4EbUs{K6b}zuxxjx==Kx`$s50lI@E0 z+SQ#f-9J*z@FTW|u!!jAq<&tcT~oeg63Yjd#aYNaKJSdR5~_?|EWU}hu9@_`P5+h* znC>5;{7CiHL%t(cIbphgq=Ml`3=EYX%aZdSx`#wedg$xb8a}wFK1zR6xHEob+)y=q z-c{7`bI^F3%?@mt|BtdS55#I~+fPaW zXUtRynaW-ZnJKdrB7{mrN{09??CpJj&-XoF=lt~?n>yFI&vg&ivaWq!Qd=opz6o8k zlf9~d`xmu;gLsny1Kn)>(iHl@4&7QKciD1rAb8wdxm8~O3_a|J z%(PWle<>NBsHws8Kec~^@{bg~R@JUjQio2({nfoH3t3`E(Z4COw$8tj-vn$zDP4$LIgl{t?PQa$(oG{CV_q zh}u6w`A4>TYjAqu{zdskjtR>)uiWB+xST87mg3)EPs@mj{G{_7fZNx{_UW9VUobvJ z1Y-T=o8+|PHpWlwAEEpsT?$~gur|~BL-k=7s{X8G(=z;p``7*Ygpw7w{%{g%d~b04 z$wK8q`A5!1vPbja`a?aZ{3AE?CFEOh{h^+VKfcufas64%y6f>eTz|;t)8@WE8ddhc z)F0~4QT`FC{!q`EeNy;UPVIjG64%et(La8p7(cuwqr3#y9}{x_2<0D1^7*LCt$7Yn z`$s7M2zNDir5ffB|{JOpz_b<_fN7jUe*`Yixod{LYRH#F%lD~-i7i0ZQAoq_@ z{t*iQvRf1ToRIzAiG5Cx+CM`1N2vFUJ5=6I=$Xxex?-o7yi|rW+vZjPtk1 zTPOJeoV9AND%2CdAQN$<`Ue$xX3*u^0A5;-SQrYH_q<{3%>ueT;;}7tp{PyQYN%?@xC+k zUDxyG@?-v_a9c>qVf^>V{Uelr#9n>7(+sR%$oL~N{*WR5Q~Pb++;Kbh0`vd(@9hUa zV*aOj>K|bQ|F&` zdjsQmu>Kt}gEbG|8>5?&FBf~__)|akg!GS;%P;J7#`>3fzKQgY7$hscZ|VL||3&t} z@Xl5bWVPqfbV00t$)BIrkr{9;;(yV<)Zcf2^p8;bmwL|ZlfwTO{SKMvcgRG)Lniti z{zbn-M*YqVH}#yFAO51hAQSxsndmRbM1R4*=r71be<4zTK?eN=DgDKl@7Hn>^M6Lo z%KhW@Un^26@D=7iwSR>2k2Kjj?Rk#*PwgL}{38w*Vt-x6{NGRRA?cdMBiV<~AAJ17 zW*cGt8@6qESjd|KpK*^$=Hc@PK~+tKVLU%Su9xFji}_FOA8{f5BiwoG)zb0rkC>c4 zQ2lFaKgnOt9{`i{2f*a~0Wdj#!0-F{KhGa%jOP!^yc7F$k;S5keY#WmTuJ&zsQo<0 zPweFv#`FK9o1fkqyv6nBYxX?!U-y45lKv6?h{yyL@SprGCjBG%;mrpmn?Jywm+A1vp% zMSA1@TTAXAq5LCp)}1PC`21ljxql>t^p70m-J<^)&p*^2k}~0v`P$n(&^hn#bQ(T? zxN6RG>A6BYINOzasS2MzTnapA#96fo_1v+RvBc*Og5>^@t)zdXdX>P;;6qdKXT(p% z|DWQAOz=Y{_#qSg@GtlwBmRi|iG8{#{P4s+-6{T4{t;@wQ~BZ$;WVt@^IU(f%E9`5 z_|W4jdt84gUJjA|k+S4DqG?#aQ_m^?Na{CM*YWdD>iOQrR{ln;-}AM5n+LFdA)im% zSM#f99zlUr`|t6=|?8>KlqpPKVUNd119r7U^4%Mzs&zM#`&Mg{0#o({0y1Q&ydOd z44KT&@GtW-WSpNVA4!{isBPUP-mE)|Zbir*4M&1PZ10ZUmO~;s(|J#i?m};pr|%TE zRzTH}D_mo?^}v}NC3_`xw9%Dar$5j^5K7pdXrIA-6NauHMb>^sXnVYgOHqaiDz6hQ z{4G}p^|z>o*Y62Ko!^LEJ8Gkm*dEKCwQpnK&~Er+$i^Pcsj@cbW4A`HFPW;b^Cv=& z-9%Dtju{=@a@Zqsm@TK-WlxZwJ^WhM^O>fx`KYZJ%u zKYuS3IgX#ohy82(Um%qo$XRcL#~_OeI*=%p#jnx>lXLju3-)NEm*3QlvS~q6KR?D* zGirCk2(6j-Ih~$vGWA?)U_SqDj9(?Mb$}P+r~ZE1!M#J7r|pqve_Z><+169fWq04Y zEth3RU+ywjO6d?6vQf&yTaqoOzP~HI&s^#_CwxuI?Yues9v*)u`SdNupZDo$*f{d%P0kzrR$UeN$v7sNJ*RPncF1TDeo7!yMzEvw*AUsZs{`bT#E- zj+H%9G|w!3hw-<5xosG8EE^Op+Dx;6X7o_q^I^URxX@<1psZCiOH`;V^@#pqF32n| zZlJB60Sy7`x{!Y6_-jQbac}=Q`QLFlTuyzhY7b@@Km!{>lK#YI;A@ec|9Di}WUr9P_uQYOJ|dpsL-Y@rwPW}DH+l>M3laQxS3O%sa1@%Ny4JdbLh3$ADi|Ctvx z56Z5;y!zD0d&q?Ubc*+?hLd@)W`UQy430nFvZ^Qz9RJ%qgn2N=Z=h(jS7yOYP@Ygf zn+?ZbEa>tEd5m9``_?SFTph6G+hnJU<9{!2Z)*_7Kf5f(*|RbRs9AEXvBB|wpUMA1 z5%b?Xyszdu_Q_tgKlLM>Fr#nkeP&~z&xJI8mQMHIYKbZ~UFT^(GEB?3vB5acbCej# z&!2g=mudXbzl=X*5`V}f{*X!h;a}np|7raHW&Ht6>JMO2e*lyE1O8HfXpHrTN&cdL znZJ-p{z4}C3z_6E{7e2q#{6Z%|EaqF5BU$7@ESi%s|1&>$ zO!TkvtG?B*^0uH8Du>Sh+ND1Ac{SF{Y#PqrsHUcxH8_9Y99uQr8|Sa;w%KQ01w-KI z(I-nk;`~)vTi}zNW`f+-ihTcW^bT%3oNxFE=P!$Ei@|c7zmM!*ywaW?2fuC#;flri zt3S<7Zz--n?P-^7-*hCxm+Xx(5Z6y3DZXT*TFeB{?wlvT6z7z8;O}P*I~Ez?;r2s zvg0rAlw$sbpWweb-hbyVIBlI1YJ$w~u!;E{mZir(oBZ@&em$brx(D)mZJsG`QX9SH zE0GOU3qoH^lc&9Mdj-?F<%eOq5mN5^D6{{q3Ch1aHg90>OthlQT_%5D7_u1N*b&_r zjT$9uYJ>)A;8xH2Ir2gFNN3TusNcfYNPV@vtv3AwEIR-A=l51Ky2|tSBWujKkjy;6 z+tn(TXm7rL0;kL>NOL%`YpKK#?b5+NR>Ozdo9MF@nc=~IQ|y{3pdm};D)^w&28+WT;Mj} z^qnIZ|L~1Jx>XqeRgb2d-vu+I!CJcP725a*3Is?e#=do=o^E{s3DwOl+IJ9Hp?+WN6MAzL^1x=u4c4%$4B7#70XO2G5&e$;~KVM{H{EM zUz4}JhQ<1EbnScgD9v#@hxbZr)aQbSnU&RWe~ph}|5r2mN&b5;>P~Q>nwV;|Vw)uj ze@=TCx_mjTc$56K#$_hZtr73<6|9HbuC(#jjK}}H^4)R#L#y-n0t5As4aXO!*p%(` zdRn)S)oD8Ye9nN7zGDv*ci!~08{^;J;p}${Tt{v{Me_pKo<@c_haF zxK8}^Z>0fPCjU{-8{-%MLVq2A@rNs99T*rafHR^(w5&1yb{4T*$pyqtHXu65TTl8J0I+0)Ox8dLZ^>F1V=vHaKHxJ>-^un_GeL z|7QIaFpgh`jXhQF@Db!QI$gUpR*rsQf7-8~mD}jf4rOC}4n2_VdiC;WR@!I--?l*s zjK6tb!gPT^0;;vu%~Q|D@t6OhozP%{KGg1)Q4*Vm)^S;f{>J!i_dIQV`5_v)a0_HT ziY$l5X7M^am_I9L_ho()vqsr=I?IE;)Izg1mgiC!zx0Jpv7(b)2>n@e>^6?SpRVWn z9S20I%H=&Scgk~L;kale{LDItuM+}q);K|hV7sk3_$j#V+?Ie!B{439e zHX{WP3WlCGe_)U9S&rr@tU(1rsH`2hWaNx7?1z1?X7Jc zrvs80|Ceo#S6spPvpJviiDLY1>hdhE&l2F8HCdUl`9{c4=)Z+pD6-jK2R# zPk@Fc7g`v!Ev6F3f5oYQ<)v}laNYTn^SQPR(e4xnf9_aW4^1OBRFvWPN5u2{jK{zH zoA^q)hcRjyD4RW=w_=>-6Q4eQyroL#asOJ=t0!Qojh4P1T>3yg2n8N@@^Q<|fV9DMWDx8e>9 zu;bq#@_*&8zUE}!R`9S+m-d8>Zx!!fKUX+m0qPdX~4shZ{$^ zkg=MyB#)9Ma+Trhv>4%qr)rl1!z?bK#ZlF1$X*X0ERZiP$M{b+dijmx7vFFy&Hlns zWPhNc{pT)q`uXRU!mjIuQSgNm3x`hjK$T_X9~(`z(W>_c3~jdsp;n0x)jU@b)SXQn z+m~pBc5nM`HLKbLrL@}GdMdD>U0V-vuE+RKj+h!);rU^O_;*_D%L=$}?^mZrAA3aK zEqdePa%=Qdtlq-FvJTGk&JtB_G^1Y=yZp%!*cID z;DhRul^Zbrl9X%rOECUxb>UaW@gH)_n_1;-ifC488^o*?=yUn*wkeq|r*F`ImBDM# z15d?IyY6VFjg0wH*2H4`*IoR5r)lQG&?{VC{>ert#jV}h0OQ}kPGyvRJsYaq`{7#; z#vhls;ISyizd3EY2+XJ&)txciQo) z{c$dI&Shlmva%(*zP%4Mu9Scdn!_ShPe*AprrYuLbJfElpX#ph`C(nszFXt?lYN3& zSyvxKYJ~yH_}qkkuFLP@-h_?l{q`n>XD52#>KoY`SK|1e)ZFx5662rtdRy%*=X7Yi zr18)F1S8~Q6SZ-Fl?kfvV_Vo!Fa$H{%kv9$!ccJea{iMTf0^%y?9&@1c)!N9#W6Q9 z{-Z$^0LTAscbDITp-NbKL+WZ$y%~LXK=YNkN4QY;e#N)Cik8Udd)TKD9YGivwDhcA z!aQI)I$zFaW=wv0i`ZFWSfx6YhQbG^4pK|wiv&hjgw$lPy^)CNbkD$!Hix~qA`c{7#I4o z#%OK{=8x&6vwb(-i$gy7p7MQQCb;%t|HW1F{xSdQ-97zlVr+2#?R?JdkLPDT-Gg2) z$Mg4v-Ti5JUBT@AeDNCN^Rwn3Io&!F#8q=(yT?|1?^W}Y(t12UORuX=Q^)zsS@Oeb zVO9kcKO350iRWh@!|yiXIDgZB^3QIyt%HBw9LnB==V!~cPhGt*f0}rflzCzPTuZMh z%<*0UudF`Y_hkMYFvxbJLuA1}<`4a1_}1NVxc(bVzbmhY>*swwX_+KkKl4K}94>gI zLseFX%_6w|PaoWMIT_ban{_%moy9|tu(dt>0^@(vQnZ~5_pdsu>4(Sel)z1_o$x%a z|1_a>UIw^+I*qMbIyk)w+Fa+blkYI2x0&-h4V!SG2cY>f9oJ9!K2E>EZzzA`rJPD9xk?ib^Ri>OZE9wAv2LJ*^sqknwbm>}|Qw{&%WY_hTdU zqoE@bl$)S+-l=2dYuV6-u+wJ4nEyM%Qfd1eq7lt`Y%6W%xCh3Cl z$8B3qsA2pcc}sWs{mzC*BJ6X5MK+zzKIWBv=g{4&rL$BG=45)XP{{%~-=<>bcvKmDRa!A+?edOQ-V zs=)l0*w-B|f%$*y*G+iyQ$4)#sv>Ppn;HGcsJ+%We-h@hS&Z}NRTjH(>K<|EcfreP zkID@2QqR;9v(i&Rv%k>aCMD(lS^K&|-oAcxsHr>GbS5j9d ztsnQ_a<6O|cZ@$rATs3riwx*-fu@w0YJ{#vKYdw*_3y_yhhw7!M&P!&%bfFY{h9gM zSy3C~zj4ptSbJY7ToO=|q916FR8Axd-oW@*xpQ}Fe#iW0f2^DO(Twh0xJ7on{%n;$ zCOlq$mPZ{HacLBS^hHmX5cZs4-QI{_lBW zw+gW?hN4!z!61(dTv&c?XuN;jzf*Q|A_3 z*}`dpT0PKFU9Ru6o;Kk(=U14F+vYRG}~X}w|LfV_N1DHl#_yl^R9zeU0&vFq{ONVDM=87)PixP!M(iDId1LxHVE0=- zTh|gZy8Y{L{qgwocx7)IkNF)Ru_XO^uXIM+LwU4F$mdDQCq6XhDP*s#*8_9m%q4vXwUMt(LU@!?5V|WC zv7w{H4&5|B^jo;n@@`$!(3qG_p!vX2t;RpO`Wh+!bOKvaVDhZrP z*L^qm^tb`;Uk#g1KQ+`w4gocKipoJ~YmJ)ByyX{R&iB3mTBH%$xc%F`@&Xgo?f28j zuMNTVMIi;__47zjjCKshuYWhQP5zi4ES|0Cebdz*{W_JHbeG2(Io|u?b<_7I92_+-aBOgyh4~|_y<3WPaSM@|(tnJLbBxHHtrBp8vmTyJ67wEE|FjdY znK=I(h&yottd~NP9A$4)&hJ6Gt+h>m0{H2QQM%ukX!pS1+R8Sb`r3$fwPXA_%%8JQ zW#Mj`KTJ7x(jfVs5t0ws#wefv>l%5~fAHxu1jaUp-K2@euQ8yOwv@7t;v1 zc1wXvxT8HfvTMVKm7LbduIc7E_UCcX_(ShQJ2t2=YZ-fz2*VSC8iQ~WT!vnpgUu!_G&XLR- zjDP3Z&C>oj{*@&yF@^4rz!~*(pPDY)qjfhIFIB?vzh3^srijC3V!u&FeoCn#SI z9_PQri$JY${^v~doVTyxH;otwmbF^Z&c^`!`Zw z)#!%p&D-2h%bMN7;%<*z zQs2g#^5XN8pJD#11`xQ>F?aFH8Z-Kq083d_9RJPrKaQB=`1k$VW9kvg4xYc0(%8y7 zNG#6%GT#Enp9z2H|B^p|34Z_+{s1QY0e|5Sjgde6*1q&{{;W&AHo>2!)-VI9Y*Bh( zN8Vxc-CK}Ax_09c@s-Hyi?F-T{vNpH=bVUXxc)qSf5KZE*PnYP({<$HT)~62VyW{V z8ljQ6IpQeS1hs8&D~h+x1$#PGnVe z`mT0&jKBMpZ~rBXpJQ6>uiD#ppzbnE_sP)xzU5AdbV;8&}K z(D_cMeL9&YXv6ArDS0KIK)Ic)jjwhX;V|f&E`&fZ?i1UCe0=^{d+G8q9RFVd$9`YN_+Rk9$Vp9^4T5*r$*1050Q0Xm zvFWna!=3XIHOKi=XB9EQA8Ot?y06h2&DlCte|G$q6;{Lbr{Hx++I(DpgpUs|V#oPQ z{e08&Eor>C{scTcdVv?$AL@CHi~Q?K9Dj`jO4^laGXCW!CDjbXM|%} z9gTB4nrFQs^2;>YsXx~)s;ZKR`&U@x<9Br!zy93cOSLe58H-zsYonr|b*XglcHF;Y z12ujvDKtTGIqE{{&pRNW&87PvF@D}V-X~sT{5c~6g6j^YL$2GOMF`x#Vgg1}r!TTb zHP4UHT5_|Xj#;p`B<^4CBEG&8^^+xT=Q#fNW@;XHTIRrxPF>5}DTBmKmPMb&@%J3P zvur&67os;##9!;x0=~xr()4Z8BiiHjv%i)lyT@le8gqVE{%s%DFaBbo(FWS+p2Vn^ zB<6pj!tmFTkpQq(Xx0z#0G~gEzPVzG^Y{D#{YSB{t3iW7lE)b4&rIEKnLHRj|MIAN z=MAI44Yi}%-!9stN+A13n;`j_($WHSFiCi4$uGXKE8%s&L<{KF)F(Z9@J z$RvLull+BD@)!Oke<5T3{=@kVU9PBGze~Rda_>A{?S4obg(Y3&euw!}Yi8v;SMVZS z+Oo-eez*}zbC29(mv4gJ=MU?Qv?93XV#UFD%>UGm6rtmoKQ8Ol9e*74gBAvfo^>wv z$dce}dWh%GnuGwBksCK*TcGh*qY5*+SL*`kVa$b`BgL2dV*Wq-T!qvZwGaos@dz%S zJ4U=5+G+J=ZarkuztF$zUyw=vf=v1sWYWLjU-}op*uOGO=DiuOKg(xZPV}#~QJu)b zLrQez+o}7<`)|M+O)J&MbLnc_deHb_57d8jbfv;!Z8Tr){5~68e;&D+OFAh&1WU3+ z5=5emkVKWi;mf%G2q^c``Jb!UbEspeYX6|I(It_I>ZM2>9h;M3}3cJ$lU{Ib1c@8cBRu zSmT)x2lse81q~OP(M6TsZfeH;w_mE;b1UXgD5pmF5zC*%6PCp%j~rhJN4(8uZN~bA zN&FE*{1IEcV@ERPf7Y#M84&Y-r2S`07v}#Dxv@hTw1?2{=k}kvnEzg_pB?it|JD2d z9P?TF5ndI@Rg1>>IW}e9Ci)BgOZ^3z=r71be?cbt z3;soa5&uwsAqM@0ewkf&6vF)H?>X*ff%%`1FRoIK`L9!PzhnJ_NT_7qd7zt{JO>q|vj-NlAvXJ}ag!$htQT1@MR2t+yV6p2auK%v`2K#C-|MikL z{FLuSP~KSRNi#lwxE6YooNbs7g#$8-(iQ*t~H$l^9PAd2X~2dj{pAX ze?Nbq|I70Sz~uY^Fgbq!OwJ#`U(O$BjOP!`@;8+`{^a=i)$3c0`+WlO`xF&pS+uv~ z`=6inLHu5AbZB^J_bYsVn99c=%KhRtfksI61=rh?FaMLjY{!EfjPd;D6IbTz^f_VO?{+^WcMdIi4%;@1qcJj6waiLhl#cV2gexts>X<&6}9q!E^ ze|QVb#^<+8^cVeK>My`Ve*q@?3oy}N;4k_MFzT;=h@U8ZQZVQDD*kdoxA18fm$>AvQ1kva`E|tv4)^d zH15AkGIyT(;5iNCHf}yLDm_g2ByTr=fq(zP1V5wx{TqJB1V3bgA2PuY|AHSf;%BBG zZFb#%HhzBfj%{zt(-;Ay=x}fOQ>@?F+t|N9#QJ@IdFxD1Tz@EDj)bJ0+=tIUGo7AZ zJB{@__54B+%VslNe?G2Nz95C`5B1z{Zq>jAtl#xFoSfN#^$Yb}T&RGf73+7Q7rQzW zas4sbd7xel*B|QpdafIr?@NyoMzzUtFLC{0q95u1Qa=JF`VlbEkAR7O1b@+wfKfmG z!}|HR`5!Qu{{fTvA26B!!C&To8sq%`59hbP&Cig@{0y1Q&ydOd4F57eL&o`;@{!oL ze!OaRy8%dzRNm5i!vd)L+Xj*o_Xp6tm0CP+N?+0V52WN@IxPuMyQx0EMG#O+I^uBY zV&>HSZL#wn;SU!)1n;~OJtfb?fdiy}#7|mk-HG)vz~yXe$Br9sfNgxy%^6qlxlVr5 zyv;K*L7nK~u9C~?Q}?>lecRrByBGs^u83Y0)pngW*gv-7>HgBG``cf$ie|0a(Ly8* z(eKDQ9ix%?G4(;+Tb+9Fmw%xABaA;r`9~O^?<<;l;qs-ayqx;B4e2YHdcg1xlz)Wb z@w6MMaqCR{Kf)|MsiAevGa+^V{L0&j`ww*5X-@Sufp3W|$8MB0LuKgW#HBeqHxiDu zm)+VmR0>l`|45Nc=ntLX1o*h^_h8GX7gP7ox1aiySK*%yyASQiR^(}dO48krOq?tc z2f@`4a_O(g;bJLcpxMwNDC?WQF z@AD$zyvBp}kB3XA{0q8Qhrisood7#)EA*asyqNMY>|E^eE-EA)+ImMuj$-^np*Ae; zE|w@YIl}k5b1B@LuHv`2yAbA(zLM!m(gCkJ(?JRl?V!!OL##g28@9yf9YOgQYTp{m zy}I2;i;r%RO7^oM@+C|U`b!i;pWQ2zyEMKNlz+r_uIKpuCA#VQ3H}o=B>Dh@4?*THAoCY6x=qZkm*)* zR{PHgjq+dE)lS~uTlLm``I@68v>0uoqHUKHa2vT%e$F@;2&Ob14u4C4G15P>vU`1D zph_qxI+lOxeNsHwMEXbEuIa$Ddtw1?MrdZjv~m#lEOzCNi_#ovU z**bH=hk-UGH=iqB@|MOQ{Ic0X;|RFMR>y+oI7@W;6!5yl)_J7)q_hn?4DYp@&Vhh-3zOMX2}D=Tlgv^7aPCS2k?7 zoy31pZW4bV=^yEJp76mCT2_&#fb8G#x1Kcv71BRap0-VB|F#^EA?D`3Pq+-&k^Ygo#$Awq zb1C30Px3w6+6#792p-W-v_y6)dHhyR%^+G_C^q6l11KVWCD+HM$JthvLK)OG;Pxzv zDCd4CvR?iZQAzqoR+diqNTB*3oob0)7YW;~W}8cbenF?|(3NU}%b+dkAITn>xQC8B zZL1=;eEvwIMfFHa7et1O4t*^YkF^SxI2-yLfDBL-XQ%W z(Fqg&1*9mb?Np`kk#=~YTD$TSeXy+bw%1(Um!P=%{r)q0Lr509P-=!4Y=I<8Tsb9C2EnJ7alRA9$aTH^jH-A7Er#D zuXk_h1V1Q%cMsebULbg%_$koUnC{d-Q2vo40uw$G*r6QbYy9{O@jzxW{uarT@jpfS zN7&dV?*F6Z%O~Tnsj8;P*0BTZbSmH|?R*LrIqr7hJzE1dlm3xs9_39xFQx%0KG*h( zths>lkBpp=?bs=l1Fl}}-LiYM9W=KMue^!zXVqLUPLQktKTa)Q{LHr!jFP?*KI1_D zC)aYIz}d<8M~+R#{}t&U*~VHp?&Bd6?@q?wFfh&UT~-rJ8-jgv@>t8f z8c~z=r|2r5#}{i&a7y&OrIF?nu*6p{!+&2jp!_51{-^RKR8v8>=q2elzj6TOAL(Lk zT7P6?Hu!bymsw8HCm>?9{&-_5)-OU*K75O-!OX4Ew9McN@SF6N9N9rvaq!EARU#Kn zXYu+uLpID;j9`f7rWj_JF7|)<*fh~ZA^p%9huHLfndL^81F`2(%8_4`6 z{Uc)r6Fx8)yl66ik67H8rJFbm1saK$wKQS8zi!e$6102b6U`8t-Um{;GsA~`H z24YR>=j~SE-y{Bs=}dU{7W^RnBR)SZo^IoQ0sc%YS+RFZKA`*~7N}rl&{V+?Ec+#WL=Gt4ZnKe6m&i!gY`AQbKWGCM8&4n8;ZxYGc7(?8!P^mqa z(m_~|{*h?UiF?q5M2)sn=5{o;IB*OGd4+5IiCFHz6fZ(Ir-5w$Yi2G5L8KTq%^ho~*sIbW570m}G)dPBpA1VRmAK|bt{kUXV1xWin zT{=ANC)joAokq$7OC+GkF^fLb3i3OZcPC!@2= z!LpkY`G(<^NLjf5R73h_Ks?J#&vb7Gl&|Dyo))%{)WQ`5Ci3&8V~A$qFP0BdI|#}@ z(sz2|9xgnx=MC+Ht_$IQ&x zL{oF(9y$~^Q_UXZy+Szps@tRqkHUiV)#gDtB2a|%k2t}Jd)(BV>k@S4&}!@a!ytU- zwCykFW`j$Ym3noPI{@V$5nQd-!1}oe$g&*{e9c`8DF4WFvre~4wrZe$LVxK~^Fbi{ zJQKYRwM4zrEA5kxbO5axDW?=2+Q3uNR}%W0YuLi78b%n270~ zwDgTP2R~MV9i)Gx!Oy9Eu|NgzRjrtAp8gZGCOtCaeq@QP9DW7ojkbcVH!n&^Uik

^JR1(pXD;`cf?0m?tJ{-|MYlzcWgDRip1^AP3_=^x>es%wTJ#XvYe*iiQ4 zcTlJp+V(2W64^H9<$Yh=1QwhUU)Z8h4L{?ddG05*w@j&=%P`KS3yD?NGR0P zsT4?=bvEm7s{@pO#5Dt`cd*w2iR6oqSNs?Tm!4J`>fW_P?xG7Db|rrX59Bi6oW9%+ zC|}7XnbGnk=WC(=)yeuVL^ z=zgsVcy5fJC0XzrJnT10*SU@3A6MWJU(gO>e8+en{AdOHNnc5XK)mXX&MLSoWio%K zZ=cLx%0D9GH{k<=Ka3{x_aEY?EpE*zf5CnjxDU4YN=IY?zLSfHF2N3lEs-JTE5oFUc962e?9Gwk zRzUem#9Bs=e(9}(n}jC$W0Et;AId+{6EopMg3*GL{HY3_tUoU@C+iR8ANeXj;bWVs zKl?4WuyES#2Z;mo?ks80v87M=*dSnWny5ejaDJfee!C~^&NMC1)_(JS-lmfQ~r?`C!I3+ zUI4Vctk9K~4`z}6k(}#+392h{fsv$zS7X3u@KXH#?W0(~&xm@k%H#T5pf&J7bU3sc z9437wxlcoNE(GPmoZiX)b$8ih|DyaO{c00FNCNJh>|eRBTo2S9`3^Tf*}1*LyDr}d+(akODO@hyl(?|BPz5R+G!xv75Rcm2mmOFdH?2SK%pB_a|qh zmMzPA7y?xrj>>-!h=gXOe?(_%|Miyr;SioMICM+00LFa`U!o9TiKLbsk4eYxUkI^z z?aLmOGz?V$ulKzp9GRJLt<@Ge4&J4D?9h!s; z-{((?mWd$OeVLM2at-Y%=^rV664z85I1|aw7Cu}sXiSJVygssH4a{&|< z%;zc03J2Mwf5f?=z|GCk4QLcQY7|=ggAJsAq`%@|lX{Ua@Q07IIhQ^MqpU2PwZZuJ zU+eDgI_3}#78h6va;?Vaj-;<-cfsC%7jZwBZ7w8K6?&A$?yNoi(zdXv`x}MRLerlL z77`pC?Ht=nWNCpXT$MN->wsQHByXPMC{2p=k5mjh+#d}y-Tw@(HM3TW8(pNJ7stj>gI0Aafo<4sq*Ml~5xyIwm zDuq+`|L3LN9?-tkKr~sU-E~VlLW@Yz$urk3fR|QvY~^SFMg)@nkp|-@;rRFOQ~XE# zMSi#e0%1X&_}Hy5S;V;Qh6XWtJOIZC|0-9+=4u({ zciL&+qm4?p@h;w?1l4cq^U-)Bpu??#F)!a@I7s?OZdZmKJUrtGyltts=}<~KG$j2a z7JSbxNL)^Zdi^(IkwXIn+98Xd-m*lkv8_JzwZ%~E-L}nz?fH=Ml}Mj-3p@8Q6>zv- z*}8AF8?j3PtX-e|ibx^-BU{-&u79?umv;B`qW8&i2MLltkmL`+z#lrv9~#LYNb(1g z{DBPofh2z*1AidNAIQKTNb(0V@CT6mAxQpA`Hx8c&`ACep65r3D-J$~S?q6f(1CXZ zb^rFX$eL~A_g81Wkv;r-&dF;n+%wdL1v>MMFd z2iDVzYYlEr-M@`<+B)oZBnWq zc_P5a?wk|^Y{Yaen}d!MVY@f>Tv;1Ab^o^I?A3P3jyE)|k?Fs8<|z<|qh~5!X)6Io zbM~4%G3=#{lKzqG=;<5B{Ud!LBeOna-KE8bcw`rEmI3u;snsWM-vU~jTOX|w$p(6) zf24cax1NIM;oxPm^YVfE1n`FRkL>h8FVC|-0dL=jq_!Nc1RCdRH}d;iqQ%ZLS1L4R zfz>K!xOZP8zz@<_V&UX}RrAslm|t0)CoSbfqu=$|P#5u%M%`b^xhU>yGqaswA62N2 zV%tlT_MTs$u<$Ev);K&^@SY1&_s^yCUTf&OuA^_A?{#4Ls$Aj`_nPK|w-jM~^t{jw z#^G@5=R0FO5k;_)^p6BA@T>kk5D!1SJI?XrO&Y8q{UdYKuk);Wh5Llrl86fz>mkZ^ zJJ@i|5`~z2zjP`@T%`bqgm7=M8Bk1#&hJ6gUe9M>Pl=ajF6@j3N1 z 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�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

kIGB(`jdU(yqetP!gd)_6YQ0E6Y@3 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

9*#q8)blM5uDX;ig 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

{f{ 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%0Aq`tDfz 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

nmpMWiKF1owwnE@>sKj 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

R-G(4wgha{fA_7Z-@8YTwF$R@lOqm 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 Date: Wed, 29 Jan 2025 23:12:42 +0000 Subject: [PATCH 3/9] Merged PR 5354: UKS Gradients 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 --- include/gauxc/runtime_environment/decl.hpp | 2 + include/gauxc/xc_integrator.hpp | 1 + include/gauxc/xc_integrator/impl.hpp | 7 + .../gauxc/xc_integrator/replicated/impl.hpp | 14 + .../replicated_xc_integrator_impl.hpp | 12 +- .../replicated_xc_integrator.hpp | 1 + .../xc_integrator/xc_integrator_impl.hpp | 12 +- .../device/device_runtime_environment.cxx | 6 + .../device_runtime_environment_impl.hpp | 18 + .../device/common/increment_exc_grad.hpp | 7 +- .../device/common/uvvars.hpp | 12 +- .../device/common/zmat_vxc.hpp | 4 + .../device/cuda/cuda_aos_scheme1_weights.cu | 4 +- .../device/cuda/kernels/cuda_ssf_1d.cu | 11 +- .../device/cuda/kernels/cuda_ssf_2d.hu | 3 +- .../device/cuda/kernels/increment_exc_grad.cu | 484 +++++++++++- .../device/cuda/kernels/uvvars.cu | 709 ++---------------- .../device/cuda/kernels/uvvars_gga.hpp | 326 ++++++++ .../device/cuda/kernels/uvvars_lda.hpp | 142 ++++ .../device/cuda/kernels/uvvars_mgga.hpp | 181 +++++ .../device/cuda/kernels/zmat_vxc.cu | 198 ++++- .../device/cuda/scheme1_cutlass_base.cxx | 91 ++- .../device/cuda/scheme1_cutlass_base.hpp | 22 +- .../device/cuda/scheme1_cutlass_data_base.cxx | 113 ++- .../device/local_device_work_driver.cxx | 32 +- .../device/local_device_work_driver.hpp | 21 +- .../device/local_device_work_driver_pimpl.hpp | 17 +- .../local_work_driver/device/scheme1_base.cxx | 522 ++++++++----- .../local_work_driver/device/scheme1_base.hpp | 17 +- .../host/reference/weights.cxx | 19 + ...incore_replicated_xc_device_integrator.hpp | 13 +- ...plicated_xc_device_integrator_exc_grad.hpp | 126 +++- ...eplicated_xc_device_integrator_exc_vxc.hpp | 23 +- ...ted_xc_device_integrator_integrate_den.hpp | 2 +- ...eference_replicated_xc_host_integrator.hpp | 10 +- ...replicated_xc_host_integrator_exc_grad.hpp | 311 ++++++-- .../replicated_xc_integrator_impl.cxx | 10 + ...shell_batched_replicated_xc_integrator.hpp | 7 +- ...ched_replicated_xc_integrator_exc_grad.hpp | 12 +- .../xc_data/device/xc_device_aos_data.cxx | 186 +++-- .../xc_data/device/xc_device_aos_data.hpp | 10 + .../xc_data/device/xc_device_data.hpp | 59 +- .../xc_data/device/xc_device_stack_data.cxx | 131 ++-- .../xc_data/device/xc_device_stack_data.hpp | 60 +- .../xc_data/device/xc_device_task.hpp | 39 +- ...osine_blyp_cc-pvdz_ufg_ssf_robust_uks.hdf5 | Bin 0 -> 643064 bytes ...osine_scan_cc-pvdz_ufg_ssf_robust_uks.hdf5 | Bin 943704 -> 643064 bytes ...sine_svwn5_cc-pvdz_ufg_ssf_robust_uks.hdf5 | Bin 0 -> 643064 bytes tests/standalone_driver.cxx | 3 +- tests/xc_integrator.cxx | 30 +- 50 files changed, 2865 insertions(+), 1175 deletions(-) create mode 100644 src/xc_integrator/local_work_driver/device/cuda/kernels/uvvars_gga.hpp create mode 100644 src/xc_integrator/local_work_driver/device/cuda/kernels/uvvars_lda.hpp create mode 100644 src/xc_integrator/local_work_driver/device/cuda/kernels/uvvars_mgga.hpp create mode 100644 tests/ref_data/cytosine_blyp_cc-pvdz_ufg_ssf_robust_uks.hdf5 create mode 100644 tests/ref_data/cytosine_svwn5_cc-pvdz_ufg_ssf_robust_uks.hdf5 diff --git a/include/gauxc/runtime_environment/decl.hpp b/include/gauxc/runtime_environment/decl.hpp index 5cc63fb0..cb635020 100644 --- a/include/gauxc/runtime_environment/decl.hpp +++ b/include/gauxc/runtime_environment/decl.hpp @@ -77,6 +77,8 @@ class DeviceRuntimeEnvironment : public RuntimeEnvironment { bool owns_memory() const; DeviceBackend* device_backend() const; + void release_buffer(); + void set_buffer(void* m, size_t sz); }; #endif diff --git a/include/gauxc/xc_integrator.hpp b/include/gauxc/xc_integrator.hpp index e08da39c..a77d0a15 100644 --- a/include/gauxc/xc_integrator.hpp +++ b/include/gauxc/xc_integrator.hpp @@ -67,6 +67,7 @@ class XCIntegrator { const IntegratorSettingsXC& = IntegratorSettingsXC{}); exc_grad_type eval_exc_grad( const MatrixType& ); + exc_grad_type eval_exc_grad( const MatrixType&, const MatrixType& ); exx_type eval_exx ( const MatrixType&, const IntegratorSettingsEXX& = IntegratorSettingsEXX{} ); diff --git a/include/gauxc/xc_integrator/impl.hpp b/include/gauxc/xc_integrator/impl.hpp index 85a655cc..f2a73a49 100644 --- a/include/gauxc/xc_integrator/impl.hpp +++ b/include/gauxc/xc_integrator/impl.hpp @@ -81,6 +81,13 @@ typename XCIntegrator::exc_grad_type return pimpl_->eval_exc_grad(P); }; +template +typename XCIntegrator::exc_grad_type + XCIntegrator::eval_exc_grad( const MatrixType& Ps, const MatrixType& Pz ) { + if( not pimpl_ ) GAUXC_PIMPL_NOT_INITIALIZED(); + return pimpl_->eval_exc_grad(Ps, Pz); +}; + template typename XCIntegrator::exx_type XCIntegrator::eval_exx( const MatrixType& P, diff --git a/include/gauxc/xc_integrator/replicated/impl.hpp b/include/gauxc/xc_integrator/replicated/impl.hpp index a892f5e3..e9d2331c 100644 --- a/include/gauxc/xc_integrator/replicated/impl.hpp +++ b/include/gauxc/xc_integrator/replicated/impl.hpp @@ -171,6 +171,20 @@ typename ReplicatedXCIntegrator::exc_grad_type } +template +typename ReplicatedXCIntegrator::exc_grad_type + ReplicatedXCIntegrator::eval_exc_grad_( const MatrixType& Ps, const MatrixType& Pz ) { + + if( not pimpl_ ) GAUXC_PIMPL_NOT_INITIALIZED(); + + std::vector EXC_GRAD( 3*pimpl_->load_balancer().molecule().natoms() ); + pimpl_->eval_exc_grad( Ps.rows(), Ps.cols(), Ps.data(), Ps.rows(), Pz.data(), Pz.rows(), + EXC_GRAD.data() ); + + return EXC_GRAD; + +} + template typename ReplicatedXCIntegrator::exx_type ReplicatedXCIntegrator::eval_exx_( const MatrixType& P, const IntegratorSettingsEXX& settings ) { diff --git a/include/gauxc/xc_integrator/replicated/replicated_xc_integrator_impl.hpp b/include/gauxc/xc_integrator/replicated/replicated_xc_integrator_impl.hpp index 70c33db5..3c16f93a 100644 --- a/include/gauxc/xc_integrator/replicated/replicated_xc_integrator_impl.hpp +++ b/include/gauxc/xc_integrator/replicated/replicated_xc_integrator_impl.hpp @@ -74,8 +74,10 @@ class ReplicatedXCIntegratorImpl { value_type* VXCx, int64_t ldvxcx, value_type* EXC, const IntegratorSettingsXC& ks_settings ) = 0; - virtual void eval_exc_grad_( int64_t m, int64_t n, const value_type* P, - int64_t ldp, value_type* EXC_GRAD ) = 0; + virtual void eval_exc_grad_( int64_t m, int64_t n, const value_type* P, int64_t ldp, + value_type* EXC_GRAD ) = 0; + virtual void eval_exc_grad_( int64_t m, int64_t n, const value_type* P, int64_t ldps, + const value_type* Pz, int64_t lpdz, value_type* EXC_GRAD ) = 0; virtual void eval_exx_( int64_t m, int64_t n, const value_type* P, int64_t ldp, value_type* K, int64_t ldk, const IntegratorSettingsEXX& settings ) = 0; @@ -130,8 +132,10 @@ class ReplicatedXCIntegratorImpl { value_type* EXC, const IntegratorSettingsXC& ks_settings ); - void eval_exc_grad( int64_t m, int64_t n, const value_type* P, - int64_t ldp, value_type* EXC_GRAD ); + void eval_exc_grad( int64_t m, int64_t n, const value_type* P, int64_t ldp, + value_type* EXC_GRAD ); + void eval_exc_grad( int64_t m, int64_t n, const value_type* Ps, int64_t ldps, + const value_type* Pz, int64_t ldpz, value_type* EXC_GRAD ); void eval_exx( int64_t m, int64_t n, const value_type* P, int64_t ldp, value_type* K, int64_t ldk, diff --git a/include/gauxc/xc_integrator/replicated_xc_integrator.hpp b/include/gauxc/xc_integrator/replicated_xc_integrator.hpp index ac93a4f0..ebbcb1b2 100644 --- a/include/gauxc/xc_integrator/replicated_xc_integrator.hpp +++ b/include/gauxc/xc_integrator/replicated_xc_integrator.hpp @@ -47,6 +47,7 @@ class ReplicatedXCIntegrator : public XCIntegratorImpl { exc_vxc_type_uks eval_exc_vxc_ ( const MatrixType&, const MatrixType&, const IntegratorSettingsXC&) override; exc_vxc_type_gks eval_exc_vxc_ ( const MatrixType&, const MatrixType&, const MatrixType&, const MatrixType&, const IntegratorSettingsXC& ) override; exc_grad_type eval_exc_grad_( const MatrixType& ) override; + exc_grad_type eval_exc_grad_( const MatrixType&, const MatrixType& ) override; exx_type eval_exx_ ( const MatrixType&, const IntegratorSettingsEXX& ) override; const util::Timer& get_timings_() const override; const LoadBalancer& get_load_balancer_() const override; diff --git a/include/gauxc/xc_integrator/xc_integrator_impl.hpp b/include/gauxc/xc_integrator/xc_integrator_impl.hpp index 1406bf8e..69fe689d 100644 --- a/include/gauxc/xc_integrator/xc_integrator_impl.hpp +++ b/include/gauxc/xc_integrator/xc_integrator_impl.hpp @@ -39,6 +39,7 @@ class XCIntegratorImpl { virtual exc_vxc_type_gks eval_exc_vxc_ ( const MatrixType& Ps, const MatrixType& Pz, const MatrixType& Py, const MatrixType& Px, const IntegratorSettingsXC& ks_settings ) = 0; virtual exc_grad_type eval_exc_grad_( const MatrixType& P ) = 0; + virtual exc_grad_type eval_exc_grad_( const MatrixType& Ps, const MatrixType& Pz ) = 0; virtual exx_type eval_exx_ ( const MatrixType& P, const IntegratorSettingsEXX& settings ) = 0; virtual const util::Timer& get_timings_() const = 0; @@ -108,8 +109,6 @@ class XCIntegratorImpl { } /** Integrate EXC gradient for RKS - * - * TODO: add API for UKS/GKS * * @param[in] P The alpha density matrix * @returns EXC gradient @@ -118,6 +117,15 @@ class XCIntegratorImpl { return eval_exc_grad_(P); } + /** Integrate EXC gradient for UKS + * + * @param[in] P The alpha density matrix + * @returns EXC gradient + */ + exc_grad_type eval_exc_grad( const MatrixType& Ps, const MatrixType& Pz ) { + return eval_exc_grad_(Ps, Pz); + } + /** Integrate Exact Exchange for RHF * * @param[in] P The alpha density matrix diff --git a/src/runtime_environment/device/device_runtime_environment.cxx b/src/runtime_environment/device/device_runtime_environment.cxx index 41d841b8..61866f4b 100644 --- a/src/runtime_environment/device/device_runtime_environment.cxx +++ b/src/runtime_environment/device/device_runtime_environment.cxx @@ -67,5 +67,11 @@ DeviceBackend* DeviceRuntimeEnvironment::device_backend() const { bool DeviceRuntimeEnvironment::owns_memory() const { return device_runtime_pimpl_cast(pimpl_.get())->owns_memory(); } +void DeviceRuntimeEnvironment::release_buffer() { + device_runtime_pimpl_cast(pimpl_.get())->release_buffer(); +} +void DeviceRuntimeEnvironment::set_buffer(void* p, size_t sz) { + device_runtime_pimpl_cast(pimpl_.get())->set_buffer(p, sz); +} } diff --git a/src/runtime_environment/device/device_runtime_environment_impl.hpp b/src/runtime_environment/device/device_runtime_environment_impl.hpp index 6489e11c..8cc396d3 100644 --- a/src/runtime_environment/device/device_runtime_environment_impl.hpp +++ b/src/runtime_environment/device/device_runtime_environment_impl.hpp @@ -8,6 +8,7 @@ #pragma once #include "../runtime_environment_impl.hpp" #include "device_backend.hpp" +#include namespace GauXC::detail { @@ -63,6 +64,23 @@ class DeviceRuntimeEnvironmentImpl : public RuntimeEnvironmentImpl { inline size_t device_memory_size() const { return device_memory_size_; } inline bool owns_memory() const { return i_own_this_memory_; } + inline void release_buffer() { + if(i_own_this_memory_ and device_memory_ and device_memory_size_) { + device_backend_->free_device_buffer(device_memory_); + } else { + GAUXC_GENERIC_EXCEPTION("GauXC Cannot Release A Buffer It Does Not Own"); + } + } + + inline void set_buffer(void* p, size_t sz) { + if(owns_memory()) { + release_buffer(); + i_own_this_memory_ = false; + } + + device_memory_ = p; + device_memory_size_ = sz; + } }; diff --git a/src/xc_integrator/local_work_driver/device/common/increment_exc_grad.hpp b/src/xc_integrator/local_work_driver/device/common/increment_exc_grad.hpp index aee0fe91..b208e467 100644 --- a/src/xc_integrator/local_work_driver/device/common/increment_exc_grad.hpp +++ b/src/xc_integrator/local_work_driver/device/common/increment_exc_grad.hpp @@ -8,16 +8,17 @@ #pragma once #include #include "device/xc_device_task.hpp" +#include "device/xc_device_data.hpp" #include "device/device_queue.hpp" #include "shell_to_task.hpp" namespace GauXC { -void increment_exc_grad_lda( size_t nshell, ShellToTaskDevice* shell_to_task, +void increment_exc_grad_lda( integrator_ks_scheme ks_scheme, size_t nshell, ShellToTaskDevice* shell_to_task, XCDeviceTask* device_tasks, double* EXC_GRAD, device_queue ); -void increment_exc_grad_gga( size_t nshell, ShellToTaskDevice* shell_to_task, +void increment_exc_grad_gga( integrator_ks_scheme ks_scheme, size_t nshell, ShellToTaskDevice* shell_to_task, XCDeviceTask* device_tasks, double* EXC_GRAD, device_queue ); -void increment_exc_grad_mgga( size_t nshell, bool need_lapl, ShellToTaskDevice* shell_to_task, +void increment_exc_grad_mgga( integrator_ks_scheme ks_scheme, size_t nshell, bool need_lapl, ShellToTaskDevice* shell_to_task, XCDeviceTask* device_tasks, double* EXC_GRAD, device_queue ); } diff --git a/src/xc_integrator/local_work_driver/device/common/uvvars.hpp b/src/xc_integrator/local_work_driver/device/common/uvvars.hpp index 78ce5324..98281865 100644 --- a/src/xc_integrator/local_work_driver/device/common/uvvars.hpp +++ b/src/xc_integrator/local_work_driver/device/common/uvvars.hpp @@ -15,15 +15,17 @@ namespace GauXC { void eval_uvars_lda( size_t ntasks, int32_t npts_max, integrator_ks_scheme ks_scheme, XCDeviceTask* device_tasks, device_queue queue ); - void eval_uvars_gga( size_t ntasks, int32_t npts_max, integrator_ks_scheme ks_scheme, XCDeviceTask* device_tasks, device_queue queue ); +void eval_uvars_mgga( size_t ntasks, int32_t npts_max, integrator_ks_scheme ks_scheme, + bool need_lapl, XCDeviceTask* device_tasks, device_queue queue ); -void eval_uvars_mgga( size_t ntasks, size_t npts_total, int32_t nbf_max, - int32_t npts_max, bool do_lapl, XCDeviceTask* device_tasks, - device_queue queue ); -void eval_vvar( size_t ntasks, int32_t nbf_max, int32_t npts_max, bool do_grad, density_id den_select, +void eval_vvars_lda( size_t ntasks, int32_t nbf_max, int32_t npts_max, density_id den_select, + XCDeviceTask* device_tasks, device_queue queue ); +void eval_vvars_gga( size_t ntasks, int32_t nbf_max, int32_t npts_max, density_id den_select, XCDeviceTask* device_tasks, device_queue queue ); +void eval_vvars_mgga( size_t ntasks, int32_t nbf_max, int32_t npts_max, density_id den_select, + bool need_lapl, XCDeviceTask* device_tasks, device_queue queue ); } diff --git a/src/xc_integrator/local_work_driver/device/common/zmat_vxc.hpp b/src/xc_integrator/local_work_driver/device/common/zmat_vxc.hpp index 514b6d38..5f68747a 100644 --- a/src/xc_integrator/local_work_driver/device/common/zmat_vxc.hpp +++ b/src/xc_integrator/local_work_driver/device/common/zmat_vxc.hpp @@ -32,6 +32,8 @@ void zmat_mgga_vxc( size_t ntasks, int32_t max_npts, XCDeviceTask* tasks_device, bool do_lapl, + integrator_ks_scheme s, + density_id sel, device_queue queue ); void mmat_mgga_vxc( size_t ntasks, @@ -39,5 +41,7 @@ void mmat_mgga_vxc( size_t ntasks, int32_t max_npts, XCDeviceTask* tasks_device, bool do_lapl, + integrator_ks_scheme s, + density_id sel, device_queue queue ); } diff --git a/src/xc_integrator/local_work_driver/device/cuda/cuda_aos_scheme1_weights.cu b/src/xc_integrator/local_work_driver/device/cuda/cuda_aos_scheme1_weights.cu index 7e74225c..35fe08bc 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/cuda_aos_scheme1_weights.cu +++ b/src/xc_integrator/local_work_driver/device/cuda/cuda_aos_scheme1_weights.cu @@ -33,7 +33,7 @@ void cuda_aos_scheme1_weights_wrapper( int32_t npts, int32_t natoms, compute_grid_to_center_dist( npts, natoms, coords, points_x, points_y, points_z, dist, lddist, stream ); -#if 1 +#if 0 // Get the number of SM's on the device int num_sm; int dev_id = 0; @@ -49,7 +49,7 @@ void cuda_aos_scheme1_weights_wrapper( int32_t npts, int32_t natoms, weights ); #else - partition_weights_ssf_1d( npts, natoms, RAB, natoms, coords, dist, lddist, + partition_weights_ssf_1d( npts, natoms, RAB, ldRAB, coords, dist, lddist, iparent, dist_nearest, weights, stream ); #endif diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/cuda_ssf_1d.cu b/src/xc_integrator/local_work_driver/device/cuda/kernels/cuda_ssf_1d.cu index 6c538eba..caa336eb 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/cuda_ssf_1d.cu +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/cuda_ssf_1d.cu @@ -33,22 +33,23 @@ __global__ void modify_weights_ssf_kernel_1d( // Frisch partition functions auto gFrisch = [](double x) { - const double s_x = x / integrator::magic_ssf_factor<>; + const double s_x = x * 1.5625; // / integrator::magic_ssf_factor<>; const double s_x2 = s_x * s_x; const double s_x3 = s_x * s_x2; const double s_x5 = s_x3 * s_x2; const double s_x7 = s_x5 * s_x2; - return (35.*(s_x - s_x3) + 21.*s_x5 - 5.*s_x7) / 16.; + //return (35.*(s_x - s_x3) + 21.*s_x5 - 5.*s_x7) / 16.; + return ((35.)*(s_x - s_x3) + (21.)*s_x5 - (5.)*s_x7); }; auto sFrisch = [&] (double x) { - if( fabs(x) < integrator::magic_ssf_factor<> ) return 0.5 * (1. - gFrisch(x)); + if( fabs(x) < integrator::magic_ssf_factor<> ) return (0.5 - (0.5/16.) * gFrisch(x)); else if( x >= integrator::magic_ssf_factor<> ) return 0.; else return 1.; }; - constexpr double weight_tol = 1e-10; + constexpr double weight_tol = integrator::ssf_weight_tol; const int tid_x = threadIdx.x + blockIdx.x * blockDim.x; const int nt_x = blockDim.x * gridDim.x; @@ -100,7 +101,7 @@ __global__ void modify_weights_ssf_kernel_1d( const double ri = local_dist_scratch[ iCenter ]; - const double* const local_rab = RAB + iCenter * natoms; + const double* const local_rab = RAB + iCenter * ldRAB; double ps = 1.; for( int jCenter = 0; jCenter < natoms; jCenter++ ) diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/cuda_ssf_2d.hu b/src/xc_integrator/local_work_driver/device/cuda/kernels/cuda_ssf_2d.hu index 36f439ee..e19668cd 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/cuda_ssf_2d.hu +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/cuda_ssf_2d.hu @@ -48,7 +48,7 @@ void modify_weights_ssf_kernel_2d( int32_t npts, int32_t natoms, //constexpr uint32_t warps_per_thread_block = weight_thread_block / cuda::warp_size; static_assert( weight_unroll == 4 ); - constexpr double weight_tol = 1e-10; + constexpr double weight_tol = integrator::ssf_weight_tol; int natom_block = ((natoms + blockDim.x - 1) / blockDim.x) * blockDim.x; const int tid_x = threadIdx.y + blockIdx.y * blockDim.y; @@ -87,6 +87,7 @@ void modify_weights_ssf_kernel_2d( int32_t npts, int32_t natoms, contribution = sFrisch( mu ); } contribution = cuda::warp_reduce_prod(contribution); + contribution = __shfl_sync(0xFFFFFFFF, contribution, 0); parent_weight *= contribution; diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/increment_exc_grad.cu b/src/xc_integrator/local_work_driver/device/cuda/kernels/increment_exc_grad.cu index 10edbe7f..a5929833 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/increment_exc_grad.cu +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/increment_exc_grad.cu @@ -13,7 +13,7 @@ namespace GauXC { -__global__ __launch_bounds__(1024,1) void increment_exc_grad_lda_kernel( +__global__ __launch_bounds__(1024,1) void increment_exc_grad_lda_rks_kernel( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks, @@ -83,7 +83,87 @@ __global__ __launch_bounds__(1024,1) void increment_exc_grad_lda_kernel( } -void increment_exc_grad_lda( size_t nshell, ShellToTaskDevice* shell_to_task, +__global__ __launch_bounds__(1024,1) void increment_exc_grad_lda_uks_kernel( + uint32_t nshell, + ShellToTaskDevice* __restrict__ shell_to_task, + XCDeviceTask* __restrict__ device_tasks, + double* __restrict__ EXC_GRAD +) { + + for( uint32_t ish = blockIdx.z; ish < nshell; ish += gridDim.z ) { + const uint32_t ntasks = shell_to_task[ish].ntask; + const auto shell = shell_to_task[ish].shell_device; + const auto task_idx = shell_to_task[ish].task_idx_device; + const auto task_shell_offs = shell_to_task[ish].task_shell_offs_device; + const uint32_t shsz = shell->size(); + + const int global_warp_id = + (threadIdx.x + blockIdx.x*blockDim.x) / cuda::warp_size; + const int nwarp_global = max((blockDim.x*gridDim.x) / cuda::warp_size,1); + + double g_acc_x(0), g_acc_y(0), g_acc_z(0); + for( uint32_t itask = global_warp_id; itask < ntasks; itask += nwarp_global ) { + + const auto* task = device_tasks + task_idx[itask]; + const uint32_t npts = task->npts; + const size_t shoff = task_shell_offs[itask] * npts; + + const auto* __restrict__ basis_x_eval = task->dbfx + shoff; + const auto* __restrict__ basis_y_eval = task->dbfy + shoff; + const auto* __restrict__ basis_z_eval = task->dbfz + shoff; + + const auto* __restrict__ xmatS = task->xmatS + shoff; + const auto* __restrict__ xmatZ = task->xmatZ + shoff; + const auto* __restrict__ vrhop = task->vrho_pos; + const auto* __restrict__ vrhom = task->vrho_neg; + + #pragma unroll 1 + for( uint32_t ipt = threadIdx.x % cuda::warp_size; + ipt < npts; + ipt += cuda::warp_size ) { + + const double vrhop_i = vrhop[ipt]; + const double vrhom_i = vrhom[ipt]; + + const auto vrhoS_i = 0.5 * (vrhop_i + vrhom_i); + const auto vrhoZ_i = 0.5 * (vrhop_i - vrhom_i); + for( uint32_t ibf = 0; ibf < shsz; ++ibf ) { + const double zS_mu_i = vrhoS_i * xmatS[ipt + ibf*npts]; + const double zZ_mu_i = vrhoZ_i * xmatZ[ipt + ibf*npts]; + const double dbfx_mu_i = basis_x_eval[ipt + ibf*npts]; + const double dbfy_mu_i = basis_y_eval[ipt + ibf*npts]; + const double dbfz_mu_i = basis_z_eval[ipt + ibf*npts]; + + g_acc_x += zS_mu_i * dbfx_mu_i; + g_acc_y += zS_mu_i * dbfy_mu_i; + g_acc_z += zS_mu_i * dbfz_mu_i; + g_acc_x += zZ_mu_i * dbfx_mu_i; + g_acc_y += zZ_mu_i * dbfy_mu_i; + g_acc_z += zZ_mu_i * dbfz_mu_i; + } // Loop over bfns within a shell + + } // Loop over points + + } // Loop over tasks assigned to shell + + constexpr auto warp_size = cuda::warp_size; + g_acc_x = -2. * cuda::warp_reduce_sum( g_acc_x ); + g_acc_y = -2. * cuda::warp_reduce_sum( g_acc_y ); + g_acc_z = -2. * cuda::warp_reduce_sum( g_acc_z ); + + if( (threadIdx.x % cuda::warp_size) == 0 ) { + const int iCen = shell_to_task[ish].center_idx; + + atomicAdd( EXC_GRAD + 3*iCen + 0, g_acc_x ); + atomicAdd( EXC_GRAD + 3*iCen + 1, g_acc_y ); + atomicAdd( EXC_GRAD + 3*iCen + 2, g_acc_z ); + } + + } // Loop over shells + +} + +void increment_exc_grad_lda( integrator_ks_scheme ks_scheme, size_t nshell, ShellToTaskDevice* shell_to_task, XCDeviceTask* device_tasks, double* EXC_GRAD, device_queue queue ) { cudaStream_t stream = queue.queue_as(); @@ -98,9 +178,19 @@ void increment_exc_grad_lda( size_t nshell, ShellToTaskDevice* shell_to_task, dim3 threads(1024), blocks(1,1,nshell); #endif - increment_exc_grad_lda_kernel<<>>( - nshell, shell_to_task, device_tasks, EXC_GRAD - ); + switch(ks_scheme) { + case RKS: + increment_exc_grad_lda_rks_kernel<<>>( + nshell, shell_to_task, device_tasks, EXC_GRAD + ); + break; + case UKS: + increment_exc_grad_lda_uks_kernel<<>>( + nshell, shell_to_task, device_tasks, EXC_GRAD + ); + break; + default: GAUXC_GENERIC_EXCEPTION("LDA EXC GRAD + GKS NYI"); + } } @@ -121,7 +211,7 @@ void increment_exc_grad_lda( size_t nshell, ShellToTaskDevice* shell_to_task, -__global__ __launch_bounds__(512,1) void increment_exc_grad_gga_kernel( +__global__ __launch_bounds__(512,1) void increment_exc_grad_gga_rks_kernel( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks, @@ -234,15 +324,185 @@ __global__ __launch_bounds__(512,1) void increment_exc_grad_gga_kernel( } -void increment_exc_grad_gga( size_t nshell, ShellToTaskDevice* shell_to_task, +__global__ __launch_bounds__(512,1) void increment_exc_grad_gga_uks_kernel( + uint32_t nshell, + ShellToTaskDevice* __restrict__ shell_to_task, + XCDeviceTask* __restrict__ device_tasks, + double* __restrict__ EXC_GRAD +) { + + for( uint32_t ish = blockIdx.z; ish < nshell; ish += gridDim.z ) { + const uint32_t ntasks = shell_to_task[ish].ntask; + const auto shell = shell_to_task[ish].shell_device; + const auto task_idx = shell_to_task[ish].task_idx_device; + const auto task_shell_offs = shell_to_task[ish].task_shell_offs_device; + const uint32_t shsz = shell->size(); + + const int global_warp_id = + (threadIdx.x + blockIdx.x*blockDim.x) / cuda::warp_size; + const int nwarp_global = max((blockDim.x*gridDim.x) / cuda::warp_size,1); + + double g_acc_x(0), g_acc_y(0), g_acc_z(0); + for( uint32_t itask = global_warp_id; itask < ntasks; itask += nwarp_global ) { + + const auto* task = device_tasks + task_idx[itask]; + const uint32_t npts = task->npts; + const size_t shoff = task_shell_offs[itask] * npts; + + const auto* __restrict__ basis_x_eval = task->dbfx + shoff; + const auto* __restrict__ basis_y_eval = task->dbfy + shoff; + const auto* __restrict__ basis_z_eval = task->dbfz + shoff; + + const auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; + const auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; + const auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; + const auto* __restrict__ basis_yy_eval = task->d2bfyy + shoff; + const auto* __restrict__ basis_yz_eval = task->d2bfyz + shoff; + const auto* __restrict__ basis_zz_eval = task->d2bfzz + shoff; + + const auto* __restrict__ xmatS = task->xmatS + shoff; + const auto* __restrict__ xmatS_x = task->xmatS_x + shoff; + const auto* __restrict__ xmatS_y = task->xmatS_y + shoff; + const auto* __restrict__ xmatS_z = task->xmatS_z + shoff; + + const auto* __restrict__ xmatZ = task->xmatZ + shoff; + const auto* __restrict__ xmatZ_x = task->xmatZ_x + shoff; + const auto* __restrict__ xmatZ_y = task->xmatZ_y + shoff; + const auto* __restrict__ xmatZ_z = task->xmatZ_z + shoff; + + const auto* __restrict__ vrhop = task->vrho_pos; + const auto* __restrict__ vrhom = task->vrho_neg; + + const auto* __restrict__ vgamma_pp = task->vgamma_pp; + const auto* __restrict__ vgamma_pm = task->vgamma_pm; + const auto* __restrict__ vgamma_mm = task->vgamma_mm; + + const auto* __restrict__ dens_x = task->dden_sx; + const auto* __restrict__ dens_y = task->dden_sy; + const auto* __restrict__ dens_z = task->dden_sz; + + const auto* __restrict__ denz_x = task->dden_zx; + const auto* __restrict__ denz_y = task->dden_zy; + const auto* __restrict__ denz_z = task->dden_zz; + + #pragma unroll 1 + for( uint32_t ipt = threadIdx.x % cuda::warp_size; + ipt < npts; + ipt += cuda::warp_size ) { + + const double vrhop_i = vrhop[ipt]; + const double vrhom_i = vrhom[ipt]; + const double vrhoS_i = 0.5 * (vrhop_i + vrhom_i); + const double vrhoZ_i = 0.5 * (vrhop_i - vrhom_i); + + const double vgammapp_i = vgamma_pp[ipt]; + const double vgammapm_i = vgamma_pm[ipt]; + const double vgammamm_i = vgamma_mm[ipt]; + + const double denSx_i = dens_x[ipt]; + const double denSy_i = dens_y[ipt]; + const double denSz_i = dens_z[ipt]; + const double denZx_i = denz_x[ipt]; + const double denZy_i = denz_y[ipt]; + const double denZz_i = denz_z[ipt]; + + for( uint32_t ibf = 0; ibf < shsz; ++ibf ) { + const double xN = xmatS[ipt + ibf*npts]; + const double xZ = xmatZ[ipt + ibf*npts]; + const double dbfx_mu_i = basis_x_eval[ipt + ibf*npts]; + const double dbfy_mu_i = basis_y_eval[ipt + ibf*npts]; + const double dbfz_mu_i = basis_z_eval[ipt + ibf*npts]; + + g_acc_x += vrhoS_i * xN * dbfx_mu_i; + g_acc_y += vrhoS_i * xN * dbfy_mu_i; + g_acc_z += vrhoS_i * xN * dbfz_mu_i; + g_acc_x += vrhoZ_i * xZ * dbfx_mu_i; + g_acc_y += vrhoZ_i * xZ * dbfy_mu_i; + g_acc_z += vrhoZ_i * xZ * dbfz_mu_i; + + const double xNx = xmatS_x[ipt + ibf*npts]; + const double xNy = xmatS_y[ipt + ibf*npts]; + const double xNz = xmatS_z[ipt + ibf*npts]; + const double xZx = xmatZ_x[ipt + ibf*npts]; + const double xZy = xmatZ_y[ipt + ibf*npts]; + const double xZz = xmatZ_z[ipt + ibf*npts]; + + const double d11nn_xmat_term = denSx_i * xNx + denSy_i * xNy + denSz_i * xNz; + const double d11nz_xmat_term = denSx_i * xZx + denSy_i * xZy + denSz_i * xZz; + const double d11zn_xmat_term = denZx_i * xNx + denZy_i * xNy + denZz_i * xNz; + const double d11zz_xmat_term = denZx_i * xZx + denZy_i * xZy + denZz_i * xZz; + + const double d2bfxx = basis_xx_eval[ipt + ibf*npts]; + const double d2bfxy = basis_xy_eval[ipt + ibf*npts]; + const double d2bfxz = basis_xz_eval[ipt + ibf*npts]; + const double d2bfyy = basis_yy_eval[ipt + ibf*npts]; + const double d2bfyz = basis_yz_eval[ipt + ibf*npts]; + const double d2bfzz = basis_zz_eval[ipt + ibf*npts]; + + const double d2n_term_x = d2bfxx*denSx_i + d2bfxy*denSy_i + d2bfxz*denSz_i; + const double d2n_term_y = d2bfxy*denSx_i + d2bfyy*denSy_i + d2bfyz*denSz_i; + const double d2n_term_z = d2bfxz*denSx_i + d2bfyz*denSy_i + d2bfzz*denSz_i; + const double d2z_term_x = d2bfxx*denZx_i + d2bfxy*denZy_i + d2bfxz*denZz_i; + const double d2z_term_y = d2bfxy*denZx_i + d2bfyy*denZy_i + d2bfyz*denZz_i; + const double d2z_term_z = d2bfxz*denZx_i + d2bfyz*denZy_i + d2bfzz*denZz_i; + + g_acc_x += 0.5 * (vgammapp_i + vgammapm_i + vgammamm_i) * (d2n_term_x * xN + d11nn_xmat_term * dbfx_mu_i); + g_acc_x += 0.5 * (vgammapp_i - vgammamm_i) * (d2z_term_x * xN + d11zn_xmat_term * dbfx_mu_i); + g_acc_x += 0.5 * (vgammapp_i - vgammamm_i) * (d2n_term_x * xZ + d11nz_xmat_term * dbfx_mu_i); + g_acc_x += 0.5 * (vgammapp_i - vgammapm_i + vgammamm_i) * (d2z_term_x * xZ + d11zz_xmat_term * dbfx_mu_i); + + g_acc_y += 0.5 * (vgammapp_i + vgammapm_i + vgammamm_i) * (d2n_term_y * xN + d11nn_xmat_term * dbfy_mu_i); + g_acc_y += 0.5 * (vgammapp_i - vgammamm_i) * (d2z_term_y * xN + d11zn_xmat_term * dbfy_mu_i); + g_acc_y += 0.5 * (vgammapp_i - vgammamm_i) * (d2n_term_y * xZ + d11nz_xmat_term * dbfy_mu_i); + g_acc_y += 0.5 * (vgammapp_i - vgammapm_i + vgammamm_i) * (d2z_term_y * xZ + d11zz_xmat_term * dbfy_mu_i); + + g_acc_z += 0.5 * (vgammapp_i + vgammapm_i + vgammamm_i) * (d2n_term_z * xN + d11nn_xmat_term * dbfz_mu_i); + g_acc_z += 0.5 * (vgammapp_i - vgammamm_i) * (d2z_term_z * xN + d11zn_xmat_term * dbfz_mu_i); + g_acc_z += 0.5 * (vgammapp_i - vgammamm_i) * (d2n_term_z * xZ + d11nz_xmat_term * dbfz_mu_i); + g_acc_z += 0.5 * (vgammapp_i - vgammapm_i + vgammamm_i) * (d2z_term_z * xZ + d11zz_xmat_term * dbfz_mu_i); + + }// Loop over bfns within a shell + + } // Loop over points + + } // Loop over tasks assigned to shell + + constexpr auto warp_size = cuda::warp_size; + g_acc_x = -2. * cuda::warp_reduce_sum( g_acc_x ); + g_acc_y = -2. * cuda::warp_reduce_sum( g_acc_y ); + g_acc_z = -2. * cuda::warp_reduce_sum( g_acc_z ); + + if( (threadIdx.x % cuda::warp_size) == 0 ) { + const int iCen = shell_to_task[ish].center_idx; + + atomicAdd( EXC_GRAD + 3*iCen + 0, g_acc_x ); + atomicAdd( EXC_GRAD + 3*iCen + 1, g_acc_y ); + atomicAdd( EXC_GRAD + 3*iCen + 2, g_acc_z ); + } + + } // Loop over shells + +} + +void increment_exc_grad_gga( integrator_ks_scheme ks_scheme, size_t nshell, ShellToTaskDevice* shell_to_task, XCDeviceTask* device_tasks, double* EXC_GRAD, device_queue queue ) { cudaStream_t stream = queue.queue_as(); dim3 threads(512), blocks(1,1,nshell); - increment_exc_grad_gga_kernel<<>>( - nshell, shell_to_task, device_tasks, EXC_GRAD - ); + switch(ks_scheme) { + case RKS: + increment_exc_grad_gga_rks_kernel<<>>( + nshell, shell_to_task, device_tasks, EXC_GRAD + ); + break; + case UKS: + increment_exc_grad_gga_uks_kernel<<>>( + nshell, shell_to_task, device_tasks, EXC_GRAD + ); + break; + default: GAUXC_GENERIC_EXCEPTION("GGA EXC GRAD + GKS NYI"); + } } @@ -250,7 +510,7 @@ void increment_exc_grad_gga( size_t nshell, ShellToTaskDevice* shell_to_task, -__global__ __launch_bounds__(512,1) void increment_exc_grad_mgga_kernel( +__global__ __launch_bounds__(512,1) void increment_exc_grad_mgga_rks_kernel( uint32_t nshell, ShellToTaskDevice* __restrict__ shell_to_task, XCDeviceTask* __restrict__ device_tasks, @@ -378,7 +638,191 @@ __global__ __launch_bounds__(512,1) void increment_exc_grad_mgga_kernel( } -void increment_exc_grad_mgga( size_t nshell, bool need_lapl, +__global__ __launch_bounds__(512,1) void increment_exc_grad_mgga_uks_kernel( + uint32_t nshell, + ShellToTaskDevice* __restrict__ shell_to_task, + XCDeviceTask* __restrict__ device_tasks, + double* __restrict__ EXC_GRAD +) { + + for( uint32_t ish = blockIdx.z; ish < nshell; ish += gridDim.z ) { + const uint32_t ntasks = shell_to_task[ish].ntask; + const auto shell = shell_to_task[ish].shell_device; + const auto task_idx = shell_to_task[ish].task_idx_device; + const auto task_shell_offs = shell_to_task[ish].task_shell_offs_device; + const uint32_t shsz = shell->size(); + + const int global_warp_id = + (threadIdx.x + blockIdx.x*blockDim.x) / cuda::warp_size; + const int nwarp_global = max((blockDim.x*gridDim.x) / cuda::warp_size,1); + + double g_acc_x(0), g_acc_y(0), g_acc_z(0); + for( uint32_t itask = global_warp_id; itask < ntasks; itask += nwarp_global ) { + + const auto* task = device_tasks + task_idx[itask]; + const uint32_t npts = task->npts; + const size_t shoff = task_shell_offs[itask] * npts; + + const auto* __restrict__ basis_x_eval = task->dbfx + shoff; + const auto* __restrict__ basis_y_eval = task->dbfy + shoff; + const auto* __restrict__ basis_z_eval = task->dbfz + shoff; + + const auto* __restrict__ basis_xx_eval = task->d2bfxx + shoff; + const auto* __restrict__ basis_xy_eval = task->d2bfxy + shoff; + const auto* __restrict__ basis_xz_eval = task->d2bfxz + shoff; + const auto* __restrict__ basis_yy_eval = task->d2bfyy + shoff; + const auto* __restrict__ basis_yz_eval = task->d2bfyz + shoff; + const auto* __restrict__ basis_zz_eval = task->d2bfzz + shoff; + + const auto* __restrict__ xmatS = task->xmatS + shoff; + const auto* __restrict__ xmatS_x = task->xmatS_x + shoff; + const auto* __restrict__ xmatS_y = task->xmatS_y + shoff; + const auto* __restrict__ xmatS_z = task->xmatS_z + shoff; + + const auto* __restrict__ xmatZ = task->xmatZ + shoff; + const auto* __restrict__ xmatZ_x = task->xmatZ_x + shoff; + const auto* __restrict__ xmatZ_y = task->xmatZ_y + shoff; + const auto* __restrict__ xmatZ_z = task->xmatZ_z + shoff; + + const auto* __restrict__ vrhop = task->vrho_pos; + const auto* __restrict__ vrhom = task->vrho_neg; + const auto* __restrict__ vtaup = task->vtau_pos; + const auto* __restrict__ vtaum = task->vtau_neg; + + const auto* __restrict__ vgamma_pp = task->vgamma_pp; + const auto* __restrict__ vgamma_pm = task->vgamma_pm; + const auto* __restrict__ vgamma_mm = task->vgamma_mm; + + const auto* __restrict__ dens_x = task->dden_sx; + const auto* __restrict__ dens_y = task->dden_sy; + const auto* __restrict__ dens_z = task->dden_sz; + + const auto* __restrict__ denz_x = task->dden_zx; + const auto* __restrict__ denz_y = task->dden_zy; + const auto* __restrict__ denz_z = task->dden_zz; + + #pragma unroll 1 + for( uint32_t ipt = threadIdx.x % cuda::warp_size; + ipt < npts; + ipt += cuda::warp_size ) { + + const double vrhop_i = vrhop[ipt]; + const double vrhom_i = vrhom[ipt]; + const double vrhoS_i = 0.5 * (vrhop_i + vrhom_i); + const double vrhoZ_i = 0.5 * (vrhop_i - vrhom_i); + + const double vtaup_i = 0.5 * vtaup[ipt]; + const double vtaum_i = 0.5 * vtaum[ipt]; + const double vtauS_i = 0.5 * (vtaup_i + vtaum_i); + const double vtauZ_i = 0.5 * (vtaup_i - vtaum_i); + + const double vgammapp_i = vgamma_pp[ipt]; + const double vgammapm_i = vgamma_pm[ipt]; + const double vgammamm_i = vgamma_mm[ipt]; + + const double denSx_i = dens_x[ipt]; + const double denSy_i = dens_y[ipt]; + const double denSz_i = dens_z[ipt]; + const double denZx_i = denz_x[ipt]; + const double denZy_i = denz_y[ipt]; + const double denZz_i = denz_z[ipt]; + + for( uint32_t ibf = 0; ibf < shsz; ++ibf ) { + const double xN = xmatS[ipt + ibf*npts]; + const double xZ = xmatZ[ipt + ibf*npts]; + const double dbfx_mu_i = basis_x_eval[ipt + ibf*npts]; + const double dbfy_mu_i = basis_y_eval[ipt + ibf*npts]; + const double dbfz_mu_i = basis_z_eval[ipt + ibf*npts]; + + g_acc_x += vrhoS_i * xN * dbfx_mu_i; + g_acc_y += vrhoS_i * xN * dbfy_mu_i; + g_acc_z += vrhoS_i * xN * dbfz_mu_i; + g_acc_x += vrhoZ_i * xZ * dbfx_mu_i; + g_acc_y += vrhoZ_i * xZ * dbfy_mu_i; + g_acc_z += vrhoZ_i * xZ * dbfz_mu_i; + + const double xNx = xmatS_x[ipt + ibf*npts]; + const double xNy = xmatS_y[ipt + ibf*npts]; + const double xNz = xmatS_z[ipt + ibf*npts]; + const double xZx = xmatZ_x[ipt + ibf*npts]; + const double xZy = xmatZ_y[ipt + ibf*npts]; + const double xZz = xmatZ_z[ipt + ibf*npts]; + + const double d11nn_xmat_term = denSx_i * xNx + denSy_i * xNy + denSz_i * xNz; + const double d11nz_xmat_term = denSx_i * xZx + denSy_i * xZy + denSz_i * xZz; + const double d11zn_xmat_term = denZx_i * xNx + denZy_i * xNy + denZz_i * xNz; + const double d11zz_xmat_term = denZx_i * xZx + denZy_i * xZy + denZz_i * xZz; + + const double d2bfxx = basis_xx_eval[ipt + ibf*npts]; + const double d2bfxy = basis_xy_eval[ipt + ibf*npts]; + const double d2bfxz = basis_xz_eval[ipt + ibf*npts]; + const double d2bfyy = basis_yy_eval[ipt + ibf*npts]; + const double d2bfyz = basis_yz_eval[ipt + ibf*npts]; + const double d2bfzz = basis_zz_eval[ipt + ibf*npts]; + + { + const double d2n_term_x = d2bfxx*denSx_i + d2bfxy*denSy_i + d2bfxz*denSz_i; + const double d2n_term_y = d2bfxy*denSx_i + d2bfyy*denSy_i + d2bfyz*denSz_i; + const double d2n_term_z = d2bfxz*denSx_i + d2bfyz*denSy_i + d2bfzz*denSz_i; + const double d2z_term_x = d2bfxx*denZx_i + d2bfxy*denZy_i + d2bfxz*denZz_i; + const double d2z_term_y = d2bfxy*denZx_i + d2bfyy*denZy_i + d2bfyz*denZz_i; + const double d2z_term_z = d2bfxz*denZx_i + d2bfyz*denZy_i + d2bfzz*denZz_i; + + g_acc_x += 0.5 * (vgammapp_i + vgammapm_i + vgammamm_i) * (d2n_term_x * xN + d11nn_xmat_term * dbfx_mu_i); + g_acc_x += 0.5 * (vgammapp_i - vgammamm_i) * (d2z_term_x * xN + d11zn_xmat_term * dbfx_mu_i); + g_acc_x += 0.5 * (vgammapp_i - vgammamm_i) * (d2n_term_x * xZ + d11nz_xmat_term * dbfx_mu_i); + g_acc_x += 0.5 * (vgammapp_i - vgammapm_i + vgammamm_i) * (d2z_term_x * xZ + d11zz_xmat_term * dbfx_mu_i); + + g_acc_y += 0.5 * (vgammapp_i + vgammapm_i + vgammamm_i) * (d2n_term_y * xN + d11nn_xmat_term * dbfy_mu_i); + g_acc_y += 0.5 * (vgammapp_i - vgammamm_i) * (d2z_term_y * xN + d11zn_xmat_term * dbfy_mu_i); + g_acc_y += 0.5 * (vgammapp_i - vgammamm_i) * (d2n_term_y * xZ + d11nz_xmat_term * dbfy_mu_i); + g_acc_y += 0.5 * (vgammapp_i - vgammapm_i + vgammamm_i) * (d2z_term_y * xZ + d11zz_xmat_term * dbfy_mu_i); + + g_acc_z += 0.5 * (vgammapp_i + vgammapm_i + vgammamm_i) * (d2n_term_z * xN + d11nn_xmat_term * dbfz_mu_i); + g_acc_z += 0.5 * (vgammapp_i - vgammamm_i) * (d2z_term_z * xN + d11zn_xmat_term * dbfz_mu_i); + g_acc_z += 0.5 * (vgammapp_i - vgammamm_i) * (d2n_term_z * xZ + d11nz_xmat_term * dbfz_mu_i); + g_acc_z += 0.5 * (vgammapp_i - vgammapm_i + vgammamm_i) * (d2z_term_z * xZ + d11zz_xmat_term * dbfz_mu_i); + } + + { + const double d2n_term_x = d2bfxx*xNx + d2bfxy*xNy + d2bfxz*xNz; + const double d2n_term_y = d2bfxy*xNx + d2bfyy*xNy + d2bfyz*xNz; + const double d2n_term_z = d2bfxz*xNx + d2bfyz*xNy + d2bfzz*xNz; + const double d2z_term_x = d2bfxx*xZx + d2bfxy*xZy + d2bfxz*xZz; + const double d2z_term_y = d2bfxy*xZx + d2bfyy*xZy + d2bfyz*xZz; + const double d2z_term_z = d2bfxz*xZx + d2bfyz*xZy + d2bfzz*xZz; + g_acc_x += vtauS_i * d2n_term_x; + g_acc_y += vtauS_i * d2n_term_y; + g_acc_z += vtauS_i * d2n_term_z; + + g_acc_x += vtauZ_i * d2z_term_x; + g_acc_y += vtauZ_i * d2z_term_y; + g_acc_z += vtauZ_i * d2z_term_z; + } + }// Loop over bfns within a shell + + } // Loop over points + + } // Loop over tasks assigned to shell + + constexpr auto warp_size = cuda::warp_size; + g_acc_x = -2. * cuda::warp_reduce_sum( g_acc_x ); + g_acc_y = -2. * cuda::warp_reduce_sum( g_acc_y ); + g_acc_z = -2. * cuda::warp_reduce_sum( g_acc_z ); + + if( (threadIdx.x % cuda::warp_size) == 0 ) { + const int iCen = shell_to_task[ish].center_idx; + + atomicAdd( EXC_GRAD + 3*iCen + 0, g_acc_x ); + atomicAdd( EXC_GRAD + 3*iCen + 1, g_acc_y ); + atomicAdd( EXC_GRAD + 3*iCen + 2, g_acc_z ); + } + + } // Loop over shells + +} + +void increment_exc_grad_mgga( integrator_ks_scheme ks_scheme, size_t nshell, bool need_lapl, ShellToTaskDevice* shell_to_task, XCDeviceTask* device_tasks, double* EXC_GRAD, device_queue queue ) { @@ -387,9 +831,19 @@ void increment_exc_grad_mgga( size_t nshell, bool need_lapl, cudaStream_t stream = queue.queue_as(); dim3 threads(512), blocks(1,1,nshell); - increment_exc_grad_mgga_kernel<<>>( - nshell, shell_to_task, device_tasks, EXC_GRAD - ); + switch(ks_scheme) { + case RKS: + increment_exc_grad_mgga_rks_kernel<<>>( + nshell, shell_to_task, device_tasks, EXC_GRAD + ); + break; + case UKS: + increment_exc_grad_mgga_uks_kernel<<>>( + nshell, shell_to_task, device_tasks, EXC_GRAD + ); + break; + default: GAUXC_GENERIC_EXCEPTION("GGA EXC GRAD + GKS NYI"); + } } } diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/uvvars.cu b/src/xc_integrator/local_work_driver/device/cuda/kernels/uvvars.cu index 6aea5225..30559efb 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/uvvars.cu +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/uvvars.cu @@ -7,416 +7,16 @@ */ #include "device/common/uvvars.hpp" #include "cuda_extensions.hpp" -#include "device_specific/cuda_device_constants.hpp" #include -#include "device_specific/cuda_util.hpp" -#include "device/xc_device_data.hpp" -namespace GauXC { - -#define VVAR_KERNEL_SM_BLOCK 32 -#define GGA_KERNEL_SM_WARPS 16 -#define MGGA_KERNEL_SM_BLOCK 32 - -__global__ void eval_uvars_lda_rks_kernel( size_t ntasks, XCDeviceTask* tasks_device) { - // eval_vvars populated uvar storage already in the case of LDA+RKS - return; -} - -__global__ void eval_uvars_lda_uks_kernel( size_t ntasks, - XCDeviceTask* tasks_device ) { - - const int batch_idx = blockIdx.z; - if( batch_idx >= ntasks ) return; - - auto& task = tasks_device[ batch_idx ]; - - const auto npts = task.npts; - - auto* den_pos_eval_device = task.den_s; - auto* den_neg_eval_device = task.den_z; - - - const int tid = blockIdx.x * blockDim.x + threadIdx.x; - - - if( tid < npts ) { - const auto ps = den_pos_eval_device[ tid ]; - const auto pz = den_neg_eval_device[ tid ]; - den_pos_eval_device[ tid ] = 0.5*(ps + pz); - den_neg_eval_device[ tid ] = 0.5*(ps - pz); - - } -} - -__global__ void eval_uvars_lda_gks_kernel( size_t ntasks, - XCDeviceTask* tasks_device ) { - - const int batch_idx = blockIdx.z; - if( batch_idx >= ntasks ) return; - - auto& task = tasks_device[ batch_idx ]; - - const auto npts = task.npts; - - auto* den_z_eval_device = task.den_s; - auto* den_s_eval_device = task.den_z; - auto* den_y_eval_device = task.den_y; - auto* den_x_eval_device = task.den_x; - auto* K_z_eval_device = task.K_z; - auto* K_y_eval_device = task.K_y; - auto* K_x_eval_device = task.K_x; - const double dtolsq = 1e-24; // TODO: make variable - - const int tid = blockIdx.x * blockDim.x + threadIdx.x; - - - if( tid < npts ) { - const auto ps = den_s_eval_device[ tid ]; - const auto pz = den_z_eval_device[ tid ]; - const auto py = den_y_eval_device[ tid ]; - const auto px = den_x_eval_device[ tid ]; - const auto mtemp = pz*pz + px*px + py*py; - double mnorm = 0.; - - if (mtemp > dtolsq) { - const double inv_mnorm = rsqrt(mtemp); - mnorm = 1./inv_mnorm; - K_z_eval_device[ tid ] = pz * inv_mnorm; - K_y_eval_device[ tid ] = py * inv_mnorm; - K_x_eval_device[ tid ] = px * inv_mnorm; - } - else { - mnorm = (1. / 3.) * (px + py + pz); - K_z_eval_device[ tid ] = 1. / 3.; - K_y_eval_device[ tid ] = 1. / 3.; - K_x_eval_device[ tid ] = 1. / 3.; - } - - den_s_eval_device[ tid ] = 0.5*(ps + mnorm); - den_z_eval_device[ tid ] = 0.5*(ps - mnorm); - - } -} - - -__global__ void eval_uvars_gga_rks_kernel( size_t ntasks, XCDeviceTask* tasks_device) { - const int batch_idx = blockIdx.z; - if( batch_idx >= ntasks ) return; - - const auto& task = tasks_device[ batch_idx ]; - const auto npts = task.npts; - - const auto* dden_sx_eval_device = task.dden_sx; - const auto* dden_sy_eval_device = task.dden_sy; - const auto* dden_sz_eval_device = task.dden_sz; - auto* gamma_eval_device = task.gamma; - - const int tid = threadIdx.x + blockIdx.x * blockDim.x; - - if( tid < npts ) { - const double dx = dden_sx_eval_device[ tid ]; - const double dy = dden_sy_eval_device[ tid ]; - const double dz = dden_sz_eval_device[ tid ]; - - gamma_eval_device[ tid ] = dx*dx + dy*dy + dz*dz; - - } - -} - -__global__ void eval_uvars_gga_uks_kernel( size_t ntasks, XCDeviceTask* tasks_device) { - - const int batch_idx = blockIdx.z; - if( batch_idx >= ntasks ) return; - - const auto& task = tasks_device[ batch_idx ]; - const auto npts = task.npts; - - auto* den_pos_eval_device = task.den_s; - const auto* den_pos_x_eval_device = task.dden_sx; - const auto* den_pos_y_eval_device = task.dden_sy; - const auto* den_pos_z_eval_device = task.dden_sz; - - auto* den_neg_eval_device = task.den_z; - const auto* den_neg_x_eval_device = task.dden_zx; - const auto* den_neg_y_eval_device = task.dden_zy; - const auto* den_neg_z_eval_device = task.dden_zz; - - auto* gamma_pp_eval_device = task.gamma_pp; - auto* gamma_pm_eval_device = task.gamma_pm; - auto* gamma_mm_eval_device = task.gamma_mm; - - const int tid = blockIdx.x * blockDim.x + threadIdx.x; - - if( tid < npts ) { - const double ps = den_pos_eval_device[ tid ]; - const double pz = den_neg_eval_device[ tid ]; - const double dndx = den_pos_x_eval_device[ tid ]; - const double dndy = den_pos_y_eval_device[ tid ]; - const double dndz = den_pos_z_eval_device[ tid ]; - const double dMzdx = den_neg_x_eval_device[ tid ]; - const double dMzdy = den_neg_y_eval_device[ tid ]; - const double dMzdz = den_neg_z_eval_device[ tid ]; - - // (del n).(del n) - const auto dn_sq = dndx*dndx + dndy*dndy + dndz*dndz; - // (del Mz).(del Mz) - const auto dMz_sq = dMzdx*dMzdx + dMzdy*dMzdy + dMzdz*dMzdz; - // (del n).(del Mz) - const auto dn_dMz = dndx*dMzdx + dndy*dMzdy + dndz*dMzdz; - - gamma_pp_eval_device[ tid ] = 0.25*(dn_sq + dMz_sq) + 0.5*dn_dMz; - gamma_pm_eval_device[ tid ] = 0.25*(dn_sq - dMz_sq); - gamma_mm_eval_device[ tid ] = 0.25*(dn_sq + dMz_sq) - 0.5*dn_dMz; - - den_pos_eval_device[ tid ] = 0.5*(ps + pz); - den_neg_eval_device[ tid ] = 0.5*(ps - pz); - } - -} - -__global__ void eval_uvars_gga_gks_kernel( size_t ntasks, XCDeviceTask* tasks_device) { - - const int batch_idx = blockIdx.z; - if( batch_idx >= ntasks ) return; - - const auto& task = tasks_device[ batch_idx ]; - const auto npts = task.npts; - - auto* den_s_eval_device = task.den_s; - const auto* dden_sx_eval_device = task.dden_sx; - const auto* dden_sy_eval_device = task.dden_sy; - const auto* dden_sz_eval_device = task.dden_sz; - - auto* den_z_eval_device = task.den_z; - const auto* dden_zx_eval_device = task.dden_zx; - const auto* dden_zy_eval_device = task.dden_zy; - const auto* dden_zz_eval_device = task.dden_zz; - - const auto* den_y_eval_device = task.den_y; - const auto* dden_yx_eval_device = task.dden_yx; - const auto* dden_yy_eval_device = task.dden_yy; - const auto* dden_yz_eval_device = task.dden_yz; - - const auto* den_x_eval_device = task.den_x; - const auto* dden_xx_eval_device = task.dden_xx; - const auto* dden_xy_eval_device = task.dden_xy; - const auto* dden_xz_eval_device = task.dden_xz; - - auto* gamma_pp_eval_device = task.gamma_pp; - auto* gamma_pm_eval_device = task.gamma_pm; - auto* gamma_mm_eval_device = task.gamma_mm; - - auto* H_z_eval_device = task.H_z; - auto* H_y_eval_device = task.H_y; - auto* H_x_eval_device = task.H_x; - auto* K_z_eval_device = task.K_z; - auto* K_y_eval_device = task.K_y; - auto* K_x_eval_device = task.K_x; - - const double dtolsq = 1e-24; // TODO: make variable - - const int tid = blockIdx.x * blockDim.x + threadIdx.x; - - if( tid < npts ) { - const double dndz = dden_sz_eval_device[ tid ]; - const double dndy = dden_sy_eval_device[ tid ]; - const double dndx = dden_sx_eval_device[ tid ]; - - const double dMzdz = dden_zz_eval_device[ tid ]; - const double dMzdy = dden_zy_eval_device[ tid ]; - const double dMzdx = dden_zx_eval_device[ tid ]; - - const double dMydz = dden_yz_eval_device[ tid ]; - const double dMydy = dden_yy_eval_device[ tid ]; - const double dMydx = dden_yx_eval_device[ tid ]; - - const double dMxdz = dden_xz_eval_device[ tid ]; - const double dMxdy = dden_xy_eval_device[ tid ]; - const double dMxdx = dden_xx_eval_device[ tid ]; - - const auto ps = den_s_eval_device[ tid ]; - const auto pz = den_z_eval_device[ tid ]; - const auto py = den_y_eval_device[ tid ]; - const auto px = den_x_eval_device[ tid ]; - - const auto mtemp = pz*pz + px*px + py*py; - double mnorm = 0.; - - const auto dels_dot_dels = dndx * dndx + dndy * dndy + dndz * dndz; - const auto delz_dot_delz = dMzdx * dMzdx + dMzdy * dMzdy + dMzdz * dMzdz; - const auto delx_dot_delx = dMxdx * dMxdx + dMxdy * dMxdy + dMxdz * dMxdz; - const auto dely_dot_dely = dMydx * dMydx + dMydy * dMydy + dMydz * dMydz; - - const auto dels_dot_delz = dndx * dMzdx + dndy * dMzdy + dndz * dMzdz; - const auto dels_dot_delx = dndx * dMxdx + dndy * dMxdy + dndz * dMxdz; - const auto dels_dot_dely = dndx * dMydx + dndy * dMydy + dndz * dMydz; - - const auto sum = delz_dot_delz + delx_dot_delx + dely_dot_dely; - const auto s_sum = - dels_dot_delz * pz + dels_dot_delx * px + dels_dot_dely * py; - - const auto inv_sqsum2 = - rsqrt(dels_dot_delz * dels_dot_delz + dels_dot_delx * dels_dot_delx + - dels_dot_dely * dels_dot_dely); - const auto sqsum2 = 1./inv_sqsum2; - - double sign = 1.; - if( signbit(s_sum)) - sign = -1.; - - - if (mtemp > dtolsq) { - const double inv_mnorm = rsqrt(mtemp); - mnorm = 1./inv_mnorm; - K_z_eval_device[ tid ] = pz * inv_mnorm; - K_y_eval_device[ tid ] = py * inv_mnorm; - K_x_eval_device[ tid ] = px * inv_mnorm; - H_z_eval_device[ tid ] = sign * dels_dot_delz * inv_sqsum2; - H_y_eval_device[ tid ] = sign * dels_dot_dely * inv_sqsum2; - H_x_eval_device[ tid ] = sign * dels_dot_delx * inv_sqsum2; - } - else { - mnorm = (1. / 3.) * (px + py + pz); - K_z_eval_device[ tid ] = 1. / 3.; - K_y_eval_device[ tid ] = 1. / 3.; - K_x_eval_device[ tid ] = 1. / 3.; - - H_z_eval_device[ tid ] = sign / 3.; - H_y_eval_device[ tid ] = sign / 3.; - H_x_eval_device[ tid ] = sign / 3.; - } - - gamma_pp_eval_device[ tid ] = 0.25*(dels_dot_dels + sum) + 0.5*sign*sqsum2; - gamma_pm_eval_device[ tid ] = 0.25*(dels_dot_dels - sum); - gamma_mm_eval_device[ tid ] = 0.25*(dels_dot_dels + sum) - 0.5*sign*sqsum2; - - den_s_eval_device[ tid ] = 0.5*(ps + mnorm); - den_z_eval_device[ tid ] = 0.5*(ps - mnorm); - - } - -} - -template -__global__ void eval_uvars_mgga_rks_kernel( size_t ntasks, - XCDeviceTask* tasks_device ) { - - constexpr auto warp_size = cuda::warp_size; - //constexpr auto max_warps_per_thread_block = cuda::max_warps_per_thread_block; - - const int batch_idx = blockIdx.z; - if( batch_idx >= ntasks ) return; - - auto& task = tasks_device[ batch_idx ]; - - const auto npts = task.npts; - const auto nbf = task.bfn_screening.nbe; - - auto* tau_eval_device = task.tau; - decltype(tau_eval_device) lapl_eval_device = nullptr; - if constexpr (need_lapl) { - lapl_eval_device = task.denlapl; - } - - //const auto* basis_eval_device = task.bf; - const auto* dbasis_x_eval_device = task.dbfx; - const auto* dbasis_y_eval_device = task.dbfy; - const auto* dbasis_z_eval_device = task.dbfz; - decltype(dbasis_x_eval_device) basis_lapl_eval_device = nullptr; - if constexpr (need_lapl) { - basis_lapl_eval_device = task.d2bflapl; - } - - //const auto* den_basis_prod_device = task.zmat; - const auto* den_basis_dx_prod_device = task.xmat_x; - const auto* den_basis_dy_prod_device = task.xmat_y; - const auto* den_basis_dz_prod_device = task.xmat_z; - decltype(den_basis_dx_prod_device) den_basis_prod_device = nullptr; - if constexpr (need_lapl) { - den_basis_prod_device = task.zmat; - } - - __shared__ double den_shared[3+!!need_lapl][warp_size][MGGA_KERNEL_SM_BLOCK+1]; - - for ( int bid_x = blockIdx.x * blockDim.x; - bid_x < nbf; - bid_x += blockDim.x * gridDim.x ) { - - for ( int bid_y = blockIdx.y * MGGA_KERNEL_SM_BLOCK; - bid_y < npts; - bid_y += MGGA_KERNEL_SM_BLOCK * gridDim.y ) { - - for (int sm_y = threadIdx.y; sm_y < MGGA_KERNEL_SM_BLOCK; sm_y += blockDim.y) { - den_shared[0][threadIdx.x][sm_y] = 0.; - den_shared[1][threadIdx.x][sm_y] = 0.; - den_shared[2][threadIdx.x][sm_y] = 0.; - if constexpr (need_lapl) - den_shared[3][threadIdx.x][sm_y] = 0.; - - if (bid_y + threadIdx.x < npts and bid_x + sm_y < nbf) { - const double* db_x_col = den_basis_dx_prod_device + (bid_x + sm_y)*npts; - const double* db_y_col = den_basis_dy_prod_device + (bid_x + sm_y)*npts; - const double* db_z_col = den_basis_dz_prod_device + (bid_x + sm_y)*npts; - - const double* bf_x_col = dbasis_x_eval_device + (bid_x + sm_y)*npts; - const double* bf_y_col = dbasis_y_eval_device + (bid_x + sm_y)*npts; - const double* bf_z_col = dbasis_z_eval_device + (bid_x + sm_y)*npts; - - - den_shared[0][threadIdx.x][sm_y] = bf_x_col[ bid_y + threadIdx.x ] * db_x_col[ bid_y + threadIdx.x ]; - den_shared[1][threadIdx.x][sm_y] = bf_y_col[ bid_y + threadIdx.x ] * db_y_col[ bid_y + threadIdx.x ]; - den_shared[2][threadIdx.x][sm_y] = bf_z_col[ bid_y + threadIdx.x ] * db_z_col[ bid_y + threadIdx.x ]; - - - if constexpr (need_lapl) { - const double* db_col = den_basis_prod_device + (bid_x + sm_y)*npts; - const double* bf_l_col = basis_lapl_eval_device + (bid_x + sm_y)*npts; - den_shared[3][threadIdx.x][sm_y] = bf_l_col[ bid_y + threadIdx.x ] * db_col[ bid_y + threadIdx.x ]; - } - } - } - __syncthreads(); - - - for (int sm_y = threadIdx.y; sm_y < MGGA_KERNEL_SM_BLOCK; sm_y += blockDim.y) { - const int tid_y = bid_y + sm_y; - - register double tx_reg = den_shared[0][sm_y][threadIdx.x]; - register double ty_reg = den_shared[1][sm_y][threadIdx.x]; - register double tz_reg = den_shared[2][sm_y][threadIdx.x]; - // Warp blocks are stored col major - register double tau_reg = 0.0; - tau_reg = 0.5 * cuda::warp_reduce_sum( tx_reg ); - tau_reg += 0.5 * cuda::warp_reduce_sum( ty_reg ); - tau_reg += 0.5 * cuda::warp_reduce_sum( tz_reg ); - - register double lapl_reg = 0.0; - if constexpr (need_lapl) { - lapl_reg = den_shared[3][sm_y][threadIdx.x]; - lapl_reg = cuda::warp_reduce_sum(lapl_reg); - lapl_reg = 2. * lapl_reg + 4. * tau_reg; - } - - if( threadIdx.x == 0 and tid_y < npts ) { - atomicAdd( tau_eval_device + tid_y, tau_reg ); - if constexpr (need_lapl) { - atomicAdd( lapl_eval_device + tid_y, lapl_reg ); - } - } - } - __syncthreads(); - } - } -} +#include "uvvars_lda.hpp" +#include "uvvars_gga.hpp" +#include "uvvars_mgga.hpp" +namespace GauXC { #define EVAL_UVARS_KERNEL(xc_approx) \ cudaStream_t stream = queue.queue_as(); \ - dim3 blocks( util::div_ceil( npts_max, threads.x ), \ - 1, \ - ntasks ); \ switch ( ks_scheme ) { \ case RKS: \ eval_uvars_##xc_approx##_rks_kernel<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); \ @@ -428,49 +28,43 @@ __global__ void eval_uvars_mgga_rks_kernel( size_t ntasks, eval_uvars_##xc_approx##_gks_kernel<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); \ break; \ default: \ - GAUXC_GENERIC_EXCEPTION( "Unexpected KS scheme when attempting to evaluate UV vars" ); \ + GAUXC_GENERIC_EXCEPTION( "Unexpected KS scheme when attempting to evaluate U vars" ); \ + } + +#define EVAL_VVARS_KERNEL(xc_approx) \ + cudaStream_t stream = queue.queue_as(); \ + switch ( den_select ) { \ + case DEN_S: \ + eval_vvar_##xc_approx##_kern<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); \ + break; \ + case DEN_Z: \ + eval_vvar_##xc_approx##_kern<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); \ + break; \ + case DEN_Y: \ + eval_vvar_##xc_approx##_kern<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); \ + break; \ + case DEN_X: \ + eval_vvar_##xc_approx##_kern<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); \ + break; \ + default: \ + GAUXC_GENERIC_EXCEPTION( "Unexpected KS scheme when attempting to evaluate V vars" ); \ } void eval_uvars_lda( size_t ntasks, int32_t npts_max, integrator_ks_scheme ks_scheme, XCDeviceTask* device_tasks, device_queue queue ) { dim3 threads( cuda::max_warps_per_thread_block * cuda::warp_size, 1, 1 ); + dim3 blocks( util::div_ceil( npts_max, threads.x ), 1, ntasks ); EVAL_UVARS_KERNEL(lda); } - - -void eval_uvars_gga( size_t ntasks, int32_t npts_max, integrator_ks_scheme ks_scheme, +void eval_vvars_lda( size_t ntasks, int32_t nbf_max, int32_t npts_max, density_id den_select, XCDeviceTask* device_tasks, device_queue queue ) { - dim3 threads( GGA_KERNEL_SM_WARPS * cuda::warp_size, 1, 1 ); - EVAL_UVARS_KERNEL(gga); -} - - - -void eval_uvars_mgga( size_t ntasks, size_t npts_total, int32_t nbf_max, - int32_t npts_max, bool do_lapl, XCDeviceTask* device_tasks, - device_queue queue ) { - // TODO: This interface should be unified with the lda/gga interfaces - cudaStream_t stream = queue.queue_as(); - - // U Variables - { - dim3 threads( cuda::warp_size, cuda::max_warps_per_thread_block / 2, 1 ); - dim3 blocks( std::min(uint64_t(4), util::div_ceil( nbf_max, 4 )), - std::min(uint64_t(16), util::div_ceil( nbf_max, 16 )), + dim3 threads( cuda::warp_size, cuda::max_warps_per_thread_block, 1 ); + dim3 blocks( util::div_ceil( nbf_max, threads.x ), + util::div_ceil( npts_max, threads.y ), ntasks ); - if(do_lapl) - eval_uvars_mgga_rks_kernel<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); - else - eval_uvars_mgga_rks_kernel<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); - } + EVAL_VVARS_KERNEL(lda); - // V variables (GAMMA) - dim3 threads( cuda::max_threads_per_thread_block ); - dim3 blocks( util::div_ceil( npts_total, threads.x ), - 1, - ntasks ); - eval_uvars_gga_rks_kernel <<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); } @@ -478,214 +72,75 @@ void eval_uvars_mgga( size_t ntasks, size_t npts_total, int32_t nbf_max, - -template -__global__ void eval_vvar_grad_kern( size_t ntasks, - XCDeviceTask* tasks_device ) { - - const int batch_idx = blockIdx.z; - if( batch_idx >= ntasks ) return; - - auto& task = tasks_device[ batch_idx ]; - - const auto npts = task.npts; - const auto nbf = task.bfn_screening.nbe; - - double* den_eval_device = nullptr; - double* den_x_eval_device = nullptr; - double* den_y_eval_device = nullptr; - double* den_z_eval_device = nullptr; - - constexpr auto warp_size = cuda::warp_size; - - if constexpr (den_select == DEN_S) { - den_eval_device = task.den_s; - den_x_eval_device = task.dden_sx; - den_y_eval_device = task.dden_sy; - den_z_eval_device = task.dden_sz; - } - if constexpr (den_select == DEN_Z) { - den_eval_device = task.den_z; - den_x_eval_device = task.dden_zx; - den_y_eval_device = task.dden_zy; - den_z_eval_device = task.dden_zz; - } - if constexpr (den_select == DEN_Y) { - den_eval_device = task.den_y; - den_x_eval_device = task.dden_yx; - den_y_eval_device = task.dden_yy; - den_z_eval_device = task.dden_yz; - } - if constexpr (den_select == DEN_X) { - den_eval_device = task.den_x; - den_x_eval_device = task.dden_xx; - den_y_eval_device = task.dden_xy; - den_z_eval_device = task.dden_xz; - } - - const auto* basis_eval_device = task.bf; - const auto* dbasis_x_eval_device = task.dbfx; - const auto* dbasis_y_eval_device = task.dbfy; - const auto* dbasis_z_eval_device = task.dbfz; - - const auto* den_basis_prod_device = task.zmat; - - __shared__ double den_shared[4][warp_size][VVAR_KERNEL_SM_BLOCK+1]; - - for ( int bid_x = blockIdx.x * blockDim.x; - bid_x < nbf; - bid_x += blockDim.x * gridDim.x ) { - - for ( int bid_y = blockIdx.y * VVAR_KERNEL_SM_BLOCK; - bid_y < npts; - bid_y += VVAR_KERNEL_SM_BLOCK * gridDim.y ) { - - for (int sm_y = threadIdx.y; sm_y < VVAR_KERNEL_SM_BLOCK; sm_y += blockDim.y) { - den_shared[0][threadIdx.x][sm_y] = 0.; - den_shared[1][threadIdx.x][sm_y] = 0.; - den_shared[2][threadIdx.x][sm_y] = 0.; - den_shared[3][threadIdx.x][sm_y] = 0.; - - if (bid_y + threadIdx.x < npts and bid_x + sm_y < nbf) { - const double* db_col = den_basis_prod_device + (bid_x + sm_y)*npts; - const double* bf_col = basis_eval_device + (bid_x + sm_y)*npts; - const double* bf_x_col = dbasis_x_eval_device + (bid_x + sm_y)*npts; - const double* bf_y_col = dbasis_y_eval_device + (bid_x + sm_y)*npts; - const double* bf_z_col = dbasis_z_eval_device + (bid_x + sm_y)*npts; - - den_shared[0][threadIdx.x][sm_y] = bf_col [ bid_y + threadIdx.x ] * db_col[ bid_y + threadIdx.x ]; - den_shared[1][threadIdx.x][sm_y] = bf_x_col[ bid_y + threadIdx.x ] * db_col[ bid_y + threadIdx.x ]; - den_shared[2][threadIdx.x][sm_y] = bf_y_col[ bid_y + threadIdx.x ] * db_col[ bid_y + threadIdx.x ]; - den_shared[3][threadIdx.x][sm_y] = bf_z_col[ bid_y + threadIdx.x ] * db_col[ bid_y + threadIdx.x ]; - } - } - __syncthreads(); - - - for (int sm_y = threadIdx.y; sm_y < VVAR_KERNEL_SM_BLOCK; sm_y += blockDim.y) { - const int tid_y = bid_y + sm_y; - register double den_reg = den_shared[0][sm_y][threadIdx.x]; - register double dx_reg = den_shared[1][sm_y][threadIdx.x]; - register double dy_reg = den_shared[2][sm_y][threadIdx.x]; - register double dz_reg = den_shared[3][sm_y][threadIdx.x]; - - // Warp blocks are stored col major - den_reg = cuda::warp_reduce_sum( den_reg ); - dx_reg = 2. * cuda::warp_reduce_sum( dx_reg ); - dy_reg = 2. * cuda::warp_reduce_sum( dy_reg ); - dz_reg = 2. * cuda::warp_reduce_sum( dz_reg ); - - - if( threadIdx.x == 0 and tid_y < npts ) { - atomicAdd( den_eval_device + tid_y, den_reg ); - atomicAdd( den_x_eval_device + tid_y, dx_reg ); - atomicAdd( den_y_eval_device + tid_y, dy_reg ); - atomicAdd( den_z_eval_device + tid_y, dz_reg ); - } - } - __syncthreads(); - } - } - +void eval_uvars_gga( size_t ntasks, int32_t npts_max, integrator_ks_scheme ks_scheme, + XCDeviceTask* device_tasks, device_queue queue ) { + dim3 threads( GGA_KERNEL_SM_WARPS * cuda::warp_size, 1, 1 ); + dim3 blocks( util::div_ceil( npts_max, threads.x ), 1, ntasks ); + EVAL_UVARS_KERNEL(gga); } +void eval_vvars_gga( size_t ntasks, int32_t nbf_max, int32_t npts_max, density_id den_select, + XCDeviceTask* device_tasks, device_queue queue ) { + dim3 threads( cuda::warp_size, cuda::max_warps_per_thread_block, 1 ); + dim3 blocks( util::div_ceil( nbf_max, threads.x ), + util::div_ceil( npts_max, threads.y ), + ntasks ); + EVAL_VVARS_KERNEL(gga); +} -template -__global__ void eval_vvar_kern( size_t ntasks, - XCDeviceTask* tasks_device ) { - - const int batch_idx = blockIdx.z; - if( batch_idx >= ntasks ) return; - - auto& task = tasks_device[ batch_idx ]; - - const auto npts = task.npts; - const auto nbf = task.bfn_screening.nbe; - - double* den_eval_device = nullptr; - // use the "U" variable (+/- for UKS) even though at this point the density (S/Z) is stored - if constexpr (den_select == DEN_S) den_eval_device = task.den_s; - if constexpr (den_select == DEN_Z) den_eval_device = task.den_z; - if constexpr (den_select == DEN_Y) den_eval_device = task.den_y; - if constexpr (den_select == DEN_X) den_eval_device = task.den_x; - - const auto* basis_eval_device = task.bf; - - const auto* den_basis_prod_device = task.zmat; - - const int tid_x = blockIdx.x * blockDim.x + threadIdx.x; - const int tid_y = blockIdx.y * blockDim.y + threadIdx.y; - - register double den_reg = 0.; - - if( tid_x < nbf and tid_y < npts ) { - - const double* bf_col = basis_eval_device + tid_x*npts; - const double* db_col = den_basis_prod_device + tid_x*npts; - - den_reg = bf_col[ tid_y ] * db_col[ tid_y ]; - - } +void eval_uvars_mgga( size_t ntasks, int32_t npts_max, integrator_ks_scheme ks_scheme, + bool need_lapl, XCDeviceTask* device_tasks, device_queue queue ) { - // Warp blocks are stored col major - constexpr auto warp_size = cuda::warp_size; - //constexpr auto max_warps_per_thread_block = cuda::max_warps_per_thread_block; - den_reg = cuda::warp_reduce_sum( den_reg ); + cudaStream_t stream = queue.queue_as(); + // Evaluate GAMMA + eval_uvars_gga(ntasks, npts_max, ks_scheme, device_tasks, queue); - if( threadIdx.x == 0 and tid_y < npts ) { - atomicAdd( den_eval_device + tid_y, den_reg ); + if(ks_scheme == RKS) { + return; // Nothing left to do + } else if(ks_scheme == UKS) { + dim3 threads( cuda::max_warps_per_thread_block * cuda::warp_size, 1, 1 ); + dim3 blocks( util::div_ceil( npts_max, threads.x ), 1, ntasks ); + if(need_lapl) { + eval_uvars_mgga_uks_kernel<<>>(ntasks, device_tasks); + } else { + eval_uvars_mgga_uks_kernel<<>>(ntasks, device_tasks); + } + } else { + GAUXC_GENERIC_EXCEPTION("GKS + MGGA + DEVICE NYI"); } - } +void eval_vvars_mgga( size_t ntasks, int32_t nbf_max, int32_t npts_max, density_id den_select, + bool need_lapl, XCDeviceTask* device_tasks, device_queue queue ) { + // First evaluate GGA variables + eval_vvars_gga(ntasks, nbf_max, npts_max, den_select, device_tasks, queue); - -void eval_vvar( size_t ntasks, int32_t nbf_max, int32_t npts_max, bool do_grad, density_id den_select, - XCDeviceTask* device_tasks, device_queue queue ) { + dim3 threads( cuda::warp_size, cuda::max_warps_per_thread_block, 1 ); + dim3 blocks( util::div_ceil( nbf_max, threads.x ), + util::div_ceil( npts_max, threads.y ), + ntasks ); cudaStream_t stream = queue.queue_as(); - dim3 threads; - dim3 blocks; - if( do_grad ) { - threads = dim3( cuda::warp_size, cuda::max_warps_per_thread_block / 2, 1 ); - blocks = dim3( std::min(uint64_t(4), util::div_ceil( nbf_max, 4 )), - std::min(uint64_t(16), util::div_ceil( nbf_max, 16 )), - ntasks ); - } else { - threads = dim3( cuda::warp_size, cuda::max_warps_per_thread_block, 1 ); - blocks = dim3( util::div_ceil( nbf_max, threads.x ), - util::div_ceil( npts_max, threads.y ), - ntasks ); - } - switch( den_select ) { - case DEN_S: - if (do_grad) eval_vvar_grad_kern<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); - else eval_vvar_kern<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); - break; - case DEN_Z: - if (do_grad) eval_vvar_grad_kern<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); - else eval_vvar_kern<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); + switch ( den_select ) { + case DEN_S: + if(need_lapl) + eval_vvar_mgga_kern<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); + else + eval_vvar_mgga_kern<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); break; - case DEN_Y: - if (do_grad) eval_vvar_grad_kern<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); - else eval_vvar_kern<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); + case DEN_Z: + if(need_lapl) + eval_vvar_mgga_kern<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); + else + eval_vvar_mgga_kern<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); break; - case DEN_X: - if (do_grad) eval_vvar_grad_kern<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); - else eval_vvar_kern<<< blocks, threads, 0, stream >>>( ntasks, device_tasks ); - break; - default: - GAUXC_GENERIC_EXCEPTION( "eval_vvar called with improper density selected" ); - } - + default: \ + GAUXC_GENERIC_EXCEPTION( "Unexpected KS scheme when attempting to evaluate V vars" ); \ + } } - - - - } diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/uvvars_gga.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/uvvars_gga.hpp new file mode 100644 index 00000000..4dc6bf92 --- /dev/null +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/uvvars_gga.hpp @@ -0,0 +1,326 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once +#include "device_specific/cuda_device_constants.hpp" +#include "device_specific/cuda_util.hpp" +#include "device/xc_device_data.hpp" + +#define VVAR_KERNEL_SM_BLOCK 32 +#define GGA_KERNEL_SM_WARPS 16 + +namespace GauXC { + +template +__global__ void eval_vvar_gga_kern( size_t ntasks, + XCDeviceTask* tasks_device ) { + + const int batch_idx = blockIdx.z; + if( batch_idx >= ntasks ) return; + + auto& task = tasks_device[ batch_idx ]; + + const auto npts = task.npts; + const auto nbf = task.bfn_screening.nbe; + + double* den_eval_device = nullptr; + double* den_x_eval_device = nullptr; + double* den_y_eval_device = nullptr; + double* den_z_eval_device = nullptr; + + constexpr auto warp_size = cuda::warp_size; + + if constexpr (den_select == DEN_S) { + den_eval_device = task.den_s; + den_x_eval_device = task.dden_sx; + den_y_eval_device = task.dden_sy; + den_z_eval_device = task.dden_sz; + } + if constexpr (den_select == DEN_Z) { + den_eval_device = task.den_z; + den_x_eval_device = task.dden_zx; + den_y_eval_device = task.dden_zy; + den_z_eval_device = task.dden_zz; + } + if constexpr (den_select == DEN_Y) { + den_eval_device = task.den_y; + den_x_eval_device = task.dden_yx; + den_y_eval_device = task.dden_yy; + den_z_eval_device = task.dden_yz; + } + if constexpr (den_select == DEN_X) { + den_eval_device = task.den_x; + den_x_eval_device = task.dden_xx; + den_y_eval_device = task.dden_xy; + den_z_eval_device = task.dden_xz; + } + + const auto* basis_eval_device = task.bf; + const auto* dbasis_x_eval_device = task.dbfx; + const auto* dbasis_y_eval_device = task.dbfy; + const auto* dbasis_z_eval_device = task.dbfz; + + const auto* den_basis_prod_device = task.zmat; + + __shared__ double den_shared[4][warp_size][VVAR_KERNEL_SM_BLOCK+1]; + + for ( int bid_x = blockIdx.x * blockDim.x; + bid_x < nbf; + bid_x += blockDim.x * gridDim.x ) { + + for ( int bid_y = blockIdx.y * VVAR_KERNEL_SM_BLOCK; + bid_y < npts; + bid_y += VVAR_KERNEL_SM_BLOCK * gridDim.y ) { + + for (int sm_y = threadIdx.y; sm_y < VVAR_KERNEL_SM_BLOCK; sm_y += blockDim.y) { + den_shared[0][threadIdx.x][sm_y] = 0.; + den_shared[1][threadIdx.x][sm_y] = 0.; + den_shared[2][threadIdx.x][sm_y] = 0.; + den_shared[3][threadIdx.x][sm_y] = 0.; + + if (bid_y + threadIdx.x < npts and bid_x + sm_y < nbf) { + const double* db_col = den_basis_prod_device + (bid_x + sm_y)*npts; + const double* bf_col = basis_eval_device + (bid_x + sm_y)*npts; + const double* bf_x_col = dbasis_x_eval_device + (bid_x + sm_y)*npts; + const double* bf_y_col = dbasis_y_eval_device + (bid_x + sm_y)*npts; + const double* bf_z_col = dbasis_z_eval_device + (bid_x + sm_y)*npts; + + den_shared[0][threadIdx.x][sm_y] = bf_col [ bid_y + threadIdx.x ] * db_col[ bid_y + threadIdx.x ]; + den_shared[1][threadIdx.x][sm_y] = bf_x_col[ bid_y + threadIdx.x ] * db_col[ bid_y + threadIdx.x ]; + den_shared[2][threadIdx.x][sm_y] = bf_y_col[ bid_y + threadIdx.x ] * db_col[ bid_y + threadIdx.x ]; + den_shared[3][threadIdx.x][sm_y] = bf_z_col[ bid_y + threadIdx.x ] * db_col[ bid_y + threadIdx.x ]; + } + } + __syncthreads(); + + + for (int sm_y = threadIdx.y; sm_y < VVAR_KERNEL_SM_BLOCK; sm_y += blockDim.y) { + const int tid_y = bid_y + sm_y; + register double den_reg = den_shared[0][sm_y][threadIdx.x]; + register double dx_reg = den_shared[1][sm_y][threadIdx.x]; + register double dy_reg = den_shared[2][sm_y][threadIdx.x]; + register double dz_reg = den_shared[3][sm_y][threadIdx.x]; + + // Warp blocks are stored col major + den_reg = cuda::warp_reduce_sum( den_reg ); + dx_reg = 2. * cuda::warp_reduce_sum( dx_reg ); + dy_reg = 2. * cuda::warp_reduce_sum( dy_reg ); + dz_reg = 2. * cuda::warp_reduce_sum( dz_reg ); + + + if( threadIdx.x == 0 and tid_y < npts ) { + atomicAdd( den_eval_device + tid_y, den_reg ); + atomicAdd( den_x_eval_device + tid_y, dx_reg ); + atomicAdd( den_y_eval_device + tid_y, dy_reg ); + atomicAdd( den_z_eval_device + tid_y, dz_reg ); + } + } + __syncthreads(); + } + } + +} + +__global__ void eval_uvars_gga_rks_kernel( size_t ntasks, XCDeviceTask* tasks_device) { + const int batch_idx = blockIdx.z; + if( batch_idx >= ntasks ) return; + + const auto& task = tasks_device[ batch_idx ]; + const auto npts = task.npts; + + const auto* dden_sx_eval_device = task.dden_sx; + const auto* dden_sy_eval_device = task.dden_sy; + const auto* dden_sz_eval_device = task.dden_sz; + auto* gamma_eval_device = task.gamma; + + const int tid = threadIdx.x + blockIdx.x * blockDim.x; + + if( tid < npts ) { + const double dx = dden_sx_eval_device[ tid ]; + const double dy = dden_sy_eval_device[ tid ]; + const double dz = dden_sz_eval_device[ tid ]; + + gamma_eval_device[ tid ] = dx*dx + dy*dy + dz*dz; + } + +} + +__global__ void eval_uvars_gga_uks_kernel( size_t ntasks, XCDeviceTask* tasks_device) { + + const int batch_idx = blockIdx.z; + if( batch_idx >= ntasks ) return; + + const auto& task = tasks_device[ batch_idx ]; + const auto npts = task.npts; + + auto* den_pos_eval_device = task.den_s; + const auto* den_pos_x_eval_device = task.dden_sx; + const auto* den_pos_y_eval_device = task.dden_sy; + const auto* den_pos_z_eval_device = task.dden_sz; + + auto* den_neg_eval_device = task.den_z; + const auto* den_neg_x_eval_device = task.dden_zx; + const auto* den_neg_y_eval_device = task.dden_zy; + const auto* den_neg_z_eval_device = task.dden_zz; + + auto* gamma_pp_eval_device = task.gamma_pp; + auto* gamma_pm_eval_device = task.gamma_pm; + auto* gamma_mm_eval_device = task.gamma_mm; + + const int tid = blockIdx.x * blockDim.x + threadIdx.x; + + if( tid < npts ) { + const double ps = den_pos_eval_device[ tid ]; + const double pz = den_neg_eval_device[ tid ]; + const double dndx = den_pos_x_eval_device[ tid ]; + const double dndy = den_pos_y_eval_device[ tid ]; + const double dndz = den_pos_z_eval_device[ tid ]; + const double dMzdx = den_neg_x_eval_device[ tid ]; + const double dMzdy = den_neg_y_eval_device[ tid ]; + const double dMzdz = den_neg_z_eval_device[ tid ]; + + // (del n).(del n) + const auto dn_sq = dndx*dndx + dndy*dndy + dndz*dndz; + // (del Mz).(del Mz) + const auto dMz_sq = dMzdx*dMzdx + dMzdy*dMzdy + dMzdz*dMzdz; + // (del n).(del Mz) + const auto dn_dMz = dndx*dMzdx + dndy*dMzdy + dndz*dMzdz; + + gamma_pp_eval_device[ tid ] = 0.25*(dn_sq + dMz_sq) + 0.5*dn_dMz; + gamma_pm_eval_device[ tid ] = 0.25*(dn_sq - dMz_sq); + gamma_mm_eval_device[ tid ] = 0.25*(dn_sq + dMz_sq) - 0.5*dn_dMz; + + den_pos_eval_device[ tid ] = 0.5*(ps + pz); + den_neg_eval_device[ tid ] = 0.5*(ps - pz); + } + +} + +__global__ void eval_uvars_gga_gks_kernel( size_t ntasks, XCDeviceTask* tasks_device) { + + const int batch_idx = blockIdx.z; + if( batch_idx >= ntasks ) return; + + const auto& task = tasks_device[ batch_idx ]; + const auto npts = task.npts; + + auto* den_s_eval_device = task.den_s; + const auto* dden_sx_eval_device = task.dden_sx; + const auto* dden_sy_eval_device = task.dden_sy; + const auto* dden_sz_eval_device = task.dden_sz; + + auto* den_z_eval_device = task.den_z; + const auto* dden_zx_eval_device = task.dden_zx; + const auto* dden_zy_eval_device = task.dden_zy; + const auto* dden_zz_eval_device = task.dden_zz; + + const auto* den_y_eval_device = task.den_y; + const auto* dden_yx_eval_device = task.dden_yx; + const auto* dden_yy_eval_device = task.dden_yy; + const auto* dden_yz_eval_device = task.dden_yz; + + const auto* den_x_eval_device = task.den_x; + const auto* dden_xx_eval_device = task.dden_xx; + const auto* dden_xy_eval_device = task.dden_xy; + const auto* dden_xz_eval_device = task.dden_xz; + + auto* gamma_pp_eval_device = task.gamma_pp; + auto* gamma_pm_eval_device = task.gamma_pm; + auto* gamma_mm_eval_device = task.gamma_mm; + + auto* H_z_eval_device = task.H_z; + auto* H_y_eval_device = task.H_y; + auto* H_x_eval_device = task.H_x; + auto* K_z_eval_device = task.K_z; + auto* K_y_eval_device = task.K_y; + auto* K_x_eval_device = task.K_x; + + const double dtolsq = 1e-24; // TODO: make variable + + const int tid = blockIdx.x * blockDim.x + threadIdx.x; + + if( tid < npts ) { + const double dndz = dden_sz_eval_device[ tid ]; + const double dndy = dden_sy_eval_device[ tid ]; + const double dndx = dden_sx_eval_device[ tid ]; + + const double dMzdz = dden_zz_eval_device[ tid ]; + const double dMzdy = dden_zy_eval_device[ tid ]; + const double dMzdx = dden_zx_eval_device[ tid ]; + + const double dMydz = dden_yz_eval_device[ tid ]; + const double dMydy = dden_yy_eval_device[ tid ]; + const double dMydx = dden_yx_eval_device[ tid ]; + + const double dMxdz = dden_xz_eval_device[ tid ]; + const double dMxdy = dden_xy_eval_device[ tid ]; + const double dMxdx = dden_xx_eval_device[ tid ]; + + const auto ps = den_s_eval_device[ tid ]; + const auto pz = den_z_eval_device[ tid ]; + const auto py = den_y_eval_device[ tid ]; + const auto px = den_x_eval_device[ tid ]; + + const auto mtemp = pz*pz + px*px + py*py; + double mnorm = 0.; + + const auto dels_dot_dels = dndx * dndx + dndy * dndy + dndz * dndz; + const auto delz_dot_delz = dMzdx * dMzdx + dMzdy * dMzdy + dMzdz * dMzdz; + const auto delx_dot_delx = dMxdx * dMxdx + dMxdy * dMxdy + dMxdz * dMxdz; + const auto dely_dot_dely = dMydx * dMydx + dMydy * dMydy + dMydz * dMydz; + + const auto dels_dot_delz = dndx * dMzdx + dndy * dMzdy + dndz * dMzdz; + const auto dels_dot_delx = dndx * dMxdx + dndy * dMxdy + dndz * dMxdz; + const auto dels_dot_dely = dndx * dMydx + dndy * dMydy + dndz * dMydz; + + const auto sum = delz_dot_delz + delx_dot_delx + dely_dot_dely; + const auto s_sum = + dels_dot_delz * pz + dels_dot_delx * px + dels_dot_dely * py; + + const auto inv_sqsum2 = + rsqrt(dels_dot_delz * dels_dot_delz + dels_dot_delx * dels_dot_delx + + dels_dot_dely * dels_dot_dely); + const auto sqsum2 = 1./inv_sqsum2; + + double sign = 1.; + if( signbit(s_sum)) + sign = -1.; + + + if (mtemp > dtolsq) { + const double inv_mnorm = rsqrt(mtemp); + mnorm = 1./inv_mnorm; + K_z_eval_device[ tid ] = pz * inv_mnorm; + K_y_eval_device[ tid ] = py * inv_mnorm; + K_x_eval_device[ tid ] = px * inv_mnorm; + H_z_eval_device[ tid ] = sign * dels_dot_delz * inv_sqsum2; + H_y_eval_device[ tid ] = sign * dels_dot_dely * inv_sqsum2; + H_x_eval_device[ tid ] = sign * dels_dot_delx * inv_sqsum2; + } + else { + mnorm = (1. / 3.) * (px + py + pz); + K_z_eval_device[ tid ] = 1. / 3.; + K_y_eval_device[ tid ] = 1. / 3.; + K_x_eval_device[ tid ] = 1. / 3.; + + H_z_eval_device[ tid ] = sign / 3.; + H_y_eval_device[ tid ] = sign / 3.; + H_x_eval_device[ tid ] = sign / 3.; + } + + gamma_pp_eval_device[ tid ] = 0.25*(dels_dot_dels + sum) + 0.5*sign*sqsum2; + gamma_pm_eval_device[ tid ] = 0.25*(dels_dot_dels - sum); + gamma_mm_eval_device[ tid ] = 0.25*(dels_dot_dels + sum) - 0.5*sign*sqsum2; + + den_s_eval_device[ tid ] = 0.5*(ps + mnorm); + den_z_eval_device[ tid ] = 0.5*(ps - mnorm); + + } + +} + +} // namespace GauXC diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/uvvars_lda.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/uvvars_lda.hpp new file mode 100644 index 00000000..e724fcbf --- /dev/null +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/uvvars_lda.hpp @@ -0,0 +1,142 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once +#include "device_specific/cuda_device_constants.hpp" +#include "device_specific/cuda_util.hpp" +#include "device/xc_device_data.hpp" + +namespace GauXC { + +template +__global__ void eval_vvar_lda_kern( size_t ntasks, + XCDeviceTask* tasks_device ) { + + const int batch_idx = blockIdx.z; + if( batch_idx >= ntasks ) return; + + auto& task = tasks_device[ batch_idx ]; + + const auto npts = task.npts; + const auto nbf = task.bfn_screening.nbe; + + double* den_eval_device = nullptr; + // use the "U" variable (+/- for UKS) even though at this point the density (S/Z) is stored + if constexpr (den_select == DEN_S) den_eval_device = task.den_s; + if constexpr (den_select == DEN_Z) den_eval_device = task.den_z; + if constexpr (den_select == DEN_Y) den_eval_device = task.den_y; + if constexpr (den_select == DEN_X) den_eval_device = task.den_x; + + const auto* basis_eval_device = task.bf; + + const auto* den_basis_prod_device = task.zmat; + + const int tid_x = blockIdx.x * blockDim.x + threadIdx.x; + const int tid_y = blockIdx.y * blockDim.y + threadIdx.y; + + register double den_reg = 0.; + + if( tid_x < nbf and tid_y < npts ) { + + const double* bf_col = basis_eval_device + tid_x*npts; + const double* db_col = den_basis_prod_device + tid_x*npts; + + den_reg = bf_col[ tid_y ] * db_col[ tid_y ]; + + } + + // Warp blocks are stored col major + constexpr auto warp_size = cuda::warp_size; + //constexpr auto max_warps_per_thread_block = cuda::max_warps_per_thread_block; + den_reg = cuda::warp_reduce_sum( den_reg ); + + + if( threadIdx.x == 0 and tid_y < npts ) { + atomicAdd( den_eval_device + tid_y, den_reg ); + } + +} + +__global__ void eval_uvars_lda_rks_kernel( size_t ntasks, XCDeviceTask* tasks_device) { + // eval_vvars populated uvar storage already in the case of LDA+RKS + return; +} + +__global__ void eval_uvars_lda_uks_kernel( size_t ntasks, + XCDeviceTask* tasks_device ) { + + const int batch_idx = blockIdx.z; + if( batch_idx >= ntasks ) return; + + auto& task = tasks_device[ batch_idx ]; + + const auto npts = task.npts; + + auto* den_pos_eval_device = task.den_s; + auto* den_neg_eval_device = task.den_z; + + const int tid = blockIdx.x * blockDim.x + threadIdx.x; + + if( tid < npts ) { + const auto ps = den_pos_eval_device[ tid ]; + const auto pz = den_neg_eval_device[ tid ]; + den_pos_eval_device[ tid ] = 0.5*(ps + pz); + den_neg_eval_device[ tid ] = 0.5*(ps - pz); + } +} + +__global__ void eval_uvars_lda_gks_kernel( size_t ntasks, + XCDeviceTask* tasks_device ) { + + const int batch_idx = blockIdx.z; + if( batch_idx >= ntasks ) return; + + auto& task = tasks_device[ batch_idx ]; + + const auto npts = task.npts; + + auto* den_z_eval_device = task.den_s; + auto* den_s_eval_device = task.den_z; + auto* den_y_eval_device = task.den_y; + auto* den_x_eval_device = task.den_x; + auto* K_z_eval_device = task.K_z; + auto* K_y_eval_device = task.K_y; + auto* K_x_eval_device = task.K_x; + const double dtolsq = 1e-24; // TODO: make variable + + const int tid = blockIdx.x * blockDim.x + threadIdx.x; + + + if( tid < npts ) { + const auto ps = den_s_eval_device[ tid ]; + const auto pz = den_z_eval_device[ tid ]; + const auto py = den_y_eval_device[ tid ]; + const auto px = den_x_eval_device[ tid ]; + const auto mtemp = pz*pz + px*px + py*py; + double mnorm = 0.; + + if (mtemp > dtolsq) { + const double inv_mnorm = rsqrt(mtemp); + mnorm = 1./inv_mnorm; + K_z_eval_device[ tid ] = pz * inv_mnorm; + K_y_eval_device[ tid ] = py * inv_mnorm; + K_x_eval_device[ tid ] = px * inv_mnorm; + } + else { + mnorm = (1. / 3.) * (px + py + pz); + K_z_eval_device[ tid ] = 1. / 3.; + K_y_eval_device[ tid ] = 1. / 3.; + K_x_eval_device[ tid ] = 1. / 3.; + } + + den_s_eval_device[ tid ] = 0.5*(ps + mnorm); + den_z_eval_device[ tid ] = 0.5*(ps - mnorm); + + } +} + +} diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/uvvars_mgga.hpp b/src/xc_integrator/local_work_driver/device/cuda/kernels/uvvars_mgga.hpp new file mode 100644 index 00000000..6ae2774b --- /dev/null +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/uvvars_mgga.hpp @@ -0,0 +1,181 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once +#include "device_specific/cuda_device_constants.hpp" +#include "device_specific/cuda_util.hpp" +#include "device/xc_device_data.hpp" + +#define MGGA_KERNEL_SM_BLOCK 32 + +namespace GauXC { + + + +template +__global__ void eval_vvar_mgga_kern( size_t ntasks, + XCDeviceTask* tasks_device ) { + + constexpr auto warp_size = cuda::warp_size; + //constexpr auto max_warps_per_thread_block = cuda::max_warps_per_thread_block; + + const int batch_idx = blockIdx.z; + if( batch_idx >= ntasks ) return; + + auto& task = tasks_device[ batch_idx ]; + + const auto npts = task.npts; + const auto nbf = task.bfn_screening.nbe; + double* tau_eval_device = nullptr; + double* lapl_eval_device = nullptr; + + if constexpr (den_select == DEN_S) { + tau_eval_device = task.tau_s; + if constexpr (need_lapl) { + lapl_eval_device = task.lapl_s; + } + } + + if constexpr (den_select == DEN_Z) { + tau_eval_device = task.tau_z; + if constexpr (need_lapl) { + lapl_eval_device = task.lapl_z; + } + } + + //const auto* basis_eval_device = task.bf; + const auto* dbasis_x_eval_device = task.dbfx; + const auto* dbasis_y_eval_device = task.dbfy; + const auto* dbasis_z_eval_device = task.dbfz; + decltype(dbasis_x_eval_device) basis_lapl_eval_device = nullptr; + if constexpr (need_lapl) { + basis_lapl_eval_device = task.d2bflapl; + } + + //const auto* den_basis_prod_device = task.zmat; + const auto* den_basis_dx_prod_device = task.xmat_x; + const auto* den_basis_dy_prod_device = task.xmat_y; + const auto* den_basis_dz_prod_device = task.xmat_z; + decltype(den_basis_dx_prod_device) den_basis_prod_device = nullptr; + if constexpr (need_lapl) { + den_basis_prod_device = task.zmat; + } + + __shared__ double den_shared[3+!!need_lapl][warp_size][MGGA_KERNEL_SM_BLOCK+1]; + + for ( int bid_x = blockIdx.x * blockDim.x; + bid_x < nbf; + bid_x += blockDim.x * gridDim.x ) { + + for ( int bid_y = blockIdx.y * MGGA_KERNEL_SM_BLOCK; + bid_y < npts; + bid_y += MGGA_KERNEL_SM_BLOCK * gridDim.y ) { + + for (int sm_y = threadIdx.y; sm_y < MGGA_KERNEL_SM_BLOCK; sm_y += blockDim.y) { + den_shared[0][threadIdx.x][sm_y] = 0.; + den_shared[1][threadIdx.x][sm_y] = 0.; + den_shared[2][threadIdx.x][sm_y] = 0.; + if constexpr (need_lapl) + den_shared[3][threadIdx.x][sm_y] = 0.; + + if (bid_y + threadIdx.x < npts and bid_x + sm_y < nbf) { + const double* db_x_col = den_basis_dx_prod_device + (bid_x + sm_y)*npts; + const double* db_y_col = den_basis_dy_prod_device + (bid_x + sm_y)*npts; + const double* db_z_col = den_basis_dz_prod_device + (bid_x + sm_y)*npts; + + const double* bf_x_col = dbasis_x_eval_device + (bid_x + sm_y)*npts; + const double* bf_y_col = dbasis_y_eval_device + (bid_x + sm_y)*npts; + const double* bf_z_col = dbasis_z_eval_device + (bid_x + sm_y)*npts; + + + den_shared[0][threadIdx.x][sm_y] = bf_x_col[ bid_y + threadIdx.x ] * db_x_col[ bid_y + threadIdx.x ]; + den_shared[1][threadIdx.x][sm_y] = bf_y_col[ bid_y + threadIdx.x ] * db_y_col[ bid_y + threadIdx.x ]; + den_shared[2][threadIdx.x][sm_y] = bf_z_col[ bid_y + threadIdx.x ] * db_z_col[ bid_y + threadIdx.x ]; + + + if constexpr (need_lapl) { + const double* db_col = den_basis_prod_device + (bid_x + sm_y)*npts; + const double* bf_l_col = basis_lapl_eval_device + (bid_x + sm_y)*npts; + den_shared[3][threadIdx.x][sm_y] = bf_l_col[ bid_y + threadIdx.x ] * db_col[ bid_y + threadIdx.x ]; + } + } + } + __syncthreads(); + + + for (int sm_y = threadIdx.y; sm_y < MGGA_KERNEL_SM_BLOCK; sm_y += blockDim.y) { + const int tid_y = bid_y + sm_y; + + register double tx_reg = den_shared[0][sm_y][threadIdx.x]; + register double ty_reg = den_shared[1][sm_y][threadIdx.x]; + register double tz_reg = den_shared[2][sm_y][threadIdx.x]; + // Warp blocks are stored col major + register double tau_reg = 0.0; + tau_reg = 0.5 * cuda::warp_reduce_sum( tx_reg ); + tau_reg += 0.5 * cuda::warp_reduce_sum( ty_reg ); + tau_reg += 0.5 * cuda::warp_reduce_sum( tz_reg ); + + register double lapl_reg = 0.0; + if constexpr (need_lapl) { + lapl_reg = den_shared[3][sm_y][threadIdx.x]; + lapl_reg = cuda::warp_reduce_sum(lapl_reg); + lapl_reg = 2. * lapl_reg + 4. * tau_reg; + } + + if( threadIdx.x == 0 and tid_y < npts ) { + atomicAdd( tau_eval_device + tid_y, tau_reg ); + if constexpr (need_lapl) { + atomicAdd( lapl_eval_device + tid_y, lapl_reg ); + } + } + } + __syncthreads(); + } + } +} + + + + +template +__global__ void eval_uvars_mgga_uks_kernel( size_t ntasks, XCDeviceTask* tasks_device) { + + const int batch_idx = blockIdx.z; + if( batch_idx >= ntasks ) return; + + const auto& task = tasks_device[ batch_idx ]; + const auto npts = task.npts; + + auto* tau_pos_eval_device = task.tau_s; + auto* tau_neg_eval_device = task.tau_z; + + double* lapl_pos_eval_device = nullptr; + double* lapl_neg_eval_device = nullptr; + if constexpr (need_lapl) { + lapl_pos_eval_device = task.lapl_s; + lapl_neg_eval_device = task.lapl_z; + } + + const int tid = blockIdx.x * blockDim.x + threadIdx.x; + + if( tid < npts ) { + const double ts = tau_pos_eval_device[ tid ]; + const double tz = tau_neg_eval_device[ tid ]; + tau_pos_eval_device[ tid ] = 0.5*(ts + tz); + tau_neg_eval_device[ tid ] = 0.5*(ts - tz); + + if constexpr (need_lapl) { + const double ls = lapl_pos_eval_device[ tid ]; + const double lz = lapl_neg_eval_device[ tid ]; + lapl_pos_eval_device[ tid ] = 0.5*(ls + lz); + lapl_neg_eval_device[ tid ] = 0.5*(ls - lz); + } + } + +} + +} diff --git a/src/xc_integrator/local_work_driver/device/cuda/kernels/zmat_vxc.cu b/src/xc_integrator/local_work_driver/device/cuda/kernels/zmat_vxc.cu index 616e0bd5..b2f4734e 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/kernels/zmat_vxc.cu +++ b/src/xc_integrator/local_work_driver/device/cuda/kernels/zmat_vxc.cu @@ -393,6 +393,9 @@ __global__ void zmat_gga_vxc_gks_kernel( size_t ntasks, } } + + + template __global__ void zmat_mgga_vxc_rks_kernel( size_t ntasks, XCDeviceTask* tasks_device ) { @@ -444,6 +447,91 @@ __global__ void zmat_mgga_vxc_rks_kernel( size_t ntasks, } } +template +__global__ void zmat_mgga_vxc_uks_kernel( size_t ntasks, + XCDeviceTask* tasks_device ) { + + const int batch_idx = blockIdx.z; + if( batch_idx >= ntasks ) return; + + auto& task = tasks_device[ batch_idx ]; + const auto npts = task.npts; + const auto nbf = task.bfn_screening.nbe; + + const double* vrho_pos_device = task.vrho_pos; + const double* vrho_neg_device = task.vrho_neg; + const double* vlapl_pos_device = task.vlapl_pos; + const double* vlapl_neg_device = task.vlapl_neg; + const double* vgamma_pp_device = task.vgamma_pp; + const double* vgamma_pm_device = task.vgamma_pm; + const double* vgamma_mm_device = task.vgamma_mm; + + const auto* den_pos_x_eval_device = task.dden_sx; + const auto* den_pos_y_eval_device = task.dden_sy; + const auto* den_pos_z_eval_device = task.dden_sz; + const auto* den_neg_x_eval_device = task.dden_zx; + const auto* den_neg_y_eval_device = task.dden_zy; + const auto* den_neg_z_eval_device = task.dden_zz; + + + const auto* basis_eval_device = task.bf; + const auto* dbasis_x_eval_device = task.dbfx; + const auto* dbasis_y_eval_device = task.dbfy; + const auto* dbasis_z_eval_device = task.dbfz; + const auto* d2basis_lapl_eval_device = task.d2bflapl; + + auto* z_matrix_device = task.zmat; + + const int tid_x = blockIdx.x * blockDim.x + threadIdx.x; + const int tid_y = blockIdx.y * blockDim.y + threadIdx.y; + + if( tid_x < npts and tid_y < nbf ) { + + const size_t ibfoff = tid_y * npts + tid_x; + + const double factp = 0.25 * vrho_pos_device[tid_x]; + const double factm = 0.25 * vrho_neg_device[tid_x]; + + const auto gga_fact_pp = vgamma_pp_device[tid_x]; + const auto gga_fact_pm = vgamma_pm_device[tid_x]; + const auto gga_fact_mm = vgamma_mm_device[tid_x]; + + const auto gga_fact_1 = 0.5*(gga_fact_pp + gga_fact_pm + gga_fact_mm); + const auto gga_fact_2 = 0.5*(gga_fact_pp - gga_fact_mm); + const auto gga_fact_3 = 0.5*(gga_fact_pp - gga_fact_pm + gga_fact_mm); + + double sign = 1.0; + + double x_fact, y_fact, z_fact; + + if constexpr ( den_selector == DEN_S ) { + x_fact = gga_fact_1 * den_pos_x_eval_device[ tid_x ] + gga_fact_2 * den_neg_x_eval_device[ tid_x ]; + y_fact = gga_fact_1 * den_pos_y_eval_device[ tid_x ] + gga_fact_2 * den_neg_y_eval_device[ tid_x ]; + z_fact = gga_fact_1 * den_pos_z_eval_device[ tid_x ] + gga_fact_2 * den_neg_z_eval_device[ tid_x ]; + } + if constexpr ( den_selector == DEN_Z ) { + sign = -1.0; + x_fact = gga_fact_3 * den_neg_x_eval_device[ tid_x ] + gga_fact_2 * den_pos_x_eval_device[ tid_x ]; + y_fact = gga_fact_3 * den_neg_y_eval_device[ tid_x ] + gga_fact_2 * den_pos_y_eval_device[ tid_x ]; + z_fact = gga_fact_3 * den_neg_z_eval_device[ tid_x ] + gga_fact_2 * den_pos_z_eval_device[ tid_x ]; + } + + auto val = x_fact * dbasis_x_eval_device[ ibfoff ] + + y_fact * dbasis_y_eval_device[ ibfoff ] + + z_fact * dbasis_z_eval_device[ ibfoff ] + + (factp + sign * factm) * basis_eval_device[ ibfoff ]; + + if constexpr (need_lapl) { + const double lfactp = vlapl_pos_device[tid_x]; + const double lfactm = vlapl_neg_device[tid_x]; + + val += 0.5 * (lfactp + sign * lfactm) * d2basis_lapl_eval_device[ ibfoff ]; + } + + z_matrix_device[ ibfoff ] = val; + } +} + #define ZMAT_VXC_KERN(xc_approx) \ @@ -503,6 +591,8 @@ void zmat_mgga_vxc( size_t ntasks, int32_t max_npts, XCDeviceTask* tasks_device, bool do_lapl, + integrator_ks_scheme scheme, + density_id sel, device_queue queue ) { cudaStream_t stream = queue.queue_as() ; @@ -513,10 +603,29 @@ void zmat_mgga_vxc( size_t ntasks, util::div_ceil( max_nbf, threads.y ), ntasks ); - if(do_lapl) - zmat_mgga_vxc_rks_kernel<<< blocks, threads, 0, stream >>>( ntasks, tasks_device ); - else - zmat_mgga_vxc_rks_kernel<<< blocks, threads, 0, stream >>>( ntasks, tasks_device ); + if(scheme == RKS) { + if(do_lapl) + zmat_mgga_vxc_rks_kernel<<< blocks, threads, 0, stream >>>( ntasks, tasks_device ); + else + zmat_mgga_vxc_rks_kernel<<< blocks, threads, 0, stream >>>( ntasks, tasks_device ); + } else if(scheme == UKS) { + switch(sel) { + case DEN_S: + if(do_lapl) + zmat_mgga_vxc_uks_kernel<<< blocks, threads, 0, stream >>>( ntasks, tasks_device ); + else + zmat_mgga_vxc_uks_kernel<<< blocks, threads, 0, stream >>>( ntasks, tasks_device ); + break; + case DEN_Z: + if(do_lapl) + zmat_mgga_vxc_uks_kernel<<< blocks, threads, 0, stream >>>( ntasks, tasks_device ); + else + zmat_mgga_vxc_uks_kernel<<< blocks, threads, 0, stream >>>( ntasks, tasks_device ); + break; + } + } else { + GAUXC_GENERIC_EXCEPTION("MGGA + DEVICE + GKS NYI"); + } } @@ -571,6 +680,55 @@ __global__ void mmat_mgga_vxc_rks_kernel( size_t ntasks, } } +template +__global__ void mmat_mgga_vxc_uks_kernel( size_t ntasks, + XCDeviceTask* tasks_device ) { + + const int batch_idx = blockIdx.z; + if( batch_idx >= ntasks ) return; + + auto& task = tasks_device[ batch_idx ]; + const auto npts = task.npts; + const auto nbf = task.bfn_screening.nbe; + const auto* vtau_pos_device = task.vtau_pos; + const auto* vtau_neg_device = task.vtau_neg; + const double* vlapl_pos_device = need_lapl ? task.vlapl_pos : nullptr; + const double* vlapl_neg_device = need_lapl ? task.vlapl_neg : nullptr; + + const auto* dbasis_x_eval_device = task.dbfx; + const auto* dbasis_y_eval_device = task.dbfy; + const auto* dbasis_z_eval_device = task.dbfz; + + auto* mmat_x = task.xmat_x; + auto* mmat_y = task.xmat_y; + auto* mmat_z = task.xmat_z; + + const int tid_x = blockIdx.x * blockDim.x + threadIdx.x; + const int tid_y = blockIdx.y * blockDim.y + threadIdx.y; + + if( tid_x < npts and tid_y < nbf ) { + + double sign = 1.0; + if(id == DEN_Z) sign = -1; + + const size_t ibfoff = tid_y * npts + tid_x; + const auto tfactp = 0.25 * vtau_pos_device[tid_x]; + const auto tfactm = 0.25 * vtau_neg_device[tid_x]; + const double fact_tau = 0.5 * (tfactp + sign * tfactm); + double fact_lapl = 0.0; + if(need_lapl) { + const auto lfactp = vlapl_pos_device[tid_x]; + const auto lfactm = vlapl_neg_device[tid_x]; + fact_lapl = 0.5 * (lfactp + sign * lfactm); + } + const double fact_1 = fact_tau + fact_lapl; + + mmat_x[ ibfoff ] = fact_1 * dbasis_x_eval_device[ ibfoff ]; + mmat_y[ ibfoff ] = fact_1 * dbasis_y_eval_device[ ibfoff ]; + mmat_z[ ibfoff ] = fact_1 * dbasis_z_eval_device[ ibfoff ]; + } +} + //__global__ void print_zmat_stats( size_t ntasks, // XCDeviceTask* tasks_device) { // @@ -597,7 +755,7 @@ __global__ void mmat_mgga_vxc_rks_kernel( size_t ntasks, // const auto* vrho = task.vrho; // const auto* gamma = task.gamma; // const auto* tau = task.tau; -// const auto* lapl = task.denlapl; +// const auto* lapl = task.lapl; // const auto* rho = task.den; // double enrm = 0.0, gnrm = 0.0, tnrm = 0.0, rnrm = 0.0, lnrm = 0.0; // double vgnrm = 0.0, vtnrm = 0.0, vrnrm = 0.0, vlnrm = 0.0; @@ -625,6 +783,8 @@ void mmat_mgga_vxc( size_t ntasks, int32_t max_npts, XCDeviceTask* tasks_device, bool do_lapl, + integrator_ks_scheme scheme, + density_id sel, device_queue queue ) { cudaStream_t stream = queue.queue_as() ; @@ -635,10 +795,30 @@ void mmat_mgga_vxc( size_t ntasks, util::div_ceil( max_nbf, threads.y ), ntasks ); - if(do_lapl) - mmat_mgga_vxc_rks_kernel<<< blocks, threads, 0, stream >>>( ntasks, tasks_device ); - else - mmat_mgga_vxc_rks_kernel<<< blocks, threads, 0, stream >>>( ntasks, tasks_device ); + if(scheme == RKS) { + if(do_lapl) + mmat_mgga_vxc_rks_kernel<<< blocks, threads, 0, stream >>>( ntasks, tasks_device ); + else + mmat_mgga_vxc_rks_kernel<<< blocks, threads, 0, stream >>>( ntasks, tasks_device ); + } else if(scheme == UKS) { + switch(sel) { + case DEN_S: + if(do_lapl) + mmat_mgga_vxc_uks_kernel<<< blocks, threads, 0, stream >>>( ntasks, tasks_device ); + else + mmat_mgga_vxc_uks_kernel<<< blocks, threads, 0, stream >>>( ntasks, tasks_device ); + break; + case DEN_Z: + if(do_lapl) + mmat_mgga_vxc_uks_kernel<<< blocks, threads, 0, stream >>>( ntasks, tasks_device ); + else + mmat_mgga_vxc_uks_kernel<<< blocks, threads, 0, stream >>>( ntasks, tasks_device ); + break; + } + } else { + GAUXC_GENERIC_EXCEPTION("MGGA + DEVICE + GKS NYI"); + } + //print_zmat_stats<<<1,1,0,stream>>>(ntasks,tasks_device); } diff --git a/src/xc_integrator/local_work_driver/device/cuda/scheme1_cutlass_base.cxx b/src/xc_integrator/local_work_driver/device/cuda/scheme1_cutlass_base.cxx index 3c11a5fe..7a3b67e1 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/scheme1_cutlass_base.cxx +++ b/src/xc_integrator/local_work_driver/device/cuda/scheme1_cutlass_base.cxx @@ -18,9 +18,6 @@ namespace GauXC { void AoSScheme1CUTLASSBase::eval_xmat(double fac, XCDeviceData* _data, bool do_grad, density_id den_id ){ - if( do_grad ) GAUXC_GENERIC_EXCEPTION("CUTLASS + X Gradient NYI"); - if( den_id != DEN_S ) GAUXC_GENERIC_EXCEPTION("CUTLASS + U/GKS NYI"); - auto* data = dynamic_cast(_data); if( !data ) GAUXC_BAD_LWD_DATA_CAST(); @@ -34,21 +31,61 @@ void AoSScheme1CUTLASSBase::eval_xmat(double fac, XCDeviceData* _data, bool do_g const auto submat_block_size = data->get_submat_chunk_size( nbf, 0 ); auto static_stack = data->static_stack; auto aos_stack = data->aos_stack; - sym_pack_submat( ntasks, aos_stack.device_tasks, static_stack.dmat_s_device, + auto dmat_ptr = static_stack.den_selector(den_id); + sym_pack_submat( ntasks, aos_stack.device_tasks, dmat_ptr, nbf, submat_block_size, data->device_backend_->queue() ); + + auto cutlass_stack = data->cutlass_stack; + auto dmat_array = cutlass_stack.dmat_array(den_id); cutlass_gemm( cutlass_stack.problem_sizes_device, data->problem_sizes_host.data(), ntasks, - cutlass_stack.bf_array_device, cutlass_stack.dmat_array_device, + cutlass_stack.bf_array_device, dmat_array, cutlass_stack.zmat_array_device, cutlass_stack.zmat_array_device, cutlass_stack.ld64_bf_array_device, cutlass_stack.ld64_dmat_array_device, cutlass_stack.ld64_zmat_array_device, cutlass_stack.ld64_zmat_array_device, fac, 0.0, data->device_backend_->queue() ); + + if(do_grad) { + cutlass_gemm( + cutlass_stack.problem_sizes_device, + data->problem_sizes_host.data(), + ntasks, + cutlass_stack.bfx_array_device, dmat_array, + cutlass_stack.xmat_x_array_device, cutlass_stack.xmat_x_array_device, + cutlass_stack.ld64_bf_array_device, cutlass_stack.ld64_dmat_array_device, + cutlass_stack.ld64_zmat_array_device, cutlass_stack.ld64_zmat_array_device, + fac, 0.0, + data->device_backend_->queue() + ); + cutlass_gemm( + cutlass_stack.problem_sizes_device, + data->problem_sizes_host.data(), + ntasks, + cutlass_stack.bfy_array_device, dmat_array, + cutlass_stack.xmat_y_array_device, cutlass_stack.xmat_y_array_device, + cutlass_stack.ld64_bf_array_device, cutlass_stack.ld64_dmat_array_device, + cutlass_stack.ld64_zmat_array_device, cutlass_stack.ld64_zmat_array_device, + fac, 0.0, + data->device_backend_->queue() + ); + cutlass_gemm( + cutlass_stack.problem_sizes_device, + data->problem_sizes_host.data(), + ntasks, + cutlass_stack.bfz_array_device, dmat_array, + cutlass_stack.xmat_z_array_device, cutlass_stack.xmat_z_array_device, + cutlass_stack.ld64_bf_array_device, cutlass_stack.ld64_dmat_array_device, + cutlass_stack.ld64_zmat_array_device, cutlass_stack.ld64_zmat_array_device, + fac, 0.0, + data->device_backend_->queue() + ); + } } void AoSScheme1CUTLASSBase::inc_vxc( XCDeviceData* _data, density_id den_id, bool do_m){ @@ -58,9 +95,6 @@ void AoSScheme1CUTLASSBase::inc_vxc( XCDeviceData* _data, density_id den_id, bo if( not data->device_backend_ ) GAUXC_UNINITIALIZED_DEVICE_BACKEND(); - if(do_m) GAUXC_GENERIC_EXCEPTION("CUTLASS + MGGA NYI"); - if( den_id != DEN_S ) GAUXC_GENERIC_EXCEPTION("CUTLASS + U/GKS NYI"); - auto& tasks = data->host_device_tasks; const auto ntasks = tasks.size(); @@ -76,15 +110,50 @@ void AoSScheme1CUTLASSBase::inc_vxc( XCDeviceData* _data, density_id den_id, bo 1.0, 0.0, data->device_backend_->queue() ); + if(do_m) { + cutlass_syr2k( + cutlass_stack.syr2k_sizes_device, + data->syr2k_sizes_host.data(), + ntasks, + cutlass_stack.bfx_array_device, cutlass_stack.xmat_x_array_device, + cutlass_stack.vmat_array_device, cutlass_stack.vmat_array_device, + cutlass_stack.ld64_bf_array_device, cutlass_stack.ld64_zmat_array_device, + cutlass_stack.ld64_vmat_array_device, cutlass_stack.ld64_vmat_array_device, + 1.0, 1.0, + data->device_backend_->queue() + ); + cutlass_syr2k( + cutlass_stack.syr2k_sizes_device, + data->syr2k_sizes_host.data(), + ntasks, + cutlass_stack.bfy_array_device, cutlass_stack.xmat_y_array_device, + cutlass_stack.vmat_array_device, cutlass_stack.vmat_array_device, + cutlass_stack.ld64_bf_array_device, cutlass_stack.ld64_zmat_array_device, + cutlass_stack.ld64_vmat_array_device, cutlass_stack.ld64_vmat_array_device, + 1.0, 1.0, + data->device_backend_->queue() + ); + cutlass_syr2k( + cutlass_stack.syr2k_sizes_device, + data->syr2k_sizes_host.data(), + ntasks, + cutlass_stack.bfz_array_device, cutlass_stack.xmat_z_array_device, + cutlass_stack.vmat_array_device, cutlass_stack.vmat_array_device, + cutlass_stack.ld64_bf_array_device, cutlass_stack.ld64_zmat_array_device, + cutlass_stack.ld64_vmat_array_device, cutlass_stack.ld64_vmat_array_device, + 1.0, 1.0, + data->device_backend_->queue() + ); + } // Increment global VXC const auto nbf = data->global_dims.nbf; const auto submat_block_size = data->get_submat_chunk_size( nbf, 0 ); auto static_stack = data->static_stack; auto aos_stack = data->aos_stack; - sym_task_inc_potential( ntasks, aos_stack.device_tasks, - static_stack.vxc_s_device, nbf, submat_block_size, - data->device_backend_->queue() ); + auto vxc_ptr = static_stack.vxc_selector(den_id); + sym_task_inc_potential( ntasks, aos_stack.device_tasks, vxc_ptr, nbf, + submat_block_size, data->device_backend_->queue() ); } } diff --git a/src/xc_integrator/local_work_driver/device/cuda/scheme1_cutlass_base.hpp b/src/xc_integrator/local_work_driver/device/cuda/scheme1_cutlass_base.hpp index 0f3ec69e..d6f5acae 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/scheme1_cutlass_base.hpp +++ b/src/xc_integrator/local_work_driver/device/cuda/scheme1_cutlass_base.hpp @@ -32,11 +32,29 @@ struct AoSScheme1CUTLASSBase::Data : public AoSScheme1Base::Data { using base_type::device_buffer_t; struct cutlass_data { - double** dmat_array_device = nullptr; + double** dmat_s_array_device = nullptr; + double** dmat_z_array_device = nullptr; + double** dmat_y_array_device = nullptr; + double** dmat_x_array_device = nullptr; double** vmat_array_device = nullptr; double** zmat_array_device = nullptr; double** bf_array_device = nullptr; - + double** bfx_array_device = nullptr; + double** bfy_array_device = nullptr; + double** bfz_array_device = nullptr; + double** xmat_x_array_device = nullptr; + double** xmat_y_array_device = nullptr; + double** xmat_z_array_device = nullptr; + + inline double** dmat_array(density_id id) { + switch(id) { + case DEN_S: return dmat_s_array_device; + case DEN_Z: return dmat_z_array_device; + case DEN_Y: return dmat_y_array_device; + case DEN_X: return dmat_x_array_device; + default: GAUXC_GENERIC_EXCEPTION("dmat_array: density_id not recognized"); + } + } cutlass::gemm::GemmCoord* problem_sizes_device = nullptr; cutlass::gemm::GemmCoord* syr2k_sizes_device = nullptr; diff --git a/src/xc_integrator/local_work_driver/device/cuda/scheme1_cutlass_data_base.cxx b/src/xc_integrator/local_work_driver/device/cuda/scheme1_cutlass_data_base.cxx index 6bf35c75..65147590 100644 --- a/src/xc_integrator/local_work_driver/device/cuda/scheme1_cutlass_data_base.cxx +++ b/src/xc_integrator/local_work_driver/device/cuda/scheme1_cutlass_data_base.cxx @@ -28,6 +28,8 @@ size_t AoSScheme1CUTLASSBase::Data::get_static_mem_requirement() { size_t AoSScheme1CUTLASSBase::Data::get_mem_req( integrator_term_tracker terms, const host_task_type& task ) { + auto is_uks = terms.ks_scheme == UKS; + auto is_gks = terms.ks_scheme == GKS; size_t base_size = base_type::get_mem_req(terms, task); @@ -39,6 +41,16 @@ size_t AoSScheme1CUTLASSBase::Data::get_mem_req( integrator_term_tracker terms, 4*sizeof(int64_t) + 2*sizeof(cutlass::gemm::GemmCoord); // Dimensions + leading dimensions // (extra handled by get_static_mem_requirement) + if(reqt.task_xmat_grad) { + base_size += 6 * sizeof(double*); + } + + if(is_uks or is_gks) { + base_size += sizeof(double*); // z dmat + } + if(is_gks) { + base_size += 2*sizeof(double*); // x/y dmat + } } return base_size; @@ -57,23 +69,43 @@ AoSScheme1CUTLASSBase::Data::device_buffer_t required_term_storage reqt(terms); if( not reqt.task_nbe_scr ) return buf; + auto is_uks = terms.ks_scheme == UKS; + auto is_gks = terms.ks_scheme == GKS; + // Allocate additional device memory auto [ ptr, sz ] = buf; buffer_adaptor mem( ptr, sz ); const auto ntask = std::distance( task_begin, task_end ); - cutlass_stack.dmat_array_device = mem.aligned_alloc( ntask, csl ); - cutlass_stack.vmat_array_device = mem.aligned_alloc( ntask, csl ); - cutlass_stack.zmat_array_device = mem.aligned_alloc( ntask, csl ); - cutlass_stack.bf_array_device = mem.aligned_alloc( ntask, csl ); + cutlass_stack.dmat_s_array_device = mem.aligned_alloc( ntask, csl ); + cutlass_stack.vmat_array_device = mem.aligned_alloc( ntask, csl ); + cutlass_stack.zmat_array_device = mem.aligned_alloc( ntask, csl ); + cutlass_stack.bf_array_device = mem.aligned_alloc( ntask, csl ); + if(reqt.task_xmat_grad) { + cutlass_stack.bfx_array_device = mem.aligned_alloc( ntask, csl ); + cutlass_stack.bfy_array_device = mem.aligned_alloc( ntask, csl ); + cutlass_stack.bfz_array_device = mem.aligned_alloc( ntask, csl ); + cutlass_stack.xmat_x_array_device = mem.aligned_alloc( ntask, csl ); + cutlass_stack.xmat_y_array_device = mem.aligned_alloc( ntask, csl ); + cutlass_stack.xmat_z_array_device = mem.aligned_alloc( ntask, csl ); + } + + if(is_uks or is_gks) { + cutlass_stack.dmat_z_array_device = mem.aligned_alloc( ntask, csl ); + } + + if(is_gks) { + cutlass_stack.dmat_y_array_device = mem.aligned_alloc( ntask, csl ); + cutlass_stack.dmat_x_array_device = mem.aligned_alloc( ntask, csl ); + } cutlass_stack.ld64_dmat_array_device = mem.aligned_alloc( ntask + 1, csl ); cutlass_stack.ld64_zmat_array_device = mem.aligned_alloc( ntask + 1, csl ); cutlass_stack.ld64_vmat_array_device = mem.aligned_alloc( ntask + 1, csl ); cutlass_stack.ld64_bf_array_device = mem.aligned_alloc( ntask + 1, csl ); - cutlass_stack.problem_sizes_device = mem.aligned_alloc( ntask + 1, csl ); - cutlass_stack.syr2k_sizes_device = mem.aligned_alloc( ntask + 1, csl ); + cutlass_stack.problem_sizes_device = mem.aligned_alloc( ntask + 1, csl ); + cutlass_stack.syr2k_sizes_device = mem.aligned_alloc( ntask + 1, csl ); // Update dynmem data for derived impls return device_buffer_t{ mem.stack(), mem.nleft() }; @@ -88,6 +120,9 @@ void AoSScheme1CUTLASSBase::Data::pack_and_send( required_term_storage reqt(terms); if( not reqt.task_nbe_scr ) return; + auto is_uks = terms.ks_scheme == UKS; + auto is_gks = terms.ks_scheme == GKS; + const auto ntask = std::distance( task_begin, task_end ); std::vector dmat_host( ntask ), zmat_host( ntask ), bf_host( ntask ), vmat_host( ntask ); @@ -96,7 +131,6 @@ void AoSScheme1CUTLASSBase::Data::pack_and_send( std::vector ld64_dmat_host( ntask ), ld64_zmat_host( ntask ), ld64_vmat_host( ntask ), ld64_bf_host( ntask ); - double* static_dmat = static_stack.dmat_s_device; const auto nbf = global_dims.nbf; // host_device_tasks should be populated by parent impl called at top @@ -109,7 +143,7 @@ void AoSScheme1CUTLASSBase::Data::pack_and_send( dmat_host[i] = task.nbe_scr; ld64_dmat_host[i] = task.bfn_screening.nbe; } else { - dmat_host[i] = static_dmat + task.bfn_screening.ibf_begin*(nbf+1); + dmat_host[i] = static_stack.dmat_s_device + task.bfn_screening.ibf_begin*(nbf+1); ld64_dmat_host[i] = nbf; } @@ -118,12 +152,11 @@ void AoSScheme1CUTLASSBase::Data::pack_and_send( cutlass::gemm::GemmCoord problem2(task.bfn_screening.nbe, task.bfn_screening.nbe, task.npts); syr2k_sizes_host[i] = problem2; - } // Send to device device_backend_->copy_async( ntask, dmat_host.data(), - cutlass_stack.dmat_array_device, "send dmat array" ); + cutlass_stack.dmat_s_array_device, "send dmat_s array" ); device_backend_->copy_async( ntask, zmat_host.data(), cutlass_stack.zmat_array_device, "send zmat array" ); device_backend_->copy_async( ntask, vmat_host.data(), @@ -144,6 +177,66 @@ void AoSScheme1CUTLASSBase::Data::pack_and_send( device_backend_->copy_async( ntask, ld64_bf_host.data(), cutlass_stack.ld64_bf_array_device, "send ld bf array" ); + if(is_uks or is_gks) { + std::vector dmat_z_host( ntask ); + for( auto i = 0; i < ntask; ++i ) { + auto& task = host_device_tasks[i]; + if( task.bfn_screening.ncut > 1 ) { + dmat_z_host[i] = task.nbe_scr; + } else { + dmat_z_host[i] = static_stack.dmat_z_device + task.bfn_screening.ibf_begin*(nbf+1); + } + } + device_backend_->copy_async( ntask, dmat_z_host.data(), + cutlass_stack.dmat_z_array_device, "send dmat_z array" ); + } + + if(is_gks) { + std::vector dmat_y_host( ntask ); + std::vector dmat_x_host( ntask ); + for( auto i = 0; i < ntask; ++i ) { + auto& task = host_device_tasks[i]; + if( task.bfn_screening.ncut > 1 ) { + dmat_y_host[i] = task.nbe_scr; + dmat_x_host[i] = task.nbe_scr; + } else { + dmat_y_host[i] = static_stack.dmat_y_device + task.bfn_screening.ibf_begin*(nbf+1); + dmat_x_host[i] = static_stack.dmat_x_device + task.bfn_screening.ibf_begin*(nbf+1); + } + } + device_backend_->copy_async( ntask, dmat_x_host.data(), + cutlass_stack.dmat_x_array_device, "send dmat_x array" ); + device_backend_->copy_async( ntask, dmat_y_host.data(), + cutlass_stack.dmat_y_array_device, "send dmat_y array" ); + } + + if(reqt.task_xmat_grad) { + std::vector xmat_x_host( ntask ), bfx_host( ntask ); + std::vector xmat_y_host( ntask ), bfy_host( ntask ); + std::vector xmat_z_host( ntask ), bfz_host( ntask ); + for( auto i = 0; i < ntask; ++i ) { + auto& task = host_device_tasks[i]; + xmat_x_host[i] = task.xmat_x; + xmat_y_host[i] = task.xmat_y; + xmat_z_host[i] = task.xmat_z; + bfx_host[i] = task.dbfx; + bfy_host[i] = task.dbfy; + bfz_host[i] = task.dbfz; + } + device_backend_->copy_async( ntask, xmat_x_host.data(), + cutlass_stack.xmat_x_array_device, "send xmat_x array" ); + device_backend_->copy_async( ntask, xmat_y_host.data(), + cutlass_stack.xmat_y_array_device, "send xmat_y array" ); + device_backend_->copy_async( ntask, xmat_z_host.data(), + cutlass_stack.xmat_z_array_device, "send xmat_z array" ); + device_backend_->copy_async( ntask, bfx_host.data(), + cutlass_stack.bfx_array_device, "send bfx array" ); + device_backend_->copy_async( ntask, bfy_host.data(), + cutlass_stack.bfy_array_device, "send bfy array" ); + device_backend_->copy_async( ntask, bfz_host.data(), + cutlass_stack.bfz_array_device, "send bfz array" ); + } + device_backend_->master_queue_synchronize(); } diff --git a/src/xc_integrator/local_work_driver/device/local_device_work_driver.cxx b/src/xc_integrator/local_work_driver/device/local_device_work_driver.cxx index 2232e14d..24778b57 100644 --- a/src/xc_integrator/local_work_driver/device/local_device_work_driver.cxx +++ b/src/xc_integrator/local_work_driver/device/local_device_work_driver.cxx @@ -53,11 +53,21 @@ void LocalDeviceWorkDriver::NAME( XCDeviceData* device_data, integrator_ks_schem throw_if_invalid_pimpl(pimpl_); \ pimpl_->NAME(device_data, track); \ } +#define FWD_TO_PIMPL_KS_SCHEME_BOOL(NAME) \ +void LocalDeviceWorkDriver::NAME( XCDeviceData* device_data, integrator_ks_scheme track, bool b ) { \ + throw_if_invalid_pimpl(pimpl_); \ + pimpl_->NAME(device_data, track, b); \ +} #define FWD_TO_PIMPL_KS_SCHEME_DEN_ID(NAME) \ void LocalDeviceWorkDriver::NAME( XCDeviceData* device_data, integrator_ks_scheme track, density_id den ) { \ throw_if_invalid_pimpl(pimpl_); \ pimpl_->NAME(device_data, track, den); \ } +#define FWD_TO_PIMPL_KS_SCHEME_BOOL_DEN_ID(NAME) \ +void LocalDeviceWorkDriver::NAME( XCDeviceData* device_data, integrator_ks_scheme track, bool b, density_id den ) { \ + throw_if_invalid_pimpl(pimpl_); \ + pimpl_->NAME(device_data, track, b, den); \ +} FWD_TO_PIMPL(partition_weights) // Partition weights @@ -70,16 +80,18 @@ FWD_TO_PIMPL(eval_collocation_lapgrad) // Collocation Laplacian gradient FWD_TO_PIMPL_KS_SCHEME(eval_uvars_lda) // U variables LDA (rho) FWD_TO_PIMPL_KS_SCHEME(eval_uvars_gga) // U variables GGA (gamma) -FWD_TO_PIMPL_BOOL(eval_uvars_mgga) // U variables MGGA (tau, lapl) -FWD_TO_PIMPL_DEN_ID_BOOL(eval_vvar) // V variable (density + grad) +FWD_TO_PIMPL_KS_SCHEME_BOOL(eval_uvars_mgga) // U variables MGGA (tau, lapl) +FWD_TO_PIMPL_DEN_ID(eval_vvars_lda) // V variables LDA (density) +FWD_TO_PIMPL_DEN_ID(eval_vvars_gga) // V variables GGA (density + grad) +FWD_TO_PIMPL_DEN_ID_BOOL(eval_vvars_mgga) // V variables MGGA (density + grad + tau + lapl) FWD_TO_PIMPL_KS_SCHEME_DEN_ID(eval_zmat_lda_vxc) // Eval Z Matrix LDA VXC FWD_TO_PIMPL_KS_SCHEME_DEN_ID(eval_zmat_gga_vxc) // Eval Z Matrix GGA VXC -FWD_TO_PIMPL_BOOL(eval_zmat_mgga_vxc) // Eval Z Matrix mGGA VXC -FWD_TO_PIMPL_BOOL(eval_mmat_mgga_vxc) // Eval M Matrix mGGA VXC +FWD_TO_PIMPL_KS_SCHEME_BOOL_DEN_ID(eval_zmat_mgga_vxc) // Eval Z Matrix mGGA VXC +FWD_TO_PIMPL_KS_SCHEME_BOOL_DEN_ID(eval_mmat_mgga_vxc) // Eval M Matrix mGGA VXC FWD_TO_PIMPL(eval_exx_fmat) // Eval EXX F Matrix -//FWD_TO_PIMPL(eval_exx_gmat) // Eval EXX G Matrix +//FWD_TO_PIMPL(eval_exx_gmat) // Eval EXX G Matrix FWD_TO_PIMPL(inc_exc) @@ -87,9 +99,9 @@ FWD_TO_PIMPL(inc_nel) FWD_TO_PIMPL_DEN_ID_BOOL(inc_vxc) // Increment VXC_I by Z FWD_TO_PIMPL(inc_exx_k) -FWD_TO_PIMPL(inc_exc_grad_lda) -FWD_TO_PIMPL(inc_exc_grad_gga) -FWD_TO_PIMPL_BOOL(inc_exc_grad_mgga) +FWD_TO_PIMPL_KS_SCHEME(inc_exc_grad_lda) +FWD_TO_PIMPL_KS_SCHEME(inc_exc_grad_gga) +FWD_TO_PIMPL_KS_SCHEME_BOOL(inc_exc_grad_mgga) FWD_TO_PIMPL_DEN_ID(symmetrize_vxc) FWD_TO_PIMPL(symmetrize_exx_k) @@ -102,6 +114,10 @@ void LocalDeviceWorkDriver::eval_xmat( double fac, XCDeviceData* device_data, bo throw_if_invalid_pimpl(pimpl_); pimpl_->eval_xmat(fac, device_data, do_grad, den); } +void LocalDeviceWorkDriver::save_xmat( XCDeviceData* device_data, bool do_grad, density_id den ) { + throw_if_invalid_pimpl(pimpl_); + pimpl_->save_xmat(device_data, do_grad, den); +} void LocalDeviceWorkDriver::eval_exx_gmat( XCDeviceData* device_data, diff --git a/src/xc_integrator/local_work_driver/device/local_device_work_driver.hpp b/src/xc_integrator/local_work_driver/device/local_device_work_driver.hpp index 45aaffbb..6ee9be11 100644 --- a/src/xc_integrator/local_work_driver/device/local_device_work_driver.hpp +++ b/src/xc_integrator/local_work_driver/device/local_device_work_driver.hpp @@ -63,11 +63,14 @@ class LocalDeviceWorkDriver : public LocalWorkDriver { void eval_collocation_laplacian( XCDeviceData* ); void eval_collocation_lapgrad( XCDeviceData* ); void eval_xmat( double fac, XCDeviceData*, bool do_grad, density_id den ); + void save_xmat( XCDeviceData*, bool grad, density_id den ); - void eval_uvars_lda( XCDeviceData*, integrator_ks_scheme ) ; - void eval_uvars_gga( XCDeviceData*, integrator_ks_scheme ) ; - void eval_uvars_mgga( XCDeviceData*, bool ) ; - void eval_vvar( XCDeviceData*, density_id, bool ) ; + void eval_uvars_lda ( XCDeviceData*, integrator_ks_scheme ) ; + void eval_uvars_gga ( XCDeviceData*, integrator_ks_scheme ) ; + void eval_uvars_mgga( XCDeviceData*, integrator_ks_scheme, bool ) ; + void eval_vvars_lda ( XCDeviceData*, density_id ) ; + void eval_vvars_gga ( XCDeviceData*, density_id ) ; + void eval_vvars_mgga( XCDeviceData*, density_id, bool ) ; void eval_kern_exc_vxc_lda( const functional_type&, XCDeviceData* ); @@ -77,8 +80,8 @@ class LocalDeviceWorkDriver : public LocalWorkDriver { void eval_zmat_lda_vxc( XCDeviceData*, integrator_ks_scheme, density_id ) ; void eval_zmat_gga_vxc( XCDeviceData*, integrator_ks_scheme, density_id ) ; - void eval_zmat_mgga_vxc( XCDeviceData*, bool ) ; - void eval_mmat_mgga_vxc( XCDeviceData*, bool ); + void eval_zmat_mgga_vxc( XCDeviceData*, integrator_ks_scheme, bool, density_id ) ; + void eval_mmat_mgga_vxc( XCDeviceData*, integrator_ks_scheme, bool, density_id ); void eval_exx_fmat( XCDeviceData* ); void eval_exx_gmat( XCDeviceData*, const BasisSetMap& ); @@ -86,9 +89,9 @@ class LocalDeviceWorkDriver : public LocalWorkDriver { void inc_exc( XCDeviceData* ); void inc_nel( XCDeviceData* ); void inc_vxc( XCDeviceData*, density_id, bool do_m = false ); - void inc_exc_grad_lda( XCDeviceData* ); - void inc_exc_grad_gga( XCDeviceData* ); - void inc_exc_grad_mgga( XCDeviceData*, bool ); + void inc_exc_grad_lda( XCDeviceData*, integrator_ks_scheme ); + void inc_exc_grad_gga( XCDeviceData*, integrator_ks_scheme ); + void inc_exc_grad_mgga( XCDeviceData*, integrator_ks_scheme , bool ); void inc_exx_k( XCDeviceData* ); void eval_exx_ek_screening_bfn_stats( XCDeviceData* ); diff --git a/src/xc_integrator/local_work_driver/device/local_device_work_driver_pimpl.hpp b/src/xc_integrator/local_work_driver/device/local_device_work_driver_pimpl.hpp index ffbc2f1d..dd43b99f 100644 --- a/src/xc_integrator/local_work_driver/device/local_device_work_driver_pimpl.hpp +++ b/src/xc_integrator/local_work_driver/device/local_device_work_driver_pimpl.hpp @@ -36,26 +36,29 @@ struct LocalDeviceWorkDriverPIMPL { virtual void eval_collocation_laplacian( XCDeviceData* ) = 0; virtual void eval_collocation_lapgrad( XCDeviceData* ) = 0; virtual void eval_xmat( double fac, XCDeviceData*, bool do_grad, density_id den ) = 0; + virtual void save_xmat( XCDeviceData*, bool do_grad, density_id den ) = 0; virtual void eval_exx_fmat( XCDeviceData* ) = 0; //virtual void eval_exx_gmat( XCDeviceData* ) = 0; virtual void eval_exx_gmat( XCDeviceData*, const BasisSetMap& ) = 0; virtual void eval_uvars_lda( XCDeviceData*, integrator_ks_scheme ) = 0; virtual void eval_uvars_gga( XCDeviceData*, integrator_ks_scheme ) = 0; - virtual void eval_uvars_mgga( XCDeviceData*, bool ) = 0; - virtual void eval_vvar( XCDeviceData*, density_id, bool ) = 0; + virtual void eval_uvars_mgga( XCDeviceData*, integrator_ks_scheme, bool ) = 0; + virtual void eval_vvars_lda ( XCDeviceData*, density_id ) = 0; + virtual void eval_vvars_gga ( XCDeviceData*, density_id ) = 0; + virtual void eval_vvars_mgga( XCDeviceData*, density_id, bool ) = 0; virtual void eval_kern_exc_vxc_lda( const functional_type&, XCDeviceData* ) = 0; virtual void eval_kern_exc_vxc_gga( const functional_type&, XCDeviceData* ) = 0; virtual void eval_kern_exc_vxc_mgga( const functional_type&, XCDeviceData* ) = 0; virtual void eval_zmat_lda_vxc( XCDeviceData*, integrator_ks_scheme, density_id ) = 0; virtual void eval_zmat_gga_vxc( XCDeviceData*, integrator_ks_scheme, density_id ) = 0; - virtual void eval_zmat_mgga_vxc( XCDeviceData*, bool ) = 0; - virtual void eval_mmat_mgga_vxc( XCDeviceData*, bool ) = 0; + virtual void eval_zmat_mgga_vxc( XCDeviceData*, integrator_ks_scheme, bool, density_id ) = 0; + virtual void eval_mmat_mgga_vxc( XCDeviceData*, integrator_ks_scheme, bool, density_id ) = 0; virtual void inc_exc( XCDeviceData* ) = 0; virtual void inc_nel( XCDeviceData* ) = 0; virtual void inc_vxc( XCDeviceData* , density_id, bool) = 0; - virtual void inc_exc_grad_lda( XCDeviceData* ) = 0; - virtual void inc_exc_grad_gga( XCDeviceData* ) = 0; - virtual void inc_exc_grad_mgga( XCDeviceData*, bool ) = 0; + virtual void inc_exc_grad_lda( XCDeviceData*, integrator_ks_scheme ) = 0; + virtual void inc_exc_grad_gga( XCDeviceData*, integrator_ks_scheme ) = 0; + virtual void inc_exc_grad_mgga( XCDeviceData*, integrator_ks_scheme , bool ) = 0; virtual void inc_exx_k( XCDeviceData* ) = 0; virtual void symmetrize_vxc( XCDeviceData*, density_id ) = 0; virtual void symmetrize_exx_k( XCDeviceData* ) = 0; diff --git a/src/xc_integrator/local_work_driver/device/scheme1_base.cxx b/src/xc_integrator/local_work_driver/device/scheme1_base.cxx index ce02dbc8..69f67daa 100644 --- a/src/xc_integrator/local_work_driver/device/scheme1_base.cxx +++ b/src/xc_integrator/local_work_driver/device/scheme1_base.cxx @@ -279,7 +279,7 @@ void AoSScheme1Base::eval_zmat_gga_vxc( XCDeviceData* _data, integrator_ks_schem data->device_backend_->check_error("zmat_gga" __FILE__ ": " + std::to_string(__LINE__)); } -void AoSScheme1Base::eval_zmat_mgga_vxc( XCDeviceData* _data, bool do_lapl){ +void AoSScheme1Base::eval_zmat_mgga_vxc( XCDeviceData* _data, integrator_ks_scheme scheme, bool do_lapl, density_id id){ auto* data = dynamic_cast(_data); if( !data ) GAUXC_BAD_LWD_DATA_CAST(); @@ -296,14 +296,14 @@ void AoSScheme1Base::eval_zmat_mgga_vxc( XCDeviceData* _data, bool do_lapl){ auto aos_stack = data->aos_stack; zmat_mgga_vxc( ntasks, nbe_max, npts_max, aos_stack.device_tasks, - do_lapl, data->device_backend_->queue() ); + do_lapl, scheme, id, data->device_backend_->queue() ); data->device_backend_->check_error("zmat_mgga" __FILE__ ": " + std::to_string(__LINE__)); } -void AoSScheme1Base::eval_mmat_mgga_vxc( XCDeviceData* _data, bool do_lapl){ +void AoSScheme1Base::eval_mmat_mgga_vxc( XCDeviceData* _data, integrator_ks_scheme scheme, bool do_lapl, density_id id){ auto* data = dynamic_cast(_data); if( !data ) GAUXC_BAD_LWD_DATA_CAST(); @@ -320,7 +320,7 @@ void AoSScheme1Base::eval_mmat_mgga_vxc( XCDeviceData* _data, bool do_lapl){ auto aos_stack = data->aos_stack; mmat_mgga_vxc( ntasks, nbe_max, npts_max, aos_stack.device_tasks, - do_lapl, data->device_backend_->queue() ); + do_lapl, scheme, id, data->device_backend_->queue() ); data->device_backend_->check_error("mmat_mgga" __FILE__ ": " + std::to_string(__LINE__)); @@ -557,13 +557,37 @@ void AoSScheme1Base::eval_uvars_gga( XCDeviceData* _data, integrator_ks_scheme k data->device_backend_->check_error("uvvar gga" __FILE__ ": " + std::to_string(__LINE__)); } -void AoSScheme1Base::eval_uvars_mgga( XCDeviceData* _data, bool do_lapl ){ +void AoSScheme1Base::eval_uvars_mgga( XCDeviceData* _data, integrator_ks_scheme scheme, bool do_lapl ){ auto* data = dynamic_cast(_data); if( !data ) GAUXC_BAD_LWD_DATA_CAST(); if( not data->device_backend_ ) GAUXC_UNINITIALIZED_DEVICE_BACKEND(); + auto& tasks = data->host_device_tasks; + const auto ntasks = tasks.size(); + size_t nbe_max = 0, npts_max = 0; + for( auto& task : tasks ) { + npts_max = std::max( npts_max, task.npts ); + } + + auto base_stack = data->base_stack; + + // Evaluate U variable + auto aos_stack = data->aos_stack; + GauXC::eval_uvars_mgga( ntasks, npts_max, scheme, do_lapl, + aos_stack.device_tasks, data->device_backend_->queue() ); + + + data->device_backend_->check_error("uvvar mgga" __FILE__ ": " + std::to_string(__LINE__)); +} + +void AoSScheme1Base::eval_vvars_lda( XCDeviceData* _data, density_id den_select){ + auto* data = dynamic_cast(_data); + if ( !data ) GAUXC_BAD_LWD_DATA_CAST(); + + if( not data->device_backend_ ) GAUXC_UNINITIALIZED_DEVICE_BACKEND(); + auto& tasks = data->host_device_tasks; const auto ntasks = tasks.size(); size_t nbe_max = 0, npts_max = 0; @@ -572,25 +596,36 @@ void AoSScheme1Base::eval_uvars_mgga( XCDeviceData* _data, bool do_lapl ){ npts_max = std::max( npts_max, task.npts ); } - // Zero tau + // Zero density auto base_stack = data->base_stack; - data->device_backend_->set_zero_async_master_queue( data->total_npts_task_batch, base_stack.tau_eval_device, "Tau Zero" ); - if(do_lapl) { - data->device_backend_->set_zero_async_master_queue( data->total_npts_task_batch, base_stack.den_lapl_eval_device, "DenLapl Zero" ); + double* den_eval_ptr = nullptr; + switch ( den_select ) { + case DEN_S: + den_eval_ptr = base_stack.den_s_eval_device; + break; + case DEN_Z: + den_eval_ptr = base_stack.den_z_eval_device; + break; + case DEN_Y: + den_eval_ptr = base_stack.den_y_eval_device; + break; + case DEN_X: + den_eval_ptr = base_stack.den_x_eval_device; + break; + default: + GAUXC_GENERIC_EXCEPTION( "eval_vvars_lda called with invalid density selected!" ); } + data->device_backend_->set_zero_async_master_queue( data->total_npts_task_batch, den_eval_ptr, "Den Zero" ); - // Evaluate U variables + // Evaluate V variable auto aos_stack = data->aos_stack; - GauXC::eval_uvars_mgga( ntasks, data->total_npts_task_batch, nbe_max, npts_max, do_lapl, + GauXC::eval_vvars_lda( ntasks, nbe_max, npts_max, den_select, aos_stack.device_tasks, data->device_backend_->queue() ); - - data->device_backend_->check_error("uvvar mgga" __FILE__ ": " + std::to_string(__LINE__)); } - -void AoSScheme1Base::eval_vvar( XCDeviceData* _data, density_id den_select, bool do_grad){ +void AoSScheme1Base::eval_vvars_gga( XCDeviceData* _data, density_id den_select){ auto* data = dynamic_cast(_data); if ( !data ) GAUXC_BAD_LWD_DATA_CAST(); @@ -613,47 +648,247 @@ void AoSScheme1Base::eval_vvar( XCDeviceData* _data, density_id den_select, bool switch ( den_select ) { case DEN_S: den_eval_ptr = base_stack.den_s_eval_device; - if (do_grad) { den_x_eval_ptr = base_stack.dden_sx_eval_device; - den_y_eval_ptr = base_stack.dden_sy_eval_device; - den_z_eval_ptr = base_stack.dden_sz_eval_device; } + den_x_eval_ptr = base_stack.dden_sx_eval_device; + den_y_eval_ptr = base_stack.dden_sy_eval_device; + den_z_eval_ptr = base_stack.dden_sz_eval_device; break; case DEN_Z: den_eval_ptr = base_stack.den_z_eval_device; - if (do_grad) { den_x_eval_ptr = base_stack.dden_zx_eval_device; - den_y_eval_ptr = base_stack.dden_zy_eval_device; - den_z_eval_ptr = base_stack.dden_zz_eval_device; } + den_x_eval_ptr = base_stack.dden_zx_eval_device; + den_y_eval_ptr = base_stack.dden_zy_eval_device; + den_z_eval_ptr = base_stack.dden_zz_eval_device; break; case DEN_Y: den_eval_ptr = base_stack.den_y_eval_device; - if (do_grad) { den_x_eval_ptr = base_stack.dden_yx_eval_device; - den_y_eval_ptr = base_stack.dden_yy_eval_device; - den_z_eval_ptr = base_stack.dden_yz_eval_device; } + den_x_eval_ptr = base_stack.dden_yx_eval_device; + den_y_eval_ptr = base_stack.dden_yy_eval_device; + den_z_eval_ptr = base_stack.dden_yz_eval_device; break; case DEN_X: den_eval_ptr = base_stack.den_x_eval_device; - if (do_grad) { den_x_eval_ptr = base_stack.dden_xx_eval_device; - den_y_eval_ptr = base_stack.dden_xy_eval_device; - den_z_eval_ptr = base_stack.dden_xz_eval_device; } + den_x_eval_ptr = base_stack.dden_xx_eval_device; + den_y_eval_ptr = base_stack.dden_xy_eval_device; + den_z_eval_ptr = base_stack.dden_xz_eval_device; break; default: - GAUXC_GENERIC_EXCEPTION( "eval_vvar called with invalid density selected!" ); + GAUXC_GENERIC_EXCEPTION( "eval_vvars_gga called with invalid density selected!" ); } data->device_backend_->set_zero_async_master_queue( data->total_npts_task_batch, den_eval_ptr, "Den Zero" ); + data->device_backend_->set_zero_async_master_queue( data->total_npts_task_batch, den_x_eval_ptr, "Den Zero" ); + data->device_backend_->set_zero_async_master_queue( data->total_npts_task_batch, den_y_eval_ptr, "Den Zero" ); + data->device_backend_->set_zero_async_master_queue( data->total_npts_task_batch, den_z_eval_ptr, "Den Zero" ); + + // Evaluate V variable + auto aos_stack = data->aos_stack; + GauXC::eval_vvars_gga( ntasks, nbe_max, npts_max, den_select, + aos_stack.device_tasks, data->device_backend_->queue() ); + +} + +void AoSScheme1Base::eval_vvars_mgga( XCDeviceData* _data, density_id den_select, bool need_lapl){ + auto* data = dynamic_cast(_data); + if ( !data ) GAUXC_BAD_LWD_DATA_CAST(); + + if( not data->device_backend_ ) GAUXC_UNINITIALIZED_DEVICE_BACKEND(); - if (do_grad) { - data->device_backend_->set_zero_async_master_queue( data->total_npts_task_batch, den_x_eval_ptr, "Den Zero" ); - data->device_backend_->set_zero_async_master_queue( data->total_npts_task_batch, den_y_eval_ptr, "Den Zero" ); - data->device_backend_->set_zero_async_master_queue( data->total_npts_task_batch, den_z_eval_ptr, "Den Zero" ); + auto& tasks = data->host_device_tasks; + const auto ntasks = tasks.size(); + size_t nbe_max = 0, npts_max = 0; + for( auto& task : tasks ) { + nbe_max = std::max( nbe_max, task.bfn_screening.nbe ); + npts_max = std::max( npts_max, task.npts ); } + + // Zero density + auto base_stack = data->base_stack; + double* den_eval_ptr = nullptr; + double* den_x_eval_ptr = nullptr; + double* den_y_eval_ptr = nullptr; + double* den_z_eval_ptr = nullptr; + double* tau_eval_ptr = nullptr; + double* lapl_eval_ptr = nullptr; + switch ( den_select ) { + case DEN_S: + den_eval_ptr = base_stack.den_s_eval_device; + den_x_eval_ptr = base_stack.dden_sx_eval_device; + den_y_eval_ptr = base_stack.dden_sy_eval_device; + den_z_eval_ptr = base_stack.dden_sz_eval_device; + tau_eval_ptr = base_stack.tau_s_eval_device; + lapl_eval_ptr = base_stack.lapl_s_eval_device; + break; + case DEN_Z: + den_eval_ptr = base_stack.den_z_eval_device; + den_x_eval_ptr = base_stack.dden_zx_eval_device; + den_y_eval_ptr = base_stack.dden_zy_eval_device; + den_z_eval_ptr = base_stack.dden_zz_eval_device; + tau_eval_ptr = base_stack.tau_z_eval_device; + lapl_eval_ptr = base_stack.lapl_z_eval_device; + break; + case DEN_Y: + den_eval_ptr = base_stack.den_y_eval_device; + den_x_eval_ptr = base_stack.dden_yx_eval_device; + den_y_eval_ptr = base_stack.dden_yy_eval_device; + den_z_eval_ptr = base_stack.dden_yz_eval_device; + break; + case DEN_X: + den_eval_ptr = base_stack.den_x_eval_device; + den_x_eval_ptr = base_stack.dden_xx_eval_device; + den_y_eval_ptr = base_stack.dden_xy_eval_device; + den_z_eval_ptr = base_stack.dden_xz_eval_device; + break; + default: + GAUXC_GENERIC_EXCEPTION( "eval_vvars_gga called with invalid density selected!" ); + } + + data->device_backend_->set_zero_async_master_queue( data->total_npts_task_batch, den_eval_ptr, "Den Zero" ); + data->device_backend_->set_zero_async_master_queue( data->total_npts_task_batch, den_x_eval_ptr, "Den Zero" ); + data->device_backend_->set_zero_async_master_queue( data->total_npts_task_batch, den_y_eval_ptr, "Den Zero" ); + data->device_backend_->set_zero_async_master_queue( data->total_npts_task_batch, den_z_eval_ptr, "Den Zero" ); + if(tau_eval_ptr) + data->device_backend_->set_zero_async_master_queue( data->total_npts_task_batch, tau_eval_ptr, "TAU Zero"); + if(lapl_eval_ptr) + data->device_backend_->set_zero_async_master_queue( data->total_npts_task_batch, lapl_eval_ptr, "TAU Zero"); // Evaluate V variable - auto aos_stack = data->aos_stack; - GauXC::eval_vvar( ntasks, nbe_max, npts_max, do_grad, den_select, + auto aos_stack = data->aos_stack; + GauXC::eval_vvars_mgga( ntasks, nbe_max, npts_max, den_select, need_lapl, aos_stack.device_tasks, data->device_backend_->queue() ); } +template +void interleave_kernel_input(size_t len, const T* src_data, int src_stride, T* tgt_data, int tgt_stride, std::string msg, + DeviceBackend* backend) { + backend->copy_async_2d(1, len, src_data, src_stride, tgt_data, tgt_stride, msg); +} + +template +void interleave_lda_input(size_t npts, T& base_stack, DeviceBackend* backend) { + interleave_kernel_input(npts, base_stack.den_s_eval_device, 1, base_stack.den_interleaved_device+0, 2, + "den_+ - > den_interleaved", backend); + interleave_kernel_input(npts, base_stack.den_z_eval_device, 1, base_stack.den_interleaved_device+1, 2, + "den_- - > den_interleaved", backend); +} + +template +void interleave_gga_input(size_t npts, T& base_stack, DeviceBackend* backend) { + interleave_lda_input(npts, base_stack, backend); + interleave_kernel_input(npts, base_stack.gamma_pp_eval_device, 1, base_stack.gamma_eval_device+0, 3, + "gamma_++ - > gamma_interleaved", backend); + interleave_kernel_input(npts, base_stack.gamma_pm_eval_device, 1, base_stack.gamma_eval_device+1, 3, + "gamma_+- - > gamma_interleaved", backend); + interleave_kernel_input(npts, base_stack.gamma_mm_eval_device, 1, base_stack.gamma_eval_device+2, 3, + "gamma_-- - > gamma_interleaved", backend); +} + +template +void interleave_mgga_input(size_t npts, T& base_stack, DeviceBackend* backend, bool need_lapl) { + interleave_gga_input(npts, base_stack, backend); + interleave_kernel_input(npts, base_stack.tau_s_eval_device, 1, base_stack.tau_interleaved_device, 2, + "tau_+ - > tau_interleaved", backend); + interleave_kernel_input(npts, base_stack.tau_z_eval_device, 1, base_stack.tau_interleaved_device+1, 2, + "tau_- - > tau_interleaved", backend); + if(need_lapl) { + interleave_kernel_input(npts, base_stack.lapl_s_eval_device, 1, base_stack.lapl_interleaved_device, 2, + "lapl_+ - > lapl_interleaved", backend); + interleave_kernel_input(npts, base_stack.lapl_z_eval_device, 1, base_stack.lapl_interleaved_device+1, 2, + "lapl_- - > lapl_interleaved", backend); + } +} + + + +template +void deinterleave_lda_output(size_t npts, T& base_stack, DeviceBackend* backend) { + interleave_kernel_input(npts, base_stack.vrho_eval_device+0, 2, base_stack.vrho_pos_eval_device, 1, + "vrho -> vrho+", backend); + interleave_kernel_input(npts, base_stack.vrho_eval_device+1, 2, base_stack.vrho_neg_eval_device, 1, + "vrho -> vrho-", backend); +} + +template +void deinterleave_gga_output(size_t npts, T& base_stack, DeviceBackend* backend) { + deinterleave_lda_output(npts, base_stack, backend); + interleave_kernel_input(npts, base_stack.vgamma_eval_device+0, 3, base_stack.vgamma_pp_eval_device, 1, + "vgamma -> vgamma++", backend); + interleave_kernel_input(npts, base_stack.vgamma_eval_device+1, 3, base_stack.vgamma_pm_eval_device, 1, + "vgamma -> vgamma+-", backend); + interleave_kernel_input(npts, base_stack.vgamma_eval_device+2, 3, base_stack.vgamma_mm_eval_device, 1, + "vgamma -> vgamma--", backend); +} + +template +void deinterleave_mgga_output(size_t npts, T& base_stack, DeviceBackend* backend, bool need_lapl) { + deinterleave_gga_output(npts, base_stack, backend); + interleave_kernel_input(npts, base_stack.vtau_eval_device+0, 2, base_stack.vtau_pos_eval_device, 1, + "vtau -> vtau+", backend); + interleave_kernel_input(npts, base_stack.vtau_eval_device+1, 2, base_stack.vtau_neg_eval_device, 1, + "vtau -> vtau-", backend); + if(need_lapl) { + interleave_kernel_input(npts, base_stack.vlapl_eval_device+0, 2, base_stack.vlapl_pos_eval_device, 1, + "vlapl -> vlapl+", backend); + interleave_kernel_input(npts, base_stack.vlapl_eval_device+1, 2, base_stack.vlapl_neg_eval_device, 1, + "vlapl -> vlapl-", backend); + } +} + + +template +void scale_lda_output(size_t npts, T& base_stack, DeviceBackend* backend, bool is_pol) { + hadamard_product(backend->master_blas_handle(), npts, 1, base_stack.weights_device, 1, + base_stack.eps_eval_device, 1); + if(is_pol) { + hadamard_product(backend->master_blas_handle(), npts, 1, base_stack.weights_device, 1, + base_stack.vrho_pos_eval_device, 1); + hadamard_product(backend->master_blas_handle(), npts, 1, base_stack.weights_device, 1, + base_stack.vrho_neg_eval_device, 1); + } else { + hadamard_product(backend->master_blas_handle(), npts, 1, base_stack.weights_device, 1, + base_stack.vrho_eval_device, 1); + } +} + +template +void scale_gga_output(size_t npts, T& base_stack, DeviceBackend* backend, bool is_pol) { + scale_lda_output(npts, base_stack, backend, is_pol); + if(is_pol) { + hadamard_product(backend->master_blas_handle(), npts, 1, base_stack.weights_device, 1, + base_stack.vgamma_pp_eval_device, 1); + hadamard_product(backend->master_blas_handle(), npts, 1, base_stack.weights_device, 1, + base_stack.vgamma_pm_eval_device, 1); + hadamard_product(backend->master_blas_handle(), npts, 1, base_stack.weights_device, 1, + base_stack.vgamma_mm_eval_device, 1); + } else { + hadamard_product(backend->master_blas_handle(), npts, 1, base_stack.weights_device, 1, + base_stack.vgamma_eval_device, 1); + } +} + +template +void scale_mgga_output(size_t npts, T& base_stack, DeviceBackend* backend, bool need_lapl, bool is_pol) { + scale_gga_output(npts, base_stack, backend, is_pol); + if(is_pol) { + hadamard_product(backend->master_blas_handle(), npts, 1, base_stack.weights_device, 1, + base_stack.vtau_pos_eval_device, 1); + hadamard_product(backend->master_blas_handle(), npts, 1, base_stack.weights_device, 1, + base_stack.vtau_neg_eval_device, 1); + if(need_lapl) { + hadamard_product(backend->master_blas_handle(), npts, 1, base_stack.weights_device, 1, + base_stack.vlapl_pos_eval_device, 1); + hadamard_product(backend->master_blas_handle(), npts, 1, base_stack.weights_device, 1, + base_stack.vlapl_neg_eval_device, 1); + } + } else { + hadamard_product(backend->master_blas_handle(), npts, 1, base_stack.weights_device, 1, + base_stack.vtau_eval_device, 1); + if(need_lapl) { + hadamard_product(backend->master_blas_handle(), npts, 1, base_stack.weights_device, 1, + base_stack.vlapl_eval_device, 1); + } + } +} + void AoSScheme1Base::eval_kern_exc_vxc_lda( const functional_type& func, XCDeviceData* _data ) { @@ -675,41 +910,19 @@ void AoSScheme1Base::eval_kern_exc_vxc_lda( const functional_type& func, const size_t npts = data->total_npts_task_batch ; - auto* dep = base_stack.den_s_eval_device; + auto* den_eval_ptr = base_stack.den_s_eval_device; if ( is_pol ) { - dep = base_stack.den_eval_device; - // Interleave pos/neg densities before passing it to ExchCXX - data->device_backend_-> - copy_async_2d( 1, npts, base_stack.den_s_eval_device, 1, base_stack.den_eval_device , 2, "den_s -> den_eval" ); - data->device_backend_-> - copy_async_2d( 1, npts, base_stack.den_z_eval_device, 1, base_stack.den_eval_device+1, 2, "den_z -> den_eval" ); + den_eval_ptr = base_stack.den_interleaved_device; + interleave_lda_input(npts, base_stack, data->device_backend_); } GauXC::eval_kern_exc_vxc_lda( func, npts, - dep, base_stack.eps_eval_device, + den_eval_ptr, base_stack.eps_eval_device, base_stack.vrho_eval_device, data->device_backend_->queue() ); - hadamard_product( data->device_backend_->master_blas_handle(), data->total_npts_task_batch, 1, - base_stack.weights_device, 1, base_stack.eps_eval_device, 1 ); - - if( not is_pol ) { - hadamard_product( data->device_backend_->master_blas_handle(), data->total_npts_task_batch, 1, - base_stack.weights_device, 1, base_stack.vrho_eval_device, 1 ); - } - else if( is_pol ) { - // De-interleave pos/neg densities - data->device_backend_-> - copy_async_2d( 1, npts, base_stack.vrho_eval_device , 2, base_stack.vrho_pos_eval_device, 1, "vrho->vrho_pos" ); - data->device_backend_-> - copy_async_2d( 1, npts, base_stack.vrho_eval_device+1, 2, base_stack.vrho_neg_eval_device, 1, "vrho->vrho_pos" ); - - // Weight results point-by-point - hadamard_product( data->device_backend_->master_blas_handle(), data->total_npts_task_batch, 1, - base_stack.weights_device, 1, base_stack.vrho_pos_eval_device, 1 ); - hadamard_product( data->device_backend_->master_blas_handle(), data->total_npts_task_batch, 1, - base_stack.weights_device, 1, base_stack.vrho_neg_eval_device, 1 ); - } + if(is_pol) deinterleave_lda_output(npts, base_stack, data->device_backend_); + scale_lda_output(npts, base_stack, data->device_backend_, is_pol); data->device_backend_->check_error("exc_vxc lda" __FILE__ ": " + std::to_string(__LINE__)); } @@ -736,22 +949,9 @@ void AoSScheme1Base::eval_kern_exc_vxc_gga( const functional_type& func, const size_t npts = data->total_npts_task_batch ; - - - if ( is_pol ) { - den_eval_ptr = base_stack.den_eval_device; - // Interleave pos/neg densities before passing it to ExchCXX - data->device_backend_-> - copy_async_2d( 1, npts, base_stack.den_s_eval_device, 1, base_stack.den_eval_device , 2, "den_s -> den_eval" ); - data->device_backend_-> - copy_async_2d( 1, npts, base_stack.den_z_eval_device, 1, base_stack.den_eval_device+1, 2, "den_z -> den_eval" ); - // Interleave gamma pp, pm, mm - data->device_backend_-> - copy_async_2d( 1, npts, base_stack.gamma_pp_eval_device, 1, base_stack.gamma_eval_device , 3, "gamma_pp -> gamma_eval"); - data->device_backend_-> - copy_async_2d( 1, npts, base_stack.gamma_pm_eval_device, 1, base_stack.gamma_eval_device+1, 3, "gamma_pm -> gamma_eval"); - data->device_backend_-> - copy_async_2d( 1, npts, base_stack.gamma_mm_eval_device, 1, base_stack.gamma_eval_device+2, 3, "gamma_mm -> gamma_eval"); + if(is_pol) { + den_eval_ptr = base_stack.den_interleaved_device; + interleave_gga_input(npts, base_stack, data->device_backend_); } GauXC::eval_kern_exc_vxc_gga( func, data->total_npts_task_batch, @@ -759,49 +959,9 @@ void AoSScheme1Base::eval_kern_exc_vxc_gga( const functional_type& func, base_stack.eps_eval_device, base_stack.vrho_eval_device, base_stack.vgamma_eval_device, data->device_backend_->queue() ); + if(is_pol) deinterleave_gga_output(npts, base_stack, data->device_backend_); + scale_gga_output(npts, base_stack, data->device_backend_, is_pol); - hadamard_product( data->device_backend_->master_blas_handle(), data->total_npts_task_batch, 1, - base_stack.weights_device, 1, base_stack.eps_eval_device, 1 ); - - if( not is_pol ) { - hadamard_product( data->device_backend_->master_blas_handle(), data->total_npts_task_batch, 1, - base_stack.weights_device, 1, base_stack.vrho_eval_device, 1 ); - hadamard_product( data->device_backend_->master_blas_handle(), data->total_npts_task_batch, 1, - base_stack.weights_device, 1, base_stack.vgamma_eval_device, 1 ); - } - else if( is_pol ) { - // De-interleave pos/neg densities - data->device_backend_-> - copy_async_2d( 1, npts, base_stack.vrho_eval_device , 2, base_stack.vrho_pos_eval_device, 1, "vrho->vrho_pos" ); - data->device_backend_-> - copy_async_2d( 1, npts, base_stack.vrho_eval_device+1, 2, base_stack.vrho_neg_eval_device, 1, "vrho->vrho_pos" ); - - // Multiply by weights point-by-point - hadamard_product( data->device_backend_->master_blas_handle(), data->total_npts_task_batch, 1, - base_stack.weights_device, 1, base_stack.vrho_pos_eval_device, 1 ); - hadamard_product( data->device_backend_->master_blas_handle(), data->total_npts_task_batch, 1, - base_stack.weights_device, 1, base_stack.vrho_neg_eval_device, 1 ); - - // De-interleave vgamma - data->device_backend_-> - copy_async_2d( 1, npts, base_stack.vgamma_eval_device , 3, base_stack.vgamma_pp_eval_device, 1, "vgamma_eval -> vgamma_pp" ); - data->device_backend_-> - copy_async_2d( 1, npts, base_stack.vgamma_eval_device+1, 3, base_stack.vgamma_pm_eval_device, 1, "vgamma_eval -> vgamma_pm" ); - data->device_backend_-> - copy_async_2d( 1, npts, base_stack.vgamma_eval_device+2, 3, base_stack.vgamma_mm_eval_device, 1, "vgamma_eval -> vgamma_mm" ); - - hadamard_product( data->device_backend_->master_blas_handle(), data->total_npts_task_batch, 1, - base_stack.weights_device, 1, base_stack.vgamma_pp_eval_device, 1 ); - hadamard_product( data->device_backend_->master_blas_handle(), data->total_npts_task_batch, 1, - base_stack.weights_device, 1, base_stack.vgamma_pm_eval_device, 1 ); - hadamard_product( data->device_backend_->master_blas_handle(), data->total_npts_task_batch, 1, - base_stack.weights_device, 1, base_stack.vgamma_mm_eval_device, 1 ); - - - } - - - data->device_backend_->check_error("exc_vxc gga" __FILE__ ": " + std::to_string(__LINE__)); } @@ -814,35 +974,37 @@ void AoSScheme1Base::eval_kern_exc_vxc_mgga( const functional_type& func, if( not data->device_backend_ ) GAUXC_UNINITIALIZED_DEVICE_BACKEND(); - if( !func.is_mgga() ) GAUXC_GENERIC_EXCEPTION("XC Kernel not GGA!"); + if( !func.is_mgga() ) GAUXC_GENERIC_EXCEPTION("XC Kernel not MGGA!"); - auto base_stack = data->base_stack; + auto base_stack = data->base_stack; + double* den_eval_ptr = base_stack.den_s_eval_device; + double* tau_eval_ptr = base_stack.tau_s_eval_device; + double* lapl_eval_ptr = base_stack.lapl_s_eval_device; + + const bool is_RKS = data->allocated_terms.ks_scheme == RKS; + const bool is_UKS = data->allocated_terms.ks_scheme == UKS; + const bool is_GKS = data->allocated_terms.ks_scheme == GKS; + const bool is_pol = is_UKS or is_GKS; + const bool is_excgrad = data->allocated_terms.exc_grad; - if(func.needs_laplacian()) { - data->device_backend_->set_zero_async_master_queue( data->total_npts_task_batch, base_stack.vlapl_eval_device, "VLapl Zero" ); + const size_t npts = data->total_npts_task_batch ; + + if(is_pol) { + den_eval_ptr = base_stack.den_interleaved_device; + tau_eval_ptr = base_stack.tau_interleaved_device; + lapl_eval_ptr = base_stack.lapl_interleaved_device; + interleave_mgga_input(npts, base_stack, data->device_backend_, func.needs_laplacian()); } GauXC::eval_kern_exc_vxc_mgga( func, data->total_npts_task_batch, - base_stack.den_s_eval_device, base_stack.gamma_eval_device, - base_stack.tau_eval_device, base_stack.den_lapl_eval_device, + den_eval_ptr, base_stack.gamma_eval_device, + tau_eval_ptr, lapl_eval_ptr, base_stack.eps_eval_device, base_stack.vrho_eval_device, base_stack.vgamma_eval_device, base_stack.vtau_eval_device, base_stack.vlapl_eval_device, data->device_backend_->queue() ); - data->device_backend_->check_error("exc_vxc mgga" __FILE__ ": " + std::to_string(__LINE__)); - - hadamard_product( data->device_backend_->master_blas_handle(), data->total_npts_task_batch, 1, - base_stack.weights_device, 1, base_stack.eps_eval_device, 1 ); - hadamard_product( data->device_backend_->master_blas_handle(), data->total_npts_task_batch, 1, - base_stack.weights_device, 1, base_stack.vrho_eval_device, 1 ); - hadamard_product( data->device_backend_->master_blas_handle(), data->total_npts_task_batch, 1, - base_stack.weights_device, 1, base_stack.vgamma_eval_device, 1 ); - hadamard_product( data->device_backend_->master_blas_handle(), data->total_npts_task_batch, 1, - base_stack.weights_device, 1, base_stack.vtau_eval_device, 1 ); - if(func.needs_laplacian()) { - hadamard_product( data->device_backend_->master_blas_handle(), data->total_npts_task_batch, 1, - base_stack.weights_device, 1, base_stack.vlapl_eval_device, 1 ); - } + if(is_pol) deinterleave_mgga_output(npts, base_stack, data->device_backend_, func.needs_laplacian()); + scale_mgga_output(npts, base_stack, data->device_backend_, func.needs_laplacian(), is_pol); data->device_backend_->check_error("exc_vxc mgga" __FILE__ ": " + std::to_string(__LINE__)); } @@ -869,23 +1031,7 @@ void AoSScheme1Base::eval_xmat( double fac, XCDeviceData* _data, bool do_grad, d const auto submat_block_size = data->get_submat_chunk_size( nbf, 0 ); auto static_stack = data->static_stack; auto aos_stack = data->aos_stack; - double* dmat_ptr = nullptr; - switch ( den_select ) { - case DEN_S: - dmat_ptr = static_stack.dmat_s_device; - break; - case DEN_Z: - dmat_ptr = static_stack.dmat_z_device; - break; - case DEN_X: - dmat_ptr = static_stack.dmat_x_device; - break; - case DEN_Y: - dmat_ptr = static_stack.dmat_y_device; - break; - default: - GAUXC_GENERIC_EXCEPTION("eval_xmat: den_select not set"); - } + auto dmat_ptr = static_stack.den_selector(den_select); // Pack density matrix sym_pack_submat( ntasks, aos_stack.device_tasks, dmat_ptr, @@ -926,6 +1072,38 @@ void AoSScheme1Base::eval_xmat( double fac, XCDeviceData* _data, bool do_grad, d } +void AoSScheme1Base::save_xmat( XCDeviceData* _data, bool do_grad, density_id den_select ){ + + auto* data = dynamic_cast(_data); + if( !data ) GAUXC_BAD_LWD_DATA_CAST(); + + if( not data->device_backend_ ) GAUXC_UNINITIALIZED_DEVICE_BACKEND(); + auto backend = data->device_backend_; + + auto aos_stack = data->aos_stack; + const auto sz = data->total_nbe_bfn_npts_task_batch; + + switch(den_select) { + case DEN_S: + backend->copy_async(sz, aos_stack.zmat_vxc_device, aos_stack.xmatS_device, "xmatS copy"); + if(do_grad) { + backend->copy_async(sz, aos_stack.xmat_dx_device, aos_stack.xmatS_dx_device, "xmatS_dx copy"); + backend->copy_async(sz, aos_stack.xmat_dy_device, aos_stack.xmatS_dy_device, "xmatS_dy copy"); + backend->copy_async(sz, aos_stack.xmat_dz_device, aos_stack.xmatS_dz_device, "xmatS_dz copy"); + } + break; + case DEN_Z: + backend->copy_async(sz, aos_stack.zmat_vxc_device, aos_stack.xmatZ_device, "xmatZ copy"); + if(do_grad) { + backend->copy_async(sz, aos_stack.xmat_dx_device, aos_stack.xmatZ_dx_device, "xmatZ_dx copy"); + backend->copy_async(sz, aos_stack.xmat_dy_device, aos_stack.xmatZ_dy_device, "xmatZ_dy copy"); + backend->copy_async(sz, aos_stack.xmat_dz_device, aos_stack.xmatZ_dz_device, "xmatZ_dz copy"); + } + break; + default: + GAUXC_GENERIC_EXCEPTION("Save XMat + GKS NYI"); + } +} @@ -972,23 +1150,7 @@ void AoSScheme1Base::inc_vxc( XCDeviceData* _data, density_id den_selector, bool const auto submat_block_size = data->get_submat_chunk_size( nbf, 0 ); auto static_stack = data->static_stack; auto aos_stack = data->aos_stack; - double* vxc_ptr = nullptr; - switch( den_selector ) { - case DEN_S: - vxc_ptr = static_stack.vxc_s_device; - break; - case DEN_Z: - vxc_ptr = static_stack.vxc_z_device; - break; - case DEN_Y: - vxc_ptr = static_stack.vxc_y_device; - break; - case DEN_X: - vxc_ptr = static_stack.vxc_x_device; - break; - default: - GAUXC_GENERIC_EXCEPTION( "inc_vxc called with invalid density selected" ); - } + auto vxc_ptr = static_stack.vxc_selector(den_selector); sym_task_inc_potential( ntasks, aos_stack.device_tasks, vxc_ptr, nbf, submat_block_size, data->device_backend_->queue() ); @@ -1042,7 +1204,7 @@ void AoSScheme1Base::symmetrize_vxc( XCDeviceData* _data, density_id den_selecto -void AoSScheme1Base::inc_exc_grad_lda( XCDeviceData* _data ) { +void AoSScheme1Base::inc_exc_grad_lda( XCDeviceData* _data, integrator_ks_scheme ks_scheme ) { #ifdef GAUXC_HAS_HIP GAUXC_GENERIC_EXCEPTION("LDA Grad NYI for HIP Backends"); #else @@ -1052,7 +1214,7 @@ void AoSScheme1Base::inc_exc_grad_lda( XCDeviceData* _data ) { if( not data->device_backend_ ) GAUXC_UNINITIALIZED_DEVICE_BACKEND(); const auto nshell = data->global_dims.nshells; - increment_exc_grad_lda( nshell, + increment_exc_grad_lda( ks_scheme, nshell, data->shell_to_task_stack.shell_to_task_device, data->aos_stack.device_tasks, data->static_stack.exc_grad_device, @@ -1060,7 +1222,7 @@ void AoSScheme1Base::inc_exc_grad_lda( XCDeviceData* _data ) { #endif } -void AoSScheme1Base::inc_exc_grad_gga( XCDeviceData* _data ) { +void AoSScheme1Base::inc_exc_grad_gga( XCDeviceData* _data, integrator_ks_scheme ks_scheme ) { #ifdef GAUXC_HAS_HIP GAUXC_GENERIC_EXCEPTION("GGA Grad NYI for HIP Backends"); #else @@ -1070,7 +1232,7 @@ void AoSScheme1Base::inc_exc_grad_gga( XCDeviceData* _data ) { if( not data->device_backend_ ) GAUXC_UNINITIALIZED_DEVICE_BACKEND(); const auto nshell = data->global_dims.nshells; - increment_exc_grad_gga( nshell, + increment_exc_grad_gga( ks_scheme, nshell, data->shell_to_task_stack.shell_to_task_device, data->aos_stack.device_tasks, data->static_stack.exc_grad_device, @@ -1078,7 +1240,7 @@ void AoSScheme1Base::inc_exc_grad_gga( XCDeviceData* _data ) { #endif } -void AoSScheme1Base::inc_exc_grad_mgga( XCDeviceData* _data, bool need_lapl ) { +void AoSScheme1Base::inc_exc_grad_mgga( XCDeviceData* _data, integrator_ks_scheme ks_scheme, bool need_lapl ) { #ifdef GAUXC_HAS_HIP GAUXC_GENERIC_EXCEPTION("MGGA Grad NYI for HIP Backends"); #else @@ -1088,7 +1250,7 @@ void AoSScheme1Base::inc_exc_grad_mgga( XCDeviceData* _data, bool need_lapl ) { if( not data->device_backend_ ) GAUXC_UNINITIALIZED_DEVICE_BACKEND(); const auto nshell = data->global_dims.nshells; - increment_exc_grad_mgga( nshell, need_lapl, + increment_exc_grad_mgga( ks_scheme, nshell, need_lapl, data->shell_to_task_stack.shell_to_task_device, data->aos_stack.device_tasks, data->static_stack.exc_grad_device, diff --git a/src/xc_integrator/local_work_driver/device/scheme1_base.hpp b/src/xc_integrator/local_work_driver/device/scheme1_base.hpp index e3e4131d..650710f6 100644 --- a/src/xc_integrator/local_work_driver/device/scheme1_base.hpp +++ b/src/xc_integrator/local_work_driver/device/scheme1_base.hpp @@ -22,22 +22,24 @@ struct AoSScheme1Base : public detail::LocalDeviceWorkDriverPIMPL { void eval_uvars_lda( XCDeviceData*, integrator_ks_scheme ) override final; void eval_uvars_gga( XCDeviceData*, integrator_ks_scheme ) override final; - void eval_uvars_mgga( XCDeviceData*, bool ) override final; - void eval_vvar( XCDeviceData*, density_id, bool ) override final; + void eval_uvars_mgga( XCDeviceData*, integrator_ks_scheme, bool ) override final; + void eval_vvars_lda ( XCDeviceData*, density_id ) override final; + void eval_vvars_gga ( XCDeviceData*, density_id ) override final; + void eval_vvars_mgga( XCDeviceData*, density_id, bool ) override final; void eval_zmat_lda_vxc( XCDeviceData*, integrator_ks_scheme, density_id ) override final; void eval_zmat_gga_vxc( XCDeviceData*, integrator_ks_scheme, density_id ) override final; - void eval_zmat_mgga_vxc( XCDeviceData*, bool ) override final; - void eval_mmat_mgga_vxc( XCDeviceData*, bool ) override final; + void eval_zmat_mgga_vxc( XCDeviceData*, integrator_ks_scheme, bool, density_id ) override final; + void eval_mmat_mgga_vxc( XCDeviceData*, integrator_ks_scheme, bool, density_id ) override final; void eval_kern_exc_vxc_lda( const functional_type&, XCDeviceData* ) override final; void eval_kern_exc_vxc_gga( const functional_type&, XCDeviceData* ) override final; void eval_kern_exc_vxc_mgga( const functional_type&, XCDeviceData* ) override final; void inc_exc( XCDeviceData* ) override final; void inc_nel( XCDeviceData* ) override final; - void inc_exc_grad_lda( XCDeviceData* ) override final; - void inc_exc_grad_gga( XCDeviceData* ) override final; - void inc_exc_grad_mgga( XCDeviceData*, bool ) override final; + void inc_exc_grad_lda( XCDeviceData*, integrator_ks_scheme ) override final; + void inc_exc_grad_gga( XCDeviceData*, integrator_ks_scheme ) override final; + void inc_exc_grad_mgga( XCDeviceData*, integrator_ks_scheme , bool ) override final; void symmetrize_vxc( XCDeviceData* , density_id) override final; void symmetrize_exx_k( XCDeviceData* ) override final; //void eval_exx_gmat( XCDeviceData* ) override final; @@ -48,6 +50,7 @@ struct AoSScheme1Base : public detail::LocalDeviceWorkDriverPIMPL { XCDeviceData*, host_task_iterator, host_task_iterator, const ShellPairCollection& ) override final; + void save_xmat( XCDeviceData*, bool do_grad, density_id den ) override final; // Overridable APIs virtual void eval_xmat( double fac, XCDeviceData*, bool , density_id ) override; diff --git a/src/xc_integrator/local_work_driver/host/reference/weights.cxx b/src/xc_integrator/local_work_driver/host/reference/weights.cxx index f9f0eb75..cc183dd1 100644 --- a/src/xc_integrator/local_work_driver/host/reference/weights.cxx +++ b/src/xc_integrator/local_work_driver/host/reference/weights.cxx @@ -172,6 +172,7 @@ void reference_ssf_weights_host( // Evaluate unnormalized partition functions std::fill(partitionScratch.begin(),partitionScratch.end(),1.); +#if 1 for( size_t iA = 0; iA < natoms; iA++ ) for( size_t jA = 0; jA < iA; jA++ ) if( partitionScratch[iA] > integrator::ssf_weight_tol or @@ -196,6 +197,24 @@ void reference_ssf_weights_host( } } +#else + for(size_t iA = 0; iA < natoms; ++iA) + for(size_t jA = 0; jA < natoms; ++jA) + if(iA != jA and partitionScratch[iA] > integrator::ssf_weight_tol) { + const double mu = (atomDist[iA] - atomDist[jA]) / RAB[jA + iA*natoms]; + if( fabs(mu) < integrator::magic_ssf_factor<> ) { + double g = 0.5 * (1. - gFrisch(mu)); + partitionScratch[iA] *= g; + } else if(mu >= integrator::magic_ssf_factor<>) { + partitionScratch[iA] = 0.0; + } + } + + if(partitionScratch[task.iParent] < std::numeric_limits::epsilon()) { + weight = 0; + continue; + } +#endif // Normalization double sum = 0.; diff --git a/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator.hpp b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator.hpp index 30403175..706dc603 100644 --- a/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator.hpp +++ b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator.hpp @@ -70,8 +70,10 @@ class IncoreReplicatedXCDeviceIntegrator : value_type* EXC, const IntegratorSettingsXC& settings ) override; - void eval_exc_grad_( int64_t m, int64_t n, const value_type* P, - int64_t ldp, value_type* EXC_GRAD ) override; + void eval_exc_grad_( int64_t m, int64_t n, const value_type* P, int64_t ldp, + value_type* EXC_GRAD ) override; + void eval_exc_grad_( int64_t m, int64_t n, const value_type* Ps, int64_t ldps, + const value_type* Pz, int64_t ldpz, value_type* EXC_GRAD ) override; void eval_exx_( int64_t m, int64_t n, const value_type* P, int64_t ldp, value_type* K, int64_t ldk, @@ -102,12 +104,13 @@ class IncoreReplicatedXCDeviceIntegrator : host_task_iterator task_begin, host_task_iterator task_end, XCDeviceData& device_data ); - void eval_exc_grad_local_work_( const basis_type& basis, const value_type* P, int64_t ldp, + void eval_exc_grad_local_work_( const basis_type& basis, const value_type* Ps, int64_t ldps, + const value_type* Pz, int64_t ldpz, host_task_iterator task_begin, host_task_iterator task_end, XCDeviceData& device_data ); - void eval_exc_grad_local_work_( const basis_type& basis, const value_type* P, - int64_t ldp, value_type* EXC_GRAD, + void eval_exc_grad_local_work_( const basis_type& basis, const value_type* P, int64_t ldp, + const value_type* Pz, int64_t ldpz, value_type* EXC_GRAD, host_task_iterator task_begin, host_task_iterator task_end, XCDeviceData& device_data ); diff --git a/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_exc_grad.hpp b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_exc_grad.hpp index 041cd518..72e7c9a6 100644 --- a/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_exc_grad.hpp +++ b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_exc_grad.hpp @@ -49,7 +49,64 @@ void IncoreReplicatedXCDeviceIntegrator:: // Compute local contributions to EXC Gradient and retrieve // data from device this->timer_.time_op("XCIntegrator.LocalWork", [&](){ - eval_exc_grad_local_work_( basis, P, ldp, EXC_GRAD, tasks.begin(), + eval_exc_grad_local_work_( basis, P, ldp, nullptr, 0, EXC_GRAD, tasks.begin(), + tasks.end(), *device_data_ptr ); + }); + + GAUXC_MPI_CODE( + this->timer_.time_op("XCIntegrator.ImbalanceWait",[&](){ + MPI_Barrier(this->load_balancer_->runtime().comm()); + }); + ) + + this->timer_.time_op("XCIntegrator.Allreduce", [&](){ + this->reduction_driver_->allreduce_inplace( EXC_GRAD, 3*natoms, + ReductionOp::Sum ); + }); + + } + +} + + +template +void IncoreReplicatedXCDeviceIntegrator:: + eval_exc_grad_( int64_t m, int64_t n, const value_type* Ps, int64_t ldps, + const value_type* Pz, int64_t ldpz, value_type* EXC_GRAD ) { + + const auto& basis = this->load_balancer_->basis(); + + // Check that P is sane + const int64_t nbf = basis.nbf(); + if( m != n ) + GAUXC_GENERIC_EXCEPTION("P Must Be Square"); + if( m != nbf ) + GAUXC_GENERIC_EXCEPTION("P Must Have Same Dimension as Basis"); + if( ldps < nbf ) + GAUXC_GENERIC_EXCEPTION("Invalid LDPS"); + if( ldpz < nbf ) + GAUXC_GENERIC_EXCEPTION("Invalid LDPZ"); + + // Get Tasks + auto& tasks = this->load_balancer_->get_tasks(); + + // Allocate Device memory + auto* lwd = dynamic_cast(this->local_work_driver_.get() ); + auto rt = detail::as_device_runtime(this->load_balancer_->runtime()); + auto device_data_ptr = + this->timer_.time_op("XCIntegrator.DeviceAlloc", + [&](){ return lwd->create_device_data(rt); }); + + const auto& mol = this->load_balancer_->molecule(); + const auto natoms = mol.size(); + if( this->reduction_driver_->takes_device_memory() ) { + GAUXC_GENERIC_EXCEPTION("Device Reduction + EXC Grad NYI"); + } else { + + // Compute local contributions to EXC Gradient and retrieve + // data from device + this->timer_.time_op("XCIntegrator.LocalWork", [&](){ + eval_exc_grad_local_work_( basis, Ps, ldps, Pz, ldpz, EXC_GRAD, tasks.begin(), tasks.end(), *device_data_ptr ); }); @@ -71,10 +128,14 @@ void IncoreReplicatedXCDeviceIntegrator:: template void IncoreReplicatedXCDeviceIntegrator:: eval_exc_grad_local_work_( const basis_type& basis, - const value_type* P, int64_t ldp, + const value_type* Ps, int64_t ldps, + const value_type* Pz, int64_t ldpz, host_task_iterator task_begin, host_task_iterator task_end, XCDeviceData& device_data ) { + const bool is_uks = Pz != nullptr; + const bool is_rks = not is_uks; + auto* lwd = dynamic_cast(this->local_work_driver_.get() ); // Setup Aliases @@ -106,26 +167,29 @@ void IncoreReplicatedXCDeviceIntegrator:: if( not lb_state.modified_weights_are_stored ) { GAUXC_GENERIC_EXCEPTION("Weights Have Not Been Modified"); } + // Processes batches in groups that saturadate available device memory + integrator_term_tracker enabled_terms; + enabled_terms.exc_grad = true; + + if (is_rks) enabled_terms.ks_scheme = RKS; + else if (is_uks) enabled_terms.ks_scheme = UKS; + + if( func.is_lda() ) enabled_terms.xc_approx = integrator_xc_approx::LDA; + else if( func.is_gga() ) enabled_terms.xc_approx = integrator_xc_approx::GGA; + else if( func.needs_laplacian() ) enabled_terms.xc_approx = integrator_xc_approx::MGGA_LAPL; + else enabled_terms.xc_approx = integrator_xc_approx::MGGA_TAU; // Do XC integration in task batches const auto nbf = basis.nbf(); const auto nshells = basis.nshells(); const auto natoms = mol.size(); device_data.reset_allocations(); - device_data.allocate_static_data_exc_grad( nbf, nshells, natoms ); - device_data.send_static_data_density_basis( P, ldp, nullptr, 0, nullptr, 0, nullptr, 0, basis ); + device_data.allocate_static_data_exc_grad( nbf, nshells, natoms, enabled_terms ); + device_data.send_static_data_density_basis( Ps, ldps, Pz, ldpz, nullptr, 0, nullptr, 0, basis ); // Zero integrands device_data.zero_exc_grad_integrands(); - // Processes batches in groups that saturadate available device memory - integrator_term_tracker enabled_terms; - enabled_terms.exc_grad = true; - enabled_terms.ks_scheme = RKS; - if( func.is_lda() ) enabled_terms.xc_approx = integrator_xc_approx::LDA; - else if( func.is_gga() ) enabled_terms.xc_approx = integrator_xc_approx::GGA; - else if( func.needs_laplacian() ) enabled_terms.xc_approx = integrator_xc_approx::MGGA_LAPL; - else enabled_terms.xc_approx = integrator_xc_approx::MGGA_TAU; auto task_it = task_begin; while( task_it != task_end ) { @@ -141,15 +205,27 @@ void IncoreReplicatedXCDeviceIntegrator:: else if( !func.is_lda() ) lwd->eval_collocation_hessian ( &device_data ); else lwd->eval_collocation_gradient( &device_data ); - // Evaluate X matrix - const bool do_xmat_grad = func.is_gga() or func.is_mgga(); - lwd->eval_xmat( 2.0, &device_data, do_xmat_grad, DEN_S ); - - // Evaluate V variables - lwd->eval_vvar( &device_data, DEN_S, do_xmat_grad ); + // Evaluate X matrix and V vars + const auto xmat_fac = is_rks ? 2.0 : 1.0; + const auto need_lapl = func.needs_laplacian(); + const auto need_xmat_grad = not func.is_lda(); + auto do_xmat_vvar = [&](density_id den_id) { + lwd->eval_xmat( xmat_fac, &device_data, need_xmat_grad, den_id ); + if(func.is_lda()) lwd->eval_vvars_lda( &device_data, den_id ); + else if(func.is_gga()) lwd->eval_vvars_gga( &device_data, den_id ); + else lwd->eval_vvars_mgga( &device_data, den_id, need_lapl ); + + // Save XMat for EXC gradient assembly + if(is_uks) lwd->save_xmat( &device_data, need_xmat_grad, den_id ); + }; + + do_xmat_vvar(DEN_S); + if (not is_rks) { + do_xmat_vvar(DEN_Z); + } // Evaluate U variables - if( func.is_mgga() ) lwd->eval_uvars_mgga( &device_data, func.needs_laplacian( ) ); + if( func.is_mgga() ) lwd->eval_uvars_mgga( &device_data, enabled_terms.ks_scheme, need_lapl ); else if( func.is_gga() ) lwd->eval_uvars_gga ( &device_data, enabled_terms.ks_scheme ); else lwd->eval_uvars_lda ( &device_data, enabled_terms.ks_scheme ); @@ -162,9 +238,9 @@ void IncoreReplicatedXCDeviceIntegrator:: lwd->inc_nel( &device_data ); // Increment EXC Gradient - if( func.is_mgga() ) lwd->inc_exc_grad_mgga( &device_data, func.needs_laplacian() ); - else if( func.is_gga() ) lwd->inc_exc_grad_gga ( &device_data ); - else lwd->inc_exc_grad_lda ( &device_data ); + if( func.is_mgga() ) lwd->inc_exc_grad_mgga( &device_data, enabled_terms.ks_scheme, need_lapl ); + else if( func.is_gga() ) lwd->inc_exc_grad_gga ( &device_data, enabled_terms.ks_scheme ); + else lwd->inc_exc_grad_lda ( &device_data, enabled_terms.ks_scheme ); } // Loop over batches of batches @@ -173,12 +249,14 @@ void IncoreReplicatedXCDeviceIntegrator:: template void IncoreReplicatedXCDeviceIntegrator:: eval_exc_grad_local_work_( const basis_type& basis, - const value_type* P, int64_t ldp, value_type* EXC_GRAD, + const value_type* Ps, int64_t ldps, + const value_type* Pz, int64_t ldpz, + value_type* EXC_GRAD, host_task_iterator task_begin, host_task_iterator task_end, XCDeviceData& device_data ) { // Compute XC gradient and keep data on the device - eval_exc_grad_local_work_( basis, P, ldp, task_begin, task_end, device_data ); + eval_exc_grad_local_work_( basis, Ps, ldps, Pz, ldpz, task_begin, task_end, device_data ); // Receive XC gradient from host double N_EL; diff --git a/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_exc_vxc.hpp b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_exc_vxc.hpp index c8cae61d..9227cbb6 100644 --- a/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_exc_vxc.hpp +++ b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_exc_vxc.hpp @@ -237,7 +237,7 @@ void IncoreReplicatedXCDeviceIntegrator:: const auto& func = *this->func_; const auto& mol = this->load_balancer_->molecule(); - if( func.is_mgga() and (is_uks or is_gks) ) GAUXC_GENERIC_EXCEPTION("Device + Polarized mGGAs NYI!"); + if( func.is_mgga() and is_gks ) GAUXC_GENERIC_EXCEPTION("GKS mGGAs NYI!"); // Get basis map BasisSetMap basis_map(basis,mol); @@ -310,12 +310,13 @@ void IncoreReplicatedXCDeviceIntegrator:: const double xmat_fac = is_rks ? 2.0 : 1.0; const bool need_xmat_grad = func.is_mgga(); - const bool need_vvar_grad = func.is_mgga() or func.is_gga(); // Evaluate X matrix and V vars auto do_xmat_vvar = [&](density_id den_id) { lwd->eval_xmat( xmat_fac, &device_data, need_xmat_grad, den_id ); - lwd->eval_vvar( &device_data, den_id, need_vvar_grad ); + if(func.is_lda()) lwd->eval_vvars_lda( &device_data, den_id ); + else if(func.is_gga()) lwd->eval_vvars_gga( &device_data, den_id ); + else lwd->eval_vvars_mgga( &device_data, den_id, need_lapl ); }; do_xmat_vvar(DEN_S); @@ -329,25 +330,25 @@ void IncoreReplicatedXCDeviceIntegrator:: // Evaluate U variables - if( func.is_mgga() ) lwd->eval_uvars_mgga( &device_data, need_lapl ); //<<< TODO: Fn call is different because MGGA U/GKS NYI - else if( func.is_gga() ) lwd->eval_uvars_gga( &device_data, enabled_terms.ks_scheme ); - else lwd->eval_uvars_lda( &device_data, enabled_terms.ks_scheme ); + if( func.is_mgga() ) lwd->eval_uvars_mgga( &device_data, enabled_terms.ks_scheme, need_lapl ); + else if( func.is_gga() ) lwd->eval_uvars_gga ( &device_data, enabled_terms.ks_scheme ); + else lwd->eval_uvars_lda ( &device_data, enabled_terms.ks_scheme ); // Evaluate XC functional if( func.is_mgga() ) lwd->eval_kern_exc_vxc_mgga( func, &device_data ); - else if( func.is_gga() ) lwd->eval_kern_exc_vxc_gga( func, &device_data ); - else lwd->eval_kern_exc_vxc_lda( func, &device_data ); + else if( func.is_gga() ) lwd->eval_kern_exc_vxc_gga ( func, &device_data ); + else lwd->eval_kern_exc_vxc_lda ( func, &device_data ); // Do scalar EXC/N_EL integrations lwd->inc_exc( &device_data ); lwd->inc_nel( &device_data ); - if( not do_vxc ) continue; + if( not do_vxc) continue; auto do_zmat_vxc = [&](density_id den_id) { if( func.is_mgga() ) { - lwd->eval_zmat_mgga_vxc( &device_data, need_lapl); - lwd->eval_mmat_mgga_vxc( &device_data, need_lapl); + lwd->eval_zmat_mgga_vxc( &device_data, enabled_terms.ks_scheme, need_lapl, den_id); + lwd->eval_mmat_mgga_vxc( &device_data, enabled_terms.ks_scheme, need_lapl, den_id); } else if( func.is_gga() ) lwd->eval_zmat_gga_vxc( &device_data, enabled_terms.ks_scheme, den_id ); diff --git a/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_integrate_den.hpp b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_integrate_den.hpp index 764bf3c0..6ad2df87 100644 --- a/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_integrate_den.hpp +++ b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_integrate_den.hpp @@ -130,7 +130,7 @@ void IncoreReplicatedXCDeviceIntegrator:: // Evaluate the density const bool do_vvar_grad = false; - lwd->eval_vvar( &device_data, DEN_S, do_vvar_grad ); + lwd->eval_vvars_lda( &device_data, DEN_S ); // Do scalar N_EL integration lwd->inc_nel( &device_data ); diff --git a/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator.hpp b/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator.hpp index bf5d4d61..49c11f6c 100644 --- a/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator.hpp +++ b/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator.hpp @@ -72,8 +72,11 @@ class ReferenceReplicatedXCHostIntegrator : /// RKS EXC Gradient - void eval_exc_grad_( int64_t m, int64_t n, const value_type* P, - int64_t ldp, value_type* EXC_GRAD ) override; + void eval_exc_grad_( int64_t m, int64_t n, const value_type* P, int64_t ldp, + value_type* EXC_GRAD ) override; + /// UKS EXC Gradient + void eval_exc_grad_( int64_t m, int64_t n, const value_type* Ps, int64_t ldps, + const value_type* Pz, int64_t lpdz, value_type* EXC_GRAD ) override; /// sn-LinK void eval_exx_( int64_t m, int64_t n, const value_type* P, @@ -99,7 +102,8 @@ class ReferenceReplicatedXCHostIntegrator : task_iterator task_begin, task_iterator task_end ); // Implemetation details of exc_grad - void exc_grad_local_work_( const value_type* P, int64_t ldp, value_type* EXC_GRAD ); + void exc_grad_local_work_( const value_type* Ps, int64_t ldps, const value_type* Pz, int64_t ldpz, + value_type* EXC_GRAD ); // Implementation details of sn-LinK void exx_local_work_( const value_type* P, int64_t ldp, value_type* K, int64_t ldk, diff --git a/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_exc_grad.hpp b/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_exc_grad.hpp index 462088c8..1a7a488a 100644 --- a/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_exc_grad.hpp +++ b/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_exc_grad.hpp @@ -38,7 +38,7 @@ void ReferenceReplicatedXCHostIntegrator:: // Compute Local contributions to EXC / VXC this->timer_.time_op("XCIntegrator.LocalWork", [&](){ - exc_grad_local_work_( P, ldp, EXC_GRAD ); + exc_grad_local_work_( P, ldp, nullptr, 0, EXC_GRAD ); }); @@ -54,9 +54,54 @@ void ReferenceReplicatedXCHostIntegrator:: } + template void ReferenceReplicatedXCHostIntegrator:: - exc_grad_local_work_( const value_type* P, int64_t ldp, value_type* EXC_GRAD ) { + eval_exc_grad_( int64_t m, int64_t n, const value_type* Ps, int64_t ldps, + const value_type* Pz, int64_t ldpz, value_type* EXC_GRAD ) { + + + const auto& basis = this->load_balancer_->basis(); + + // Check that P is sane + const int64_t nbf = basis.nbf(); + if( m != n ) + GAUXC_GENERIC_EXCEPTION("P Must Be Square"); + if( m != nbf ) + GAUXC_GENERIC_EXCEPTION("P Must Have Same Dimension as Basis"); + if( ldps < nbf ) + GAUXC_GENERIC_EXCEPTION("Invalid LDPS"); + if( ldpz < nbf ) + GAUXC_GENERIC_EXCEPTION("Invalid LDPZ"); + + + // Get Tasks + this->load_balancer_->get_tasks(); + + // Compute Local contributions to EXC / VXC + this->timer_.time_op("XCIntegrator.LocalWork", [&](){ + exc_grad_local_work_( Ps, ldps, Pz, ldpz, EXC_GRAD ); + }); + + + // Reduce Results + this->timer_.time_op("XCIntegrator.Allreduce", [&](){ + + if( not this->reduction_driver_->takes_host_memory() ) + GAUXC_GENERIC_EXCEPTION("This Module Only Works With Host Reductions"); + + const int natoms = this->load_balancer_->molecule().natoms(); + this->reduction_driver_->allreduce_inplace( EXC_GRAD, 3*natoms, ReductionOp::Sum ); + }); + +} + +template +void ReferenceReplicatedXCHostIntegrator:: + exc_grad_local_work_( const value_type* Ps, int64_t ldps, const value_type* Pz, int64_t ldpz, value_type* EXC_GRAD ) { + + const bool is_uks = Pz != nullptr; + const bool is_rks = not is_uks; // Cast LWD to LocalHostWorkDriver auto* lwd = dynamic_cast(this->local_work_driver_.get()); @@ -67,9 +112,12 @@ void ReferenceReplicatedXCHostIntegrator:: const auto& mol = this->load_balancer_->molecule(); // MGGA constants - const size_t mmga_dim_scal = func.is_mgga() ? 4 : 1; - const bool needs_laplacian = func.needs_laplacian(); - + const bool needs_laplacian = func.needs_laplacian(); + if(needs_laplacian and is_uks) { + GAUXC_GENERIC_EXCEPTION("UKS Gradients + Laplacian Dependent MGGAs is Not Yet Implemented"); + } + + // Get basis map BasisSetMap basis_map(basis,mol); @@ -113,6 +161,8 @@ void ReferenceReplicatedXCHostIntegrator:: const int32_t npts = task.points.size(); const int32_t nbe = task.bfn_screening.nbe; const int32_t nshells = task.bfn_screening.shell_list.size(); + const size_t spin_dim_scal = is_rks ? 1 : 2; // last case is_uks + const size_t gga_dim_scal = is_rks ? 1 : 3; const auto* points = task.points.data()->data(); const auto* weights = task.weights.data(); @@ -123,32 +173,28 @@ void ReferenceReplicatedXCHostIntegrator:: // Things that every calc needs host_data.nbe_scr .resize( nbe * nbe ); host_data.eps .resize( npts ); - host_data.vrho .resize( npts ); - host_data.den_scr .resize( 4 * npts ); + host_data.vrho .resize( spin_dim_scal * npts ); + host_data.den_scr .resize( 4 * spin_dim_scal * npts ); if( func.is_lda() ) { host_data.basis_eval .resize( 4 * npts * nbe ); - host_data.zmat .resize( npts * nbe ); + host_data.zmat .resize( spin_dim_scal * npts * nbe ); } - if( func.is_gga() ) { + if( func.is_gga() or func.is_mgga() ) { host_data.basis_eval .resize( 10 * npts * nbe ); - host_data.zmat .resize( 4 * npts * nbe ); - host_data.gamma .resize( npts ); - host_data.vgamma .resize( npts ); + host_data.zmat .resize( 4 * spin_dim_scal * npts * nbe ); + host_data.gamma .resize( gga_dim_scal * npts ); + host_data.vgamma .resize( gga_dim_scal * npts ); } if( func.is_mgga() ) { - host_data.basis_eval .resize( 10 * npts * nbe ); // basis + grad(3) + hess(6) - host_data.zmat .resize( 4 * npts * nbe ); // basis + grad(3) - host_data.gamma .resize( npts ); - host_data.vgamma .resize( npts ); - host_data.tau .resize( npts ); - host_data.vtau .resize( npts ); + host_data.tau .resize( spin_dim_scal * npts ); + host_data.vtau.resize( spin_dim_scal * npts ); if ( needs_laplacian ) { host_data.basis_eval.resize( 24 * npts * nbe ); // 11 + lapl_grad(3) + der3(10) - host_data.lapl .resize( npts ); - host_data.vlapl .resize( npts ); + host_data.lapl .resize( spin_dim_scal * npts ); + host_data.vlapl.resize( spin_dim_scal * npts ); } } @@ -156,11 +202,15 @@ void ReferenceReplicatedXCHostIntegrator:: auto* basis_eval = host_data.basis_eval.data(); auto* den_eval = host_data.den_scr.data(); auto* nbe_scr = host_data.nbe_scr.data(); - auto* zmat = host_data.zmat.data(); - auto* zmat_x = zmat + npts*nbe; - auto* zmat_y = zmat_x + npts*nbe; - auto* zmat_z = zmat_y + npts*nbe; + double* xNmat = nullptr; + double* xNmat_x = nullptr; + double* xNmat_y = nullptr; + double* xNmat_z = nullptr; + double* xZmat = nullptr; + double* xZmat_x = nullptr; + double* xZmat_y = nullptr; + double* xZmat_z = nullptr; auto* eps = host_data.eps.data(); auto* gamma = host_data.gamma.data(); @@ -175,9 +225,23 @@ void ReferenceReplicatedXCHostIntegrator:: auto* dbasis_x_eval = basis_eval + npts * nbe; auto* dbasis_y_eval = dbasis_x_eval + npts * nbe; auto* dbasis_z_eval = dbasis_y_eval + npts * nbe; - auto* dden_x_eval = den_eval + npts; - auto* dden_y_eval = dden_x_eval + npts; - auto* dden_z_eval = dden_y_eval + npts; + auto* dden_x_eval = den_eval + spin_dim_scal * npts; + auto* dden_y_eval = dden_x_eval + spin_dim_scal * npts; + auto* dden_z_eval = dden_y_eval + spin_dim_scal * npts; + + + xNmat = host_data.zmat.data(); + if(func.is_lda()) { + xZmat = xNmat + npts*nbe; + } else { + xNmat_x = xNmat + npts*nbe; + xNmat_y = xNmat_x + npts*nbe; + xNmat_z = xNmat_y + npts*nbe; + xZmat = xNmat_z + npts*nbe; + xZmat_x = xZmat + npts*nbe; + xZmat_y = xZmat_x + npts*nbe; + xZmat_z = xZmat_y + npts*nbe; + } value_type* d2basis_xx_eval = nullptr; value_type* d2basis_xy_eval = nullptr; @@ -255,12 +319,13 @@ void ReferenceReplicatedXCHostIntegrator:: // Evaluate X matrix (2 * P * B/Bx/By/Bz) -> store in Z // XXX: This assumes that bfn + gradients are contiguous in memory - if( func.is_gga() or func.is_mgga() ) { - lwd->eval_xmat( 4*npts, nbf, nbe, submat_map, 2.0, P, ldp, basis_eval, nbe, - zmat, nbe, nbe_scr ); - } else { - lwd->eval_xmat( npts, nbf, nbe, submat_map, 2.0, P, ldp, basis_eval, nbe, - zmat, nbe, nbe_scr ); + const auto xmat_fac = is_rks ? 2.0 : 1.0; + const int xmat_len = func.is_lda() ? 1 : 4; + lwd->eval_xmat( xmat_len*npts, nbf, nbe, submat_map, xmat_fac, Ps, ldps, basis_eval, nbe, + xNmat, nbe, nbe_scr ); + if(is_uks) { + lwd->eval_xmat( xmat_len*npts, nbf, nbe, submat_map, xmat_fac, Pz, ldpz, basis_eval, nbe, + xZmat, nbe, nbe_scr ); } // Evaluate U and V variables @@ -283,17 +348,29 @@ void ReferenceReplicatedXCHostIntegrator:: blas::axpy( nbe * npts, 1., d3basis_yyz_eval, 1, dlgradbasis_z_eval, 1); blas::axpy( nbe * npts, 1., d3basis_zzz_eval, 1, dlgradbasis_z_eval, 1); } - lwd->eval_uvvar_mgga_rks( npts, nbe, basis_eval, dbasis_x_eval, dbasis_y_eval, - dbasis_z_eval, lbasis_eval, zmat, nbe, zmat_x, zmat_y, zmat_z, nbe, - den_eval, dden_x_eval, dden_y_eval, dden_z_eval, gamma, tau, lapl ); + if(is_rks) + lwd->eval_uvvar_mgga_rks( npts, nbe, basis_eval, dbasis_x_eval, dbasis_y_eval, + dbasis_z_eval, lbasis_eval, xNmat, nbe, xNmat_x, xNmat_y, xNmat_z, nbe, + den_eval, dden_x_eval, dden_y_eval, dden_z_eval, gamma, tau, lapl ); + else + lwd->eval_uvvar_mgga_uks( npts, nbe, basis_eval, dbasis_x_eval, dbasis_y_eval, + dbasis_z_eval, lbasis_eval, xNmat, nbe, xZmat, nbe, xNmat_x, xNmat_y, xNmat_z, nbe, + xZmat_x, xZmat_y, xZmat_z, nbe, + den_eval, dden_x_eval, dden_y_eval, dden_z_eval, gamma, tau, lapl ); } else if( func.is_gga() ) { - lwd->eval_uvvar_gga_rks( npts, nbe, basis_eval, dbasis_x_eval, dbasis_y_eval, - dbasis_z_eval, zmat, nbe, den_eval, dden_x_eval, dden_y_eval, dden_z_eval, - gamma ); + if(is_rks) + lwd->eval_uvvar_gga_rks( npts, nbe, basis_eval, dbasis_x_eval, dbasis_y_eval, + dbasis_z_eval, xNmat, nbe, den_eval, dden_x_eval, dden_y_eval, dden_z_eval, + gamma ); + else + lwd->eval_uvvar_gga_uks( npts, nbe, basis_eval, dbasis_x_eval, dbasis_y_eval, + dbasis_z_eval, xNmat, nbe, xZmat, nbe, den_eval, dden_x_eval, dden_y_eval, + dden_z_eval, gamma ); } else { - lwd->eval_uvvar_lda_rks( npts, nbe, basis_eval, zmat, nbe, den_eval ); + if(is_rks) lwd->eval_uvvar_lda_rks( npts, nbe, basis_eval, xNmat, nbe, den_eval ); + else lwd->eval_uvvar_lda_uks( npts, nbe, basis_eval, xNmat, nbe, xZmat, nbe, den_eval ); } - + // Evaluate XC functional if( func.is_mgga() ) @@ -318,29 +395,54 @@ void ReferenceReplicatedXCHostIntegrator:: const int32_t mu_i = mu + ipt*nbe; // LDA Contributions - const double vrho_ipt = weights[ipt] * vrho[ipt]; + // vrhop is actually vrhon for RKS + const double vrhop_ipt = weights[ipt] * vrho[spin_dim_scal * ipt]; + const double vrhom_ipt = is_uks ? weights[ipt] * vrho[spin_dim_scal * ipt + 1] : 0.0; - const double z = zmat[mu_i]; // Z = N * B + const double xN = xNmat[mu_i]; // X = N * B + const double xZ = is_uks ? xZmat[mu_i] : 0.0; const double dbx = dbasis_x_eval[mu_i]; // B_x const double dby = dbasis_y_eval[mu_i]; // B_y const double dbz = dbasis_z_eval[mu_i]; // B_z - g_acc_x += vrho_ipt * z * dbx; - g_acc_y += vrho_ipt * z * dby; - g_acc_z += vrho_ipt * z * dbz; + if(is_rks) { + g_acc_x += vrhop_ipt * xN * dbx; + g_acc_y += vrhop_ipt * xN * dby; + g_acc_z += vrhop_ipt * xN * dbz; + } else { + const auto vrhon_ipt = vrhop_ipt + vrhom_ipt; + const auto vrhoz_ipt = vrhop_ipt - vrhom_ipt; + g_acc_x += 0.5 * vrhon_ipt * xN * dbx; + g_acc_y += 0.5 * vrhon_ipt * xN * dby; + g_acc_z += 0.5 * vrhon_ipt * xN * dbz; + + g_acc_x += 0.5 * vrhoz_ipt * xZ * dbx; + g_acc_y += 0.5 * vrhoz_ipt * xZ * dby; + g_acc_z += 0.5 * vrhoz_ipt * xZ * dbz; + } + if( func.is_gga() or func.is_mgga() ) { // GGA Contributions - const double vgamma_ipt = weights[ipt] * vgamma[ipt]; + const double vgammapp_ipt = weights[ipt] * vgamma[gga_dim_scal * ipt + 0]; + const double vgammapm_ipt = is_uks ? weights[ipt] * vgamma[gga_dim_scal * ipt + 1] : 0.0; + const double vgammamm_ipt = is_uks ? weights[ipt] * vgamma[gga_dim_scal * ipt + 2] : 0.0; + + const double ddenn_x = dden_x_eval[spin_dim_scal * ipt]; + const double ddenn_y = dden_y_eval[spin_dim_scal * ipt]; + const double ddenn_z = dden_z_eval[spin_dim_scal * ipt]; + const double ddenz_x = is_uks ? dden_x_eval[spin_dim_scal * ipt + 1] : 0.0; + const double ddenz_y = is_uks ? dden_y_eval[spin_dim_scal * ipt + 1] : 0.0; + const double ddenz_z = is_uks ? dden_z_eval[spin_dim_scal * ipt + 1] : 0.0; - const double dden_x = dden_x_eval[ipt]; - const double dden_y = dden_y_eval[ipt]; - const double dden_z = dden_z_eval[ipt]; + const double xNx = xNmat_x[mu_i]; // XN_x = N * B_x + const double xNy = xNmat_y[mu_i]; // XN_y = N * B_y + const double xNz = xNmat_z[mu_i]; // XN_z = N * B_z - const double zx = zmat_x[mu_i]; // Z_x = N * B_x - const double zy = zmat_y[mu_i]; // Z_y = N * B_y - const double zz = zmat_z[mu_i]; // Z_z = N * B_z + const double xZx = is_uks ? xZmat_x[mu_i] : 0.0; + const double xZy = is_uks ? xZmat_y[mu_i] : 0.0; + const double xZz = is_uks ? xZmat_z[mu_i] : 0.0; const double d2bxx = d2basis_xx_eval[mu_i]; // B^2_xx const double d2bxy = d2basis_xy_eval[mu_i]; // B^2_xy @@ -348,28 +450,85 @@ void ReferenceReplicatedXCHostIntegrator:: const double d2byy = d2basis_yy_eval[mu_i]; // B^2_yy const double d2byz = d2basis_yz_eval[mu_i]; // B^2_yz const double d2bzz = d2basis_zz_eval[mu_i]; // B^2_zz - - // sum_j B^2_{ij} * d_j n - double d2_term_x = d2bxx * dden_x + d2bxy * dden_y + d2bxz * dden_z; - double d2_term_y = d2bxy * dden_x + d2byy * dden_y + d2byz * dden_z; - double d2_term_z = d2bxz * dden_x + d2byz * dden_y + d2bzz * dden_z; - - // sum_j (d_j n) * Z^j - double d11_zmat_term = dden_x * zx + dden_y * zy + dden_z * zz; - - g_acc_x += 2 * vgamma_ipt * ( z * d2_term_x + dbx * d11_zmat_term ); - g_acc_y += 2 * vgamma_ipt * ( z * d2_term_y + dby * d11_zmat_term ); - g_acc_z += 2 * vgamma_ipt * ( z * d2_term_z + dbz * d11_zmat_term ); + + if(is_rks) { + // sum_j B^2_{ij} * d_j n + const auto d2_term_x = d2bxx * ddenn_x + d2bxy * ddenn_y + d2bxz * ddenn_z; + const auto d2_term_y = d2bxy * ddenn_x + d2byy * ddenn_y + d2byz * ddenn_z; + const auto d2_term_z = d2bxz * ddenn_x + d2byz * ddenn_y + d2bzz * ddenn_z; + + // sum_j (d_j n) * xN^j + const double d11_xmat_term = ddenn_x * xNx + ddenn_y * xNy + ddenn_z * xNz; + + g_acc_x += 2 * vgammapp_ipt * ( xN * d2_term_x + dbx * d11_xmat_term ); + g_acc_y += 2 * vgammapp_ipt * ( xN * d2_term_y + dby * d11_xmat_term ); + g_acc_z += 2 * vgammapp_ipt * ( xN * d2_term_z + dbz * d11_xmat_term ); + } else { + // sum_j B^2_{ij} * d_j n + const auto d2n_term_x = d2bxx * ddenn_x + d2bxy * ddenn_y + d2bxz * ddenn_z; + const auto d2n_term_y = d2bxy * ddenn_x + d2byy * ddenn_y + d2byz * ddenn_z; + const auto d2n_term_z = d2bxz * ddenn_x + d2byz * ddenn_y + d2bzz * ddenn_z; + + // sum_j B^2_{ij} * d_j m_z + const auto d2z_term_x = d2bxx * ddenz_x + d2bxy * ddenz_y + d2bxz * ddenz_z; + const auto d2z_term_y = d2bxy * ddenz_x + d2byy * ddenz_y + d2byz * ddenz_z; + const auto d2z_term_z = d2bxz * ddenz_x + d2byz * ddenz_y + d2bzz * ddenz_z; + + // sum_j (d_j n) * xN^j + const double d11nn_xmat_term = ddenn_x * xNx + ddenn_y * xNy + ddenn_z * xNz; + // sum_j (d_j n) * xZ^j + const double d11nz_xmat_term = ddenn_x * xZx + ddenn_y * xZy + ddenn_z * xZz; + // sum_j (d_j m_z) * xN^j + const double d11zn_xmat_term = ddenz_x * xNx + ddenz_y * xNy + ddenz_z * xNz; + // sum_j (d_j m_z) * xZ^j + const double d11zz_xmat_term = ddenz_x * xZx + ddenz_y * xZy + ddenz_z * xZz; + + + g_acc_x += 0.5 * (vgammapp_ipt + vgammapm_ipt + vgammamm_ipt) * (d2n_term_x * xN + d11nn_xmat_term * dbx); + g_acc_x += 0.5 * (vgammapp_ipt - vgammamm_ipt) * (d2z_term_x * xN + d11zn_xmat_term * dbx); + g_acc_x += 0.5 * (vgammapp_ipt - vgammamm_ipt) * (d2n_term_x * xZ + d11nz_xmat_term * dbx); + g_acc_x += 0.5 * (vgammapp_ipt - vgammapm_ipt + vgammamm_ipt) * (d2z_term_x * xZ + d11zz_xmat_term * dbx); + + g_acc_y += 0.5 * (vgammapp_ipt + vgammapm_ipt + vgammamm_ipt) * (d2n_term_y * xN + d11nn_xmat_term * dby); + g_acc_y += 0.5 * (vgammapp_ipt - vgammamm_ipt) * (d2z_term_y * xN + d11zn_xmat_term * dby); + g_acc_y += 0.5 * (vgammapp_ipt - vgammamm_ipt) * (d2n_term_y * xZ + d11nz_xmat_term * dby); + g_acc_y += 0.5 * (vgammapp_ipt - vgammapm_ipt + vgammamm_ipt) * (d2z_term_y * xZ + d11zz_xmat_term * dby); + + g_acc_z += 0.5 * (vgammapp_ipt + vgammapm_ipt + vgammamm_ipt) * (d2n_term_z * xN + d11nn_xmat_term * dbz); + g_acc_z += 0.5 * (vgammapp_ipt - vgammamm_ipt) * (d2z_term_z * xN + d11zn_xmat_term * dbz); + g_acc_z += 0.5 * (vgammapp_ipt - vgammamm_ipt) * (d2n_term_z * xZ + d11nz_xmat_term * dbz); + g_acc_z += 0.5 * (vgammapp_ipt - vgammapm_ipt + vgammamm_ipt) * (d2z_term_z * xZ + d11zz_xmat_term * dbz); + + } if( func.is_mgga() ) { - const double vtau_ipt = 0.5 * weights[ipt] * vtau[ipt]; - d2_term_x = d2bxx * zx + d2bxy * zy + d2bxz * zz; - d2_term_y = d2bxy * zx + d2byy * zy + d2byz * zz; - d2_term_z = d2bxz * zx + d2byz * zy + d2bzz * zz; - - g_acc_x += vtau_ipt * d2_term_x; - g_acc_y += vtau_ipt * d2_term_y; - g_acc_z += vtau_ipt * d2_term_z; + // vtaup is actually vtaun for RKS + const double vtaup_ipt = 0.5 * weights[ipt] * vtau[spin_dim_scal * ipt + 0]; + const double vtaum_ipt = is_uks ? 0.5 * weights[ipt] * vtau[spin_dim_scal * ipt + 1] : 0.0; + + auto d2_term_x = d2bxx * xNx + d2bxy * xNy + d2bxz * xNz; + auto d2_term_y = d2bxy * xNx + d2byy * xNy + d2byz * xNz; + auto d2_term_z = d2bxz * xNx + d2byz * xNy + d2bzz * xNz; + + if(is_rks) { + g_acc_x += vtaup_ipt * d2_term_x; + g_acc_y += vtaup_ipt * d2_term_y; + g_acc_z += vtaup_ipt * d2_term_z; + } else { + const auto vtaun_ipt = vtaup_ipt + vtaum_ipt; + const auto vtauz_ipt = vtaup_ipt - vtaum_ipt; + g_acc_x += 0.5 * vtaun_ipt * d2_term_x; + g_acc_y += 0.5 * vtaun_ipt * d2_term_y; + g_acc_z += 0.5 * vtaun_ipt * d2_term_z; + + d2_term_x = d2bxx * xZx + d2bxy * xZy + d2bxz * xZz; + d2_term_y = d2bxy * xZx + d2byy * xZy + d2byz * xZz; + d2_term_z = d2bxz * xZx + d2byz * xZy + d2bzz * xZz; + + g_acc_x += 0.5 * vtauz_ipt * d2_term_x; + g_acc_y += 0.5 * vtauz_ipt * d2_term_y; + g_acc_z += 0.5 * vtauz_ipt * d2_term_z; + } if( needs_laplacian ) { const double vlapl_ipt = weights[ipt] * vlapl[ipt]; @@ -377,9 +536,9 @@ void ReferenceReplicatedXCHostIntegrator:: const double dlbx = dlgradbasis_x_eval[mu_i]; const double dlby = dlgradbasis_y_eval[mu_i]; const double dlbz = dlgradbasis_z_eval[mu_i]; - d2_term_x = z * dlbx + zx * lbf + 2.0*d2_term_x; - d2_term_y = z * dlby + zy * lbf + 2.0*d2_term_y; - d2_term_z = z * dlbz + zz * lbf + 2.0*d2_term_z; + d2_term_x = xN * dlbx + xNx * lbf + 2.0*d2_term_x; + d2_term_y = xN * dlby + xNy * lbf + 2.0*d2_term_y; + d2_term_z = xN * dlbz + xNz * lbf + 2.0*d2_term_z; g_acc_x += vlapl_ipt * d2_term_x; g_acc_y += vlapl_ipt * d2_term_y; diff --git a/src/xc_integrator/replicated/replicated_xc_integrator_impl.cxx b/src/xc_integrator/replicated/replicated_xc_integrator_impl.cxx index b1d50523..d2474c62 100644 --- a/src/xc_integrator/replicated/replicated_xc_integrator_impl.cxx +++ b/src/xc_integrator/replicated/replicated_xc_integrator_impl.cxx @@ -126,6 +126,16 @@ void ReplicatedXCIntegratorImpl:: } + +template +void ReplicatedXCIntegratorImpl:: + eval_exc_grad( int64_t m, int64_t n, const value_type* Ps, int64_t ldps, + const value_type* Pz, int64_t ldpz, value_type* EXC_GRAD ) { + + eval_exc_grad_(m,n,Ps,ldps,Pz,ldpz,EXC_GRAD); + +} + template void ReplicatedXCIntegratorImpl:: eval_exx( int64_t m, int64_t n, const value_type* P, diff --git a/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator.hpp b/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator.hpp index c6201a73..cb44194c 100644 --- a/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator.hpp +++ b/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator.hpp @@ -83,8 +83,11 @@ class ShellBatchedReplicatedXCIntegrator : /// RKS EXC Gradient - void eval_exc_grad_( int64_t m, int64_t n, const value_type* P, - int64_t ldp, value_type* EXC_GRAD ) override; + void eval_exc_grad_( int64_t m, int64_t n, const value_type* P, int64_t ldp, + value_type* EXC_GRAD ) override; + /// UKS EXC Gradient + void eval_exc_grad_( int64_t m, int64_t n, const value_type* Ps, int64_t ldps, + const value_type* Pz, int64_t ldpz, value_type* EXC_GRAD ) override; /// sn-LinK void eval_exx_( int64_t m, int64_t n, const value_type* P, diff --git a/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator_exc_grad.hpp b/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator_exc_grad.hpp index dde98bdd..964bd8f5 100644 --- a/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator_exc_grad.hpp +++ b/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator_exc_grad.hpp @@ -15,12 +15,20 @@ namespace detail { template void ShellBatchedReplicatedXCIntegrator:: - eval_exc_grad_( int64_t m, int64_t n, const value_type* P, - int64_t ldp, value_type* EXC_GRAD ) { + eval_exc_grad_( int64_t m, int64_t n, const value_type* P, int64_t ldp, value_type* EXC_GRAD ) { GAUXC_GENERIC_EXCEPTION("ShellBatched exc_grad NYI" ); util::unused(m,n,P,ldp,EXC_GRAD); } +template +void ShellBatchedReplicatedXCIntegrator:: + eval_exc_grad_( int64_t m, int64_t n, const value_type* Ps, int64_t ldps, + const value_type* Pz, int64_t lpdz, value_type* EXC_GRAD ) { + + GAUXC_GENERIC_EXCEPTION("ShellBatched exc_grad NYI" ); + util::unused(m,n,Ps,ldps,Pz,lpdz,EXC_GRAD); +} + } } diff --git a/src/xc_integrator/xc_data/device/xc_device_aos_data.cxx b/src/xc_integrator/xc_data/device/xc_device_aos_data.cxx index 6b1bfc33..c8afc193 100644 --- a/src/xc_integrator/xc_data/device/xc_device_aos_data.cxx +++ b/src/xc_integrator/xc_data/device/xc_device_aos_data.cxx @@ -63,6 +63,9 @@ size_t XCDeviceAoSData::get_mem_req( integrator_term_tracker terms, // X Matrix Gradient reqt.task_xmat_grad_size( nbe_bfn, npts ) * sizeof(double) + + // Persistent X Mat + reqt.task_xmat_persist_size( nbe_bfn, npts ) * sizeof(double) + + // EXX Intermediates reqt.task_fmat_size( nbe_cou, npts ) * sizeof(double) + reqt.task_gmat_size( nbe_cou, npts ) * sizeof(double) + @@ -210,6 +213,20 @@ XCDeviceAoSData::device_buffer_t XCDeviceAoSData::allocate_dynamic_stack( aos_stack.xmat_dz_device = mem.aligned_alloc( bfn_msz, csl); } + // Persistent X Matrix Gradient + if(reqt.task_xmat_persist) { + aos_stack.xmatS_device = mem.aligned_alloc( bfn_msz, csl); + aos_stack.xmatZ_device = mem.aligned_alloc( bfn_msz, csl); + if(reqt.task_xmat_grad) { + aos_stack.xmatS_dx_device = mem.aligned_alloc( bfn_msz, csl); + aos_stack.xmatS_dy_device = mem.aligned_alloc( bfn_msz, csl); + aos_stack.xmatS_dz_device = mem.aligned_alloc( bfn_msz, csl); + aos_stack.xmatZ_dx_device = mem.aligned_alloc( bfn_msz, csl); + aos_stack.xmatZ_dy_device = mem.aligned_alloc( bfn_msz, csl); + aos_stack.xmatZ_dz_device = mem.aligned_alloc( bfn_msz, csl); + } + } + // EXX Intermediates if(reqt.task_fmat) { aos_stack.fmat_exx_device = @@ -483,6 +500,16 @@ void XCDeviceAoSData::pack_and_send( buffer_adaptor xmat_dx_mem( aos_stack.xmat_dx_device, total_nbe_bfn_npts ); buffer_adaptor xmat_dy_mem( aos_stack.xmat_dy_device, total_nbe_bfn_npts ); buffer_adaptor xmat_dz_mem( aos_stack.xmat_dz_device, total_nbe_bfn_npts ); + + buffer_adaptor xmatS_mem( aos_stack.xmatS_device, total_nbe_bfn_npts ); + buffer_adaptor xmatS_dx_mem( aos_stack.xmatS_dx_device, total_nbe_bfn_npts ); + buffer_adaptor xmatS_dy_mem( aos_stack.xmatS_dy_device, total_nbe_bfn_npts ); + buffer_adaptor xmatS_dz_mem( aos_stack.xmatS_dz_device, total_nbe_bfn_npts ); + + buffer_adaptor xmatZ_mem( aos_stack.xmatZ_device, total_nbe_bfn_npts ); + buffer_adaptor xmatZ_dx_mem( aos_stack.xmatZ_dx_device, total_nbe_bfn_npts ); + buffer_adaptor xmatZ_dy_mem( aos_stack.xmatZ_dy_device, total_nbe_bfn_npts ); + buffer_adaptor xmatZ_dz_mem( aos_stack.xmatZ_dz_device, total_nbe_bfn_npts ); const bool is_rks = terms.ks_scheme == RKS; const bool is_uks = terms.ks_scheme == UKS; @@ -497,32 +524,43 @@ void XCDeviceAoSData::pack_and_send( buffer_adaptor eps_mem ( base_stack.eps_eval_device, total_npts ); // RKS - buffer_adaptor den_s_mem ( base_stack.den_s_eval_device, total_npts ); - buffer_adaptor gamma_mem ( base_stack.gamma_eval_device, total_npts * gamma_fac ); - buffer_adaptor vrho_mem ( base_stack.vrho_eval_device, total_npts * den_fac ); - buffer_adaptor vgamma_mem ( base_stack.vgamma_eval_device, total_npts * gamma_fac ); - - buffer_adaptor den_mem ( base_stack.den_eval_device, total_npts * den_fac ); - + buffer_adaptor den_s_mem ( base_stack.den_s_eval_device, total_npts ); + buffer_adaptor tau_s_mem ( base_stack.tau_s_eval_device, total_npts ); + buffer_adaptor lapl_s_mem ( base_stack.lapl_s_eval_device, total_npts ); + buffer_adaptor gamma_mem ( base_stack.gamma_eval_device, total_npts * gamma_fac ); + buffer_adaptor vrho_mem ( base_stack.vrho_eval_device, total_npts * den_fac ); + buffer_adaptor vgamma_mem ( base_stack.vgamma_eval_device, total_npts * gamma_fac ); + buffer_adaptor vtau_mem ( base_stack.vtau_eval_device, total_npts * den_fac ); + buffer_adaptor vlapl_mem ( base_stack.vlapl_eval_device, total_npts * den_fac ); // Polarized KS - buffer_adaptor den_z_mem ( base_stack.den_z_eval_device, total_npts ); - buffer_adaptor den_y_mem ( base_stack.den_y_eval_device, total_npts ); - buffer_adaptor den_x_mem ( base_stack.den_x_eval_device, total_npts ); + buffer_adaptor den_interleaved_mem ( base_stack.den_interleaved_device, total_npts * den_fac ); + buffer_adaptor tau_interleaved_mem ( base_stack.tau_interleaved_device, total_npts * den_fac ); + buffer_adaptor lapl_interleaved_mem ( base_stack.lapl_interleaved_device, total_npts * den_fac ); + buffer_adaptor den_z_mem ( base_stack.den_z_eval_device, total_npts ); + buffer_adaptor den_y_mem ( base_stack.den_y_eval_device, total_npts ); + buffer_adaptor den_x_mem ( base_stack.den_x_eval_device, total_npts ); + buffer_adaptor tau_z_mem ( base_stack.tau_z_eval_device, total_npts ); + buffer_adaptor lapl_z_mem ( base_stack.lapl_z_eval_device, total_npts ); + buffer_adaptor vrho_pos_mem( base_stack.vrho_pos_eval_device, total_npts ); buffer_adaptor vrho_neg_mem( base_stack.vrho_neg_eval_device, total_npts ); - buffer_adaptor K_z_mem ( base_stack.K_z_eval_device, total_npts ); - buffer_adaptor K_y_mem ( base_stack.K_y_eval_device, total_npts ); - buffer_adaptor K_x_mem ( base_stack.K_x_eval_device, total_npts ); - buffer_adaptor H_z_mem ( base_stack.H_z_eval_device, total_npts ); - buffer_adaptor H_y_mem ( base_stack.H_y_eval_device, total_npts ); - buffer_adaptor H_x_mem ( base_stack.H_x_eval_device, total_npts ); + buffer_adaptor vtau_pos_mem( base_stack.vtau_pos_eval_device, total_npts ); + buffer_adaptor vtau_neg_mem( base_stack.vtau_neg_eval_device, total_npts ); + buffer_adaptor vlapl_pos_mem( base_stack.vlapl_pos_eval_device, total_npts ); + buffer_adaptor vlapl_neg_mem( base_stack.vlapl_neg_eval_device, total_npts ); buffer_adaptor gamma_pp_mem( base_stack.gamma_pp_eval_device, total_npts ); buffer_adaptor gamma_pm_mem( base_stack.gamma_pm_eval_device, total_npts ); buffer_adaptor gamma_mm_mem( base_stack.gamma_mm_eval_device, total_npts ); buffer_adaptor vgamma_pp_mem( base_stack.vgamma_pp_eval_device, total_npts ); buffer_adaptor vgamma_pm_mem( base_stack.vgamma_pm_eval_device, total_npts ); buffer_adaptor vgamma_mm_mem( base_stack.vgamma_mm_eval_device, total_npts ); + buffer_adaptor K_z_mem ( base_stack.K_z_eval_device, total_npts ); + buffer_adaptor K_y_mem ( base_stack.K_y_eval_device, total_npts ); + buffer_adaptor K_x_mem ( base_stack.K_x_eval_device, total_npts ); + buffer_adaptor H_z_mem ( base_stack.H_z_eval_device, total_npts ); + buffer_adaptor H_y_mem ( base_stack.H_y_eval_device, total_npts ); + buffer_adaptor H_x_mem ( base_stack.H_x_eval_device, total_npts ); // Gradients buffer_adaptor dden_sx_mem( base_stack.dden_sx_eval_device, total_npts ); @@ -537,12 +575,6 @@ void XCDeviceAoSData::pack_and_send( buffer_adaptor dden_xx_mem( base_stack.dden_xx_eval_device, total_npts ); buffer_adaptor dden_xy_mem( base_stack.dden_xy_eval_device, total_npts ); buffer_adaptor dden_xz_mem( base_stack.dden_xz_eval_device, total_npts ); - - // MGGA - buffer_adaptor dden_lapl_mem( base_stack.den_lapl_eval_device, total_npts ); - buffer_adaptor vlapl_mem( base_stack.vlapl_eval_device, total_npts ); - buffer_adaptor tau_mem( base_stack.tau_eval_device, total_npts ); - buffer_adaptor vtau_mem( base_stack.vtau_eval_device, total_npts ); for( auto& task : host_device_tasks ) { const auto npts = task.npts; @@ -621,12 +653,27 @@ void XCDeviceAoSData::pack_and_send( task.xmat_z = xmat_dz_mem.aligned_alloc( nbe_bfn * npts, csl); } + // Persistent X matrix + if( reqt.task_xmat_persist ) { + task.xmatS = xmatS_mem.aligned_alloc( nbe_bfn * npts, csl); + task.xmatZ = xmatZ_mem.aligned_alloc( nbe_bfn * npts, csl); + + if( reqt.task_xmat_grad ) { + task.xmatS_x = xmatS_dx_mem.aligned_alloc( nbe_bfn * npts, csl); + task.xmatS_y = xmatS_dy_mem.aligned_alloc( nbe_bfn * npts, csl); + task.xmatS_z = xmatS_dz_mem.aligned_alloc( nbe_bfn * npts, csl); + task.xmatZ_x = xmatZ_dx_mem.aligned_alloc( nbe_bfn * npts, csl); + task.xmatZ_y = xmatZ_dy_mem.aligned_alloc( nbe_bfn * npts, csl); + task.xmatZ_z = xmatZ_dz_mem.aligned_alloc( nbe_bfn * npts, csl); + } + } + // Grid function evaluations if (reqt.grid_den) { task.den_s = den_s_mem.aligned_alloc( npts, csl ); if(is_pol) { - task.den = den_mem.aligned_alloc(npts*2, csl); //Interleaved memory + task.den = den_interleaved_mem.aligned_alloc(npts*2, csl); //Interleaved memory task.den_z = den_z_mem.aligned_alloc( npts, csl); if ( is_gks ) { task.den_y = den_y_mem.aligned_alloc( npts, csl); @@ -635,6 +682,54 @@ void XCDeviceAoSData::pack_and_send( } } + if(reqt.grid_den_grad) { + task.dden_sx = dden_sx_mem.aligned_alloc(npts, csl); + task.dden_sy = dden_sy_mem.aligned_alloc(npts, csl); + task.dden_sz = dden_sz_mem.aligned_alloc(npts, csl); + if( is_pol ) { + task.dden_zx = dden_zx_mem.aligned_alloc( npts, csl ); + task.dden_zy = dden_zy_mem.aligned_alloc( npts, csl ); + task.dden_zz = dden_zz_mem.aligned_alloc( npts, csl ); + if( is_gks ) { + task.dden_yx = dden_yx_mem.aligned_alloc( npts, csl ); + task.dden_yy = dden_yy_mem.aligned_alloc( npts, csl ); + task.dden_yz = dden_yz_mem.aligned_alloc( npts, csl ); + task.dden_xx = dden_xx_mem.aligned_alloc( npts, csl ); + task.dden_xy = dden_xy_mem.aligned_alloc( npts, csl ); + task.dden_xz = dden_xz_mem.aligned_alloc( npts, csl ); + } + } + } + + if( reqt.grid_gamma ) { + task.gamma = gamma_mem.aligned_alloc( npts*gamma_fac, csl); + if( is_pol ) { + task.gamma_pp = gamma_pp_mem.aligned_alloc( npts, csl); + task.gamma_pm = gamma_pm_mem.aligned_alloc( npts, csl); + task.gamma_mm = gamma_mm_mem.aligned_alloc( npts, csl); + } + } + + if (reqt.grid_tau) { + task.tau_s = tau_s_mem.aligned_alloc( npts, csl ); + if(is_pol) { + task.tau = tau_interleaved_mem.aligned_alloc(npts*2, csl); //Interleaved memory + task.tau_z = tau_z_mem.aligned_alloc( npts, csl); + } + } + + if (reqt.grid_lapl) { + task.lapl_s = lapl_s_mem.aligned_alloc( npts, csl ); + if(is_pol) { + task.lapl = lapl_interleaved_mem.aligned_alloc(npts*2, csl); //Interleaved memory + task.lapl_z = lapl_z_mem.aligned_alloc( npts, csl); + } + } + + + + task.eps = eps_mem.aligned_alloc( reqt.grid_eps_size(npts), csl); + if( reqt.grid_vrho ) { task.vrho = vrho_mem.aligned_alloc( npts*den_fac, csl); if( is_pol ) { @@ -651,33 +746,23 @@ void XCDeviceAoSData::pack_and_send( task.vgamma_mm = vgamma_mm_mem.aligned_alloc( npts, csl); } } - if( reqt.grid_gamma ) { - task.gamma = gamma_mem.aligned_alloc( npts*gamma_fac, csl); + + if( reqt.grid_vtau ) { + task.vtau = vtau_mem.aligned_alloc( npts*den_fac, csl); if( is_pol ) { - task.gamma_pp = gamma_pp_mem.aligned_alloc( npts, csl); - task.gamma_pm = gamma_pm_mem.aligned_alloc( npts, csl); - task.gamma_mm = gamma_mm_mem.aligned_alloc( npts, csl); + task.vtau_pos = vtau_pos_mem.aligned_alloc( npts, csl); + task.vtau_neg = vtau_neg_mem.aligned_alloc( npts, csl); } } - if(reqt.grid_den_grad) { - task.dden_sx = dden_sx_mem.aligned_alloc(npts, csl); - task.dden_sy = dden_sy_mem.aligned_alloc(npts, csl); - task.dden_sz = dden_sz_mem.aligned_alloc(npts, csl); + if( reqt.grid_vlapl ) { + task.vlapl = vlapl_mem.aligned_alloc( npts*den_fac, csl); if( is_pol ) { - task.dden_zx = dden_zx_mem.aligned_alloc( npts, csl ); - task.dden_zy = dden_zy_mem.aligned_alloc( npts, csl ); - task.dden_zz = dden_zz_mem.aligned_alloc( npts, csl ); - if( is_gks ) { - task.dden_yx = dden_yx_mem.aligned_alloc( npts, csl ); - task.dden_yy = dden_yy_mem.aligned_alloc( npts, csl ); - task.dden_yz = dden_yz_mem.aligned_alloc( npts, csl ); - task.dden_xx = dden_xx_mem.aligned_alloc( npts, csl ); - task.dden_xy = dden_xy_mem.aligned_alloc( npts, csl ); - task.dden_xz = dden_xz_mem.aligned_alloc( npts, csl ); - } + task.vlapl_pos = vlapl_pos_mem.aligned_alloc( npts, csl); + task.vlapl_neg = vlapl_neg_mem.aligned_alloc( npts, csl); } } + // H, K terms (GKS) if( is_gks ) { @@ -690,21 +775,6 @@ void XCDeviceAoSData::pack_and_send( task.H_z = H_z_mem.aligned_alloc( npts, csl ); } } - - task.eps = eps_mem.aligned_alloc( reqt.grid_eps_size(npts), csl); - - - if(reqt.grid_den_lapl) { - task.denlapl = dden_lapl_mem.aligned_alloc(npts, csl); - } - - task.tau = - tau_mem.aligned_alloc( reqt.grid_tau_size(npts), csl); - - task.vtau = - vtau_mem.aligned_alloc( reqt.grid_vtau_size(npts), csl); - task.vlapl = - vlapl_mem.aligned_alloc( reqt.grid_vlapl_size(npts), csl); // EXX Specific task.fmat = fmat_mem.aligned_alloc( diff --git a/src/xc_integrator/xc_data/device/xc_device_aos_data.hpp b/src/xc_integrator/xc_data/device/xc_device_aos_data.hpp index 780c0af0..524e2c64 100644 --- a/src/xc_integrator/xc_data/device/xc_device_aos_data.hpp +++ b/src/xc_integrator/xc_data/device/xc_device_aos_data.hpp @@ -54,6 +54,16 @@ struct XCDeviceAoSData : public XCDeviceStackData { double* xmat_dy_device = nullptr; double* xmat_dz_device = nullptr; + // Persistent X mat + double* xmatS_device = nullptr; + double* xmatS_dx_device = nullptr; + double* xmatS_dy_device = nullptr; + double* xmatS_dz_device = nullptr; + double* xmatZ_device = nullptr; + double* xmatZ_dx_device = nullptr; + double* xmatZ_dy_device = nullptr; + double* xmatZ_dz_device = nullptr; + // EXX Intermediates double* fmat_exx_device = nullptr; double* gmat_exx_device = nullptr; diff --git a/src/xc_integrator/xc_data/device/xc_device_data.hpp b/src/xc_integrator/xc_data/device/xc_device_data.hpp index ac51e42a..2978d47b 100644 --- a/src/xc_integrator/xc_data/device/xc_device_data.hpp +++ b/src/xc_integrator/xc_data/device/xc_device_data.hpp @@ -72,7 +72,7 @@ struct required_term_storage { // Evaluation of functions on the grid (linear storage) bool grid_den = false; bool grid_den_grad = false; - bool grid_den_lapl = false; + bool grid_lapl = false; bool grid_gamma = false; bool grid_tau = false; bool grid_eps = false; @@ -114,11 +114,29 @@ struct required_term_storage { } return 0ul; } - inline size_t grid_den_lapl_size(size_t npts){ - return PRDVL(grid_den_lapl, npts); + inline size_t grid_lapl_size(size_t npts){ + if(grid_lapl) { + switch(ref_tracker.ks_scheme) { + case UKS: + case GKS: + return 4 * npts; + default: + return npts; + } + } + return 0ul; } inline size_t grid_tau_size(size_t npts){ - return PRDVL(grid_tau, npts); + if(grid_tau) { + switch(ref_tracker.ks_scheme) { + case UKS: + case GKS: + return 4 * npts; + default: + return npts; + } + } + return 0ul; } inline size_t grid_eps_size(size_t npts){ return PRDVL(grid_eps, npts); @@ -147,10 +165,28 @@ struct required_term_storage { return 0ul; } inline size_t grid_vtau_size(size_t npts){ - return PRDVL(grid_vtau, npts); + if(grid_vtau) { + switch(ref_tracker.ks_scheme) { + case UKS: + case GKS: + return 4 * npts; + default: + return npts; + } + } + return 0ul; } inline size_t grid_vlapl_size(size_t npts){ - return PRDVL(grid_vlapl, npts); + if(grid_vlapl) { + switch(ref_tracker.ks_scheme) { + case UKS: + case GKS: + return 4 * npts; + default: + return npts; + } + } + return 0ul; } @@ -164,6 +200,7 @@ struct required_term_storage { bool task_zmat = false; bool task_xmat = false; bool task_xmat_grad = false; + bool task_xmat_persist = false; bool task_fmat = false; bool task_gmat = false; bool task_nbe_scr = false; @@ -191,6 +228,10 @@ struct required_term_storage { inline size_t task_xmat_grad_size(size_t nbe, size_t npts) { return PRDVL(task_xmat_grad, 3 * nbe * npts); } + inline size_t task_xmat_persist_size(size_t nbe, size_t npts) { + // TODO Make this more robust + return PRDVL(task_xmat_persist, 2 * (task_xmat_grad ? 4 : 1) * nbe * npts); + } inline size_t task_fmat_size(size_t nbe, size_t npts) { return PRDVL(task_fmat, nbe * npts); } @@ -324,10 +365,11 @@ struct required_term_storage { const bool need_lapl = tracker.xc_approx == MGGA_LAPL; const bool is_mgga = is_xc and (need_tau or need_lapl); const bool is_grad = tracker.exc_grad; + const bool is_rks = tracker.ks_scheme == RKS; grid_den = true; grid_den_grad = is_gga or is_mgga or is_grad; - grid_den_lapl = need_lapl; + grid_lapl = need_lapl; grid_gamma = is_gga or is_mgga; grid_tau = is_mgga; grid_eps = true; @@ -344,6 +386,7 @@ struct required_term_storage { task_zmat = true; task_xmat = true; task_xmat_grad = is_mgga or (is_gga and is_grad); + task_xmat_persist = is_grad and not is_rks; task_nbe_scr = true; task_submat_cut_bfn = true; @@ -437,7 +480,7 @@ struct XCDeviceData { virtual void allocate_static_data_weights( int32_t natoms ) = 0; virtual void allocate_static_data_exc_vxc( int32_t nbf, int32_t nshells, integrator_term_tracker enabled_terms, bool do_vxc ) = 0; virtual void allocate_static_data_den( int32_t nbf, int32_t nshells ) = 0; - virtual void allocate_static_data_exc_grad( int32_t nbf, int32_t nshells, int32_t natoms ) = 0; + virtual void allocate_static_data_exc_grad( int32_t nbf, int32_t nshells, int32_t natoms, integrator_term_tracker enabled_terms ) = 0; virtual void allocate_static_data_exx( int32_t nbf, int32_t nshells, size_t nshell_pairs, size_t nprim_pair_total, int32_t max_l ) = 0; virtual void allocate_static_data_exx_ek_screening( size_t ntasks, int32_t nbf, int32_t nshells, int nshell_pairs, int32_t max_l ) = 0; diff --git a/src/xc_integrator/xc_data/device/xc_device_stack_data.cxx b/src/xc_integrator/xc_data/device/xc_device_stack_data.cxx index 1aadd1ab..8d1bd8b3 100644 --- a/src/xc_integrator/xc_data/device/xc_device_stack_data.cxx +++ b/src/xc_integrator/xc_data/device/xc_device_stack_data.cxx @@ -155,7 +155,7 @@ void XCDeviceStackData::allocate_static_data_den( int32_t nbf, int32_t nshells ) allocated_terms.den = true; } -void XCDeviceStackData::allocate_static_data_exc_grad( int32_t nbf, int32_t nshells, int32_t natoms ) { +void XCDeviceStackData::allocate_static_data_exc_grad( int32_t nbf, int32_t nshells, int32_t natoms, integrator_term_tracker enabled_terms ) { if( allocated_terms.exc_grad ) GAUXC_GENERIC_EXCEPTION("Attempting to reallocate Stack EXC GRAD"); @@ -173,7 +173,15 @@ void XCDeviceStackData::allocate_static_data_exc_grad( int32_t nbf, int32_t nshe static_stack.nel_device = mem.aligned_alloc( 1 , csl); static_stack.acc_scr_device = mem.aligned_alloc( 1 , csl); - static_stack.dmat_s_device = mem.aligned_alloc( nbf * nbf , csl); + allocated_terms.ks_scheme = enabled_terms.ks_scheme; + static_stack.dmat_s_device = mem.aligned_alloc( nbf * nbf , csl ); + if( not (allocated_terms.ks_scheme == RKS) ) { + static_stack.dmat_z_device = mem.aligned_alloc( nbf * nbf , csl ); + if( allocated_terms.ks_scheme == GKS ) { + static_stack.dmat_y_device = mem.aligned_alloc( nbf * nbf , csl ); + static_stack.dmat_x_device = mem.aligned_alloc( nbf * nbf , csl ); + } + } // Get current stack location dynmem_ptr = mem.stack(); @@ -639,7 +647,7 @@ size_t XCDeviceStackData::get_mem_req( // U Variables reqt.grid_den_size(npts) * sizeof(double) + reqt.grid_den_grad_size(npts) * sizeof(double) + - reqt.grid_den_lapl_size(npts) * sizeof(double) + + reqt.grid_lapl_size(npts) * sizeof(double) + // H/K Matrices (GKS) reqt.grid_HK_size(npts) * sizeof(double) + @@ -708,60 +716,85 @@ XCDeviceStackData::device_buffer_t XCDeviceStackData::allocate_dynamic_stack( // Grid function evaluations if( reqt.grid_den ) { // Density - base_stack.den_s_eval_device = mem.aligned_alloc(msz, aln, csl); - if( is_pol ) { base_stack.den_eval_device = mem.aligned_alloc(2*msz, aln, csl); - base_stack.den_z_eval_device = mem.aligned_alloc(msz, aln, csl); - if( is_gks ){ base_stack.den_y_eval_device = mem.aligned_alloc(msz, aln, csl); - base_stack.den_x_eval_device = mem.aligned_alloc(msz, aln, csl); } + base_stack.den_s_eval_device = mem.aligned_alloc(msz, aln, csl); + + if(is_pol) { + base_stack.den_interleaved_device = mem.aligned_alloc(2*msz, aln, csl); + base_stack.den_z_eval_device = mem.aligned_alloc(msz, aln, csl); + } + + if(is_gks){ + base_stack.den_y_eval_device = mem.aligned_alloc(msz, aln, csl); + base_stack.den_x_eval_device = mem.aligned_alloc(msz, aln, csl); } } if( reqt.grid_den_grad ) { // Density gradient - base_stack.dden_sx_eval_device = mem.aligned_alloc(msz, aln, csl); - base_stack.dden_sy_eval_device = mem.aligned_alloc(msz, aln, csl); - base_stack.dden_sz_eval_device = mem.aligned_alloc(msz, aln, csl); - - if( is_pol ) { base_stack.dden_zx_eval_device = mem.aligned_alloc(msz, aln, csl); - base_stack.dden_zy_eval_device = mem.aligned_alloc(msz, aln, csl); - base_stack.dden_zz_eval_device = mem.aligned_alloc(msz, aln, csl); - if( is_gks ) { base_stack.dden_yx_eval_device = mem.aligned_alloc(msz, aln, csl); - base_stack.dden_yy_eval_device = mem.aligned_alloc(msz, aln, csl); - base_stack.dden_yz_eval_device = mem.aligned_alloc(msz, aln, csl); - base_stack.dden_xx_eval_device = mem.aligned_alloc(msz, aln, csl); - base_stack.dden_xy_eval_device = mem.aligned_alloc(msz, aln, csl); - base_stack.dden_xz_eval_device = mem.aligned_alloc(msz, aln, csl); } + base_stack.dden_sx_eval_device = mem.aligned_alloc(msz, aln, csl); + base_stack.dden_sy_eval_device = mem.aligned_alloc(msz, aln, csl); + base_stack.dden_sz_eval_device = mem.aligned_alloc(msz, aln, csl); + + if(is_pol) { + base_stack.dden_zx_eval_device = mem.aligned_alloc(msz, aln, csl); + base_stack.dden_zy_eval_device = mem.aligned_alloc(msz, aln, csl); + base_stack.dden_zz_eval_device = mem.aligned_alloc(msz, aln, csl); } + if( is_gks ) { + base_stack.dden_yx_eval_device = mem.aligned_alloc(msz, aln, csl); + base_stack.dden_yy_eval_device = mem.aligned_alloc(msz, aln, csl); + base_stack.dden_yz_eval_device = mem.aligned_alloc(msz, aln, csl); + base_stack.dden_xx_eval_device = mem.aligned_alloc(msz, aln, csl); + base_stack.dden_xy_eval_device = mem.aligned_alloc(msz, aln, csl); + base_stack.dden_xz_eval_device = mem.aligned_alloc(msz, aln, csl); + } + } + + if( reqt.grid_tau ) { // Tau + base_stack.tau_s_eval_device = mem.aligned_alloc(msz, aln, csl); + if(is_pol) { + base_stack.tau_interleaved_device = mem.aligned_alloc(2*msz, aln, csl); + base_stack.tau_z_eval_device = mem.aligned_alloc(msz, aln, csl); + } } - if( reqt.grid_den_lapl ) { // Density Laplacian - base_stack.den_lapl_eval_device = mem.aligned_alloc(msz, aln, csl); + if( reqt.grid_lapl ) { // Density Laplacian + base_stack.lapl_s_eval_device = mem.aligned_alloc(msz, aln, csl); + if(is_pol) { + base_stack.lapl_interleaved_device = mem.aligned_alloc(2*msz, aln, csl); + base_stack.lapl_z_eval_device = mem.aligned_alloc(msz, aln, csl); + } } if( reqt.grid_gamma ) { // Gamma - if( is_pol ) { base_stack.gamma_eval_device = mem.aligned_alloc(3 * msz, aln, csl); - base_stack.gamma_pp_eval_device = mem.aligned_alloc(msz, aln, csl); - base_stack.gamma_pm_eval_device = mem.aligned_alloc(msz, aln, csl); - base_stack.gamma_mm_eval_device = mem.aligned_alloc(msz, aln, csl); } - else base_stack.gamma_eval_device = mem.aligned_alloc(msz, aln, csl); + if( is_pol ) { + base_stack.gamma_eval_device = mem.aligned_alloc(3 * msz, aln, csl); + base_stack.gamma_pp_eval_device = mem.aligned_alloc(msz, aln, csl); + base_stack.gamma_pm_eval_device = mem.aligned_alloc(msz, aln, csl); + base_stack.gamma_mm_eval_device = mem.aligned_alloc(msz, aln, csl); + } else { + base_stack.gamma_eval_device = mem.aligned_alloc(msz, aln, csl); + } } if( reqt.grid_vrho ) { // Vrho - if( is_pol ) { base_stack.vrho_eval_device = mem.aligned_alloc(2 * msz, aln, csl); - base_stack.vrho_pos_eval_device = mem.aligned_alloc(msz, aln, csl); - base_stack.vrho_neg_eval_device = mem.aligned_alloc(msz, aln, csl); } - else base_stack.vrho_eval_device = mem.aligned_alloc(msz, aln, csl); + if( is_pol ) { + base_stack.vrho_eval_device = mem.aligned_alloc(2 * msz, aln, csl); + base_stack.vrho_pos_eval_device = mem.aligned_alloc(msz, aln, csl); + base_stack.vrho_neg_eval_device = mem.aligned_alloc(msz, aln, csl); + } else { + base_stack.vrho_eval_device = mem.aligned_alloc(msz, aln, csl); + } } if( reqt.grid_vgamma ) { // Vgamma - if( is_pol ) { base_stack.vgamma_eval_device = mem.aligned_alloc(3*msz, aln, csl); - base_stack.vgamma_pp_eval_device = mem.aligned_alloc(msz, aln, csl); - base_stack.vgamma_pm_eval_device = mem.aligned_alloc(msz, aln, csl); - base_stack.vgamma_mm_eval_device = mem.aligned_alloc(msz, aln, csl); } - else base_stack.vgamma_eval_device = mem.aligned_alloc(msz, aln, csl); - } - - if( reqt.grid_tau ) { // Tau - base_stack.tau_eval_device = mem.aligned_alloc(msz, aln, csl); + if( is_pol ) { + base_stack.vgamma_eval_device = mem.aligned_alloc(3*msz, aln, csl); + base_stack.vgamma_pp_eval_device = mem.aligned_alloc(msz, aln, csl); + base_stack.vgamma_pm_eval_device = mem.aligned_alloc(msz, aln, csl); + base_stack.vgamma_mm_eval_device = mem.aligned_alloc(msz, aln, csl); + } else { + base_stack.vgamma_eval_device = mem.aligned_alloc(msz, aln, csl); + } } if( is_gks ) { // H, K matrices @@ -780,11 +813,23 @@ XCDeviceStackData::device_buffer_t XCDeviceStackData::allocate_dynamic_stack( } if( reqt.grid_vtau ) { // Vtau - base_stack.vtau_eval_device = mem.aligned_alloc(msz, aln, csl); + if( is_pol ) { + base_stack.vtau_eval_device = mem.aligned_alloc(2 * msz, aln, csl); + base_stack.vtau_pos_eval_device = mem.aligned_alloc(msz, aln, csl); + base_stack.vtau_neg_eval_device = mem.aligned_alloc(msz, aln, csl); + } else { + base_stack.vtau_eval_device = mem.aligned_alloc(msz, aln, csl); + } } if( reqt.grid_vlapl ) { // Vlapl - base_stack.vlapl_eval_device = mem.aligned_alloc(msz, aln, csl); + if( is_pol ) { + base_stack.vlapl_eval_device = mem.aligned_alloc(2 * msz, aln, csl); + base_stack.vlapl_pos_eval_device = mem.aligned_alloc(msz, aln, csl); + base_stack.vlapl_neg_eval_device = mem.aligned_alloc(msz, aln, csl); + } else { + base_stack.vlapl_eval_device = mem.aligned_alloc(msz, aln, csl); + } } diff --git a/src/xc_integrator/xc_data/device/xc_device_stack_data.hpp b/src/xc_integrator/xc_data/device/xc_device_stack_data.hpp index e1a72ec4..68d2bbfd 100644 --- a/src/xc_integrator/xc_data/device/xc_device_stack_data.hpp +++ b/src/xc_integrator/xc_data/device/xc_device_stack_data.hpp @@ -74,6 +74,28 @@ struct XCDeviceStackData : public XCDeviceData { double* vxc_x_device = nullptr; inline void reset() { std::memset( this, 0, sizeof(static_data) ); } + + inline double* den_selector(density_id den) { + switch(den) { + case DEN_S: return dmat_s_device; + case DEN_Z: return dmat_z_device; + case DEN_Y: return dmat_y_device; + case DEN_X: return dmat_x_device; + default: GAUXC_GENERIC_EXCEPTION("den_selector: density_id not recognized"); + } + return nullptr; + } + + inline double* vxc_selector(density_id den) { + switch(den) { + case DEN_S: return vxc_s_device; + case DEN_Z: return vxc_z_device; + case DEN_Y: return vxc_y_device; + case DEN_X: return vxc_x_device; + default: GAUXC_GENERIC_EXCEPTION("vxc_selector: density_id not recognized"); + } + return nullptr; + } }; XCDeviceShellPairSoA shell_pair_soa; @@ -92,15 +114,19 @@ struct XCDeviceStackData : public XCDeviceData { double* weights_device = nullptr; ///< Grid weights for task batch // U variables - double* den_s_eval_device = nullptr; ///< scalar density for task batch - double* dden_sx_eval_device = nullptr; ///< d/dx scalar density for task batch - double* dden_sy_eval_device = nullptr; ///< d/dy scalar density for task batch - double* dden_sz_eval_device = nullptr; ///< d/dz scalar density for task batch + double* den_s_eval_device = nullptr; ///< scalar density for task batch + double* dden_sx_eval_device = nullptr; ///< d/dx scalar density for task batch + double* dden_sy_eval_device = nullptr; ///< d/dy scalar density for task batch + double* dden_sz_eval_device = nullptr; ///< d/dz scalar density for task batch + double* tau_s_eval_device = nullptr; ///< scalar tau for task batch + double* lapl_s_eval_device = nullptr; ///< scalar density laplacian for task batch - double* den_z_eval_device = nullptr; ///< z density for task batch - double* dden_zx_eval_device = nullptr; ///< d/dx z density for task batch - double* dden_zy_eval_device = nullptr; ///< d/dy z density for task batch - double* dden_zz_eval_device = nullptr; ///< d/dz z density for task batch + double* den_z_eval_device = nullptr; ///< z density for task batch + double* dden_zx_eval_device = nullptr; ///< d/dx z density for task batch + double* dden_zy_eval_device = nullptr; ///< d/dy z density for task batch + double* dden_zz_eval_device = nullptr; ///< d/dz z density for task batch + double* tau_z_eval_device = nullptr; ///< z tau for task batch + double* lapl_z_eval_device = nullptr; ///< z density laplacian for task batch double* den_y_eval_device = nullptr; ///< y density for task batch double* dden_yx_eval_device = nullptr; ///< d/dx y density for task batch @@ -112,21 +138,25 @@ struct XCDeviceStackData : public XCDeviceData { double* dden_xy_eval_device = nullptr; ///< d/dy x density for task batch double* dden_xz_eval_device = nullptr; ///< d/dz x density for task batch - double* den_eval_device = nullptr; /// Storage for interleaved density (non-RKS only) - - double* den_lapl_eval_device = nullptr; ///< density Laplacian for task batch + double* den_interleaved_device = nullptr; /// Storage for interleaved density (non-RKS only) + double* tau_interleaved_device = nullptr; /// Storage for interleaved tau (non-RKS only) + double* lapl_interleaved_device = nullptr; /// Storage for interleaved lapl (non-RKS only) // V variables / XC output double* gamma_eval_device = nullptr; ///< gamma for task batch - double* tau_eval_device = nullptr; ///< tau for task batch double* eps_eval_device = nullptr; ///< XC energy density for task batch double* vrho_eval_device = nullptr; ///< Rho XC derivative for task batch double* vgamma_eval_device = nullptr; ///< Gamma XC derivative for task batch double* vtau_eval_device = nullptr; ///< Tau XC derivative for task batch double* vlapl_eval_device = nullptr; ///< Lapl XC derivative for task batch - double* vrho_pos_eval_device = nullptr; ///< Polarized Rho+ XC derivative for task batch - double* vrho_neg_eval_device = nullptr; ///< Polarized Rho+ XC derivative for task batch + double* vrho_pos_eval_device = nullptr; ///< Polarized Rho+ XC derivative for task batch + double* vrho_neg_eval_device = nullptr; ///< Polarized Rho+ XC derivative for task batch + double* vtau_pos_eval_device = nullptr; + double* vtau_neg_eval_device = nullptr; + double* vlapl_pos_eval_device = nullptr; + double* vlapl_neg_eval_device = nullptr; + double* gamma_pp_eval_device = nullptr; ///< Polarized Gamma++ for task batch double* gamma_pm_eval_device = nullptr; ///< Polarized Gamma+- for task batch @@ -162,7 +192,7 @@ struct XCDeviceStackData : public XCDeviceData { void allocate_static_data_weights( int32_t natoms ) override final; void allocate_static_data_exc_vxc( int32_t nbf, int32_t nshells, integrator_term_tracker enabled_terms, bool do_vxc ) override final; void allocate_static_data_den( int32_t nbf, int32_t nshells ) override final; - void allocate_static_data_exc_grad( int32_t nbf, int32_t nshells, int32_t natoms ) override final; + void allocate_static_data_exc_grad( int32_t nbf, int32_t nshells, int32_t natoms, integrator_term_tracker enabled_terms ) override final; void allocate_static_data_exx( int32_t nbf, int32_t nshells, size_t nshell_pairs, size_t nprim_pair_total, int32_t max_l ) override final; void allocate_static_data_exx_ek_screening( size_t ntasks, int32_t nbf, int32_t nshells, int nshell_pairs, int32_t max_l ) override final; void send_static_data_weights( const Molecule& mol, const MolMeta& meta ) override final; diff --git a/src/xc_integrator/xc_data/device/xc_device_task.hpp b/src/xc_integrator/xc_data/device/xc_device_task.hpp index ac1f72f7..be873cfd 100644 --- a/src/xc_integrator/xc_data/device/xc_device_task.hpp +++ b/src/xc_integrator/xc_data/device/xc_device_task.hpp @@ -52,16 +52,29 @@ struct XCDeviceTask { double* d2bfzz = nullptr; double* eps = nullptr; - double* den = nullptr; - double* gamma = nullptr; - double* vrho = nullptr; - double* vgamma = nullptr; + double* den = nullptr; + double* gamma = nullptr; + double* tau = nullptr; + double* lapl = nullptr; + double* vrho = nullptr; + double* vgamma = nullptr; + double* vtau = nullptr; + double* vlapl = nullptr; // (S,Z,Y,X) densities double* den_s = nullptr; double* den_z = nullptr; double* den_y = nullptr; double* den_x = nullptr; + double* tau_s = nullptr; + double* tau_z = nullptr; + double* tau_y = nullptr; + double* tau_x = nullptr; + double* lapl_s = nullptr; + double* lapl_z = nullptr; + double* lapl_y = nullptr; + double* lapl_x = nullptr; + // Del(S,Z,Y,X) Gradients double* dden_sx = nullptr; double* dden_sy = nullptr; @@ -85,6 +98,10 @@ struct XCDeviceTask { double* vgamma_pp = nullptr; double* vgamma_pm = nullptr; double* vgamma_mm = nullptr; + double* vtau_pos = nullptr; + double* vtau_neg = nullptr; + double* vlapl_pos = nullptr; + double* vlapl_neg = nullptr; // GKS K,H matrices double* K_z = nullptr; @@ -99,10 +116,16 @@ struct XCDeviceTask { double* d3bflapl_x = nullptr; double* d3bflapl_y = nullptr; double* d3bflapl_z = nullptr; - double* denlapl = nullptr; - double* tau = nullptr; - double* vtau = nullptr; - double* vlapl = nullptr; + + // Persistent X matrices for EXC gradients + double* xmatS = nullptr; + double* xmatS_x = nullptr; + double* xmatS_y = nullptr; + double* xmatS_z = nullptr; + double* xmatZ = nullptr; + double* xmatZ_x = nullptr; + double* xmatZ_y = nullptr; + double* xmatZ_z = nullptr; int32_t iParent = -1; double dist_nearest = 0.; diff --git a/tests/ref_data/cytosine_blyp_cc-pvdz_ufg_ssf_robust_uks.hdf5 b/tests/ref_data/cytosine_blyp_cc-pvdz_ufg_ssf_robust_uks.hdf5 new file mode 100644 index 0000000000000000000000000000000000000000..11f60d60f61f97d9c042496ecc3947ad0b93c61f GIT binary patch literal 643064 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

M2BJzwkpx{>Xl9 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

    HrX&I?7z@BBg&D4H*F*=!jKyGBamIW#} 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

    abEw@N3 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

      07ZrnrIq$q5CRmYFMZ@ik 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 literal 0 HcmV?d00001 diff --git a/tests/ref_data/cytosine_scan_cc-pvdz_ufg_ssf_robust_uks.hdf5 b/tests/ref_data/cytosine_scan_cc-pvdz_ufg_ssf_robust_uks.hdf5 index 829f8e9689d2af8b520729a3ef4bad3c11448bba..a48e14d4d13dadf852acbf22a8ddede7b0082272 100644 GIT binary patch delta 303973 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≫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 -;WK^qo*mMyT2^m7Z;gc2+eBd%X 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 KoLXmMZ2TWt;pnjd delta 455068 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

      y13)pUGY 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�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%0D6pMs<-J(Bj#T>P>gKe&O)c3o_u1OC3V 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

      3))O7ah@ge9xak$t2`+k9@6X^AT z6${90fP@0DmOfqXD830FeNI0O0l!CH!HSO!N1+o*;*GsCvqzdG4= z^3(cR>gER+x8as=%fsvPlku~`{(aWwn{xRil8;`dJ-m@5a#g3-ncQ-DoA~$iL-@x9 zTopB1#cOV)cLytOBeE~JDYsN}5YovUUh2R3v5W6tIQ0mw!S^gt+LOo$Iiz+yTgB5u z37MKJG3#H5fo=CU`H%7k=$kW-# z`HUwrPh$ZKgfNcI}(%^*=0E6TQ7K=^dLR;T&Pahrauytjjrku+nS6EcFMTVI_7$ z`PWzc=SRj)ogIH*ZhaHw+Pq)1m*Qax7gE3C@m9!V@5?;IxyY>v&Eo3NZy6rDC42|* zhtFS!r<)Z~I(P4a44n_k_M^XGRYiZn>mISo#v+ZhKc;BIqwy_>zVcYioE6j`bVYxLBnKZ-)dD6bzml}Z61znEMES8hc z9e5R=QF0W1RPsI5LD2;!RIa@%>v1HPY8j}=EZgGgIvjfBVHp~aCx; zZ?O?T91eWHz|#rzdccYWY&Jkb0od_?`3z94|3fSifQ$x!MgT!*)T9*Hj-@y|p|S;g_~^-J z{m?fx&cAk7uivIa*Im&IZR1!v-N5FWzpZ)>+!SNI#^mTrQJ!n$Ij((>s`#!U?p*m% zx@Qne&VzIDunpJwslqK2_#Yq3jmT|R;0DEDO>$%vStX2zad6-voX}8frX(yw5Z_~B zj-8SrP&bPSk108Vo8<=!^TJp=ri@8=A}26$X#RRrC9PwnBKKeXM8ytmhm-@Ewkx{-7Eg+O}=P_XTx2x zK77o86(7-aH!pDAiqF7FOz);=_Ol}??`k?c zIvI(pLpP^jQzk^4Z>xFd=5DvAK+C}2V+&FA_we-TPDy00D)d>(F)|j+qLRVF$xEo6 zWn>!vu!VTL!s{a%XAUizyd}NY`~zEVx0kL{k;Be~)#cA!;v+I_*qj>V7b)B1M2DoN zQD-q{z`MkR1q!~(Uq4#WJ%)$#a9jSq+)Lhg z5?$-w{2IT&g}hyS%izF+n`e~|3ObCdH#b_!k`5WB({ zcLM7V)|eN+-iJARE63A1x54L}f34m}8yBJY>(cj-FJm<>>?W-l&nqCI(#+4sOb+;T zzeHRSn;m&gxsT3TporW2yk=KTp<(R&y!U@PB;2|LA^!rt=@W9{P`74`{J~%?3y)06ZQrp8={B zAQk}`4G@h0hy?HhK<^jS^+3x8q~kY3t?0k0R**&mAri3r1v?usY6TM#@Uj6HlFftU z-*ejd<3{P@L>EMMX58)&){DvBIGzLX$xW;07Z9bHhN%!n}C zp>ZTTr#-}CB8waC!eOXKyW;1_4t@fPv`lJD3B`6;Z5=6bpOoCssEyS|_)V*MD+| zd?q|nvd}(|7Ado;y0$=pP5qRbUU`IWzVEv}au~1C)>IDOsm&H<{#u3vc$(~`+7e>53Djk_~@xn~_FZ4d_{fu9DbAPLektddY z^3As`YFo+rGQMX&CLASa4@~k}M&Bcsux<22=%1%~l{||48*dCJH2O0s(B;W8pQ)D* z2=$ToN^WVUqIe$eX&2HPd3B8DbCSF{8n>h+KRA@~(jpQc=&|QK|2UZ@c_}VpnP!MT zE{INBXU?WoU3XK{Q1`82)$c3muIHgmOej8*wa|@Ndv9!CDS?_SQ@mQh0nBV>eJBXe8 znVk$g<&fNDj;e#(B$2ahiHtXtHgJb4y9AiiZ7}0!v-Y$Y6=LCSHN!UJQTp@4`DZ$w z?!!sDOrHd;SK#Sx43D!f+QJIqJc{K-?zA&{(VxBK-Eii848_CKS$OHYXoFOqA1Ez1 zl%R3OHQ=8Dc)fk1&cLj;mhy9F638##d}nmt76B_OzU^oAN}!#Hk$c#|9k|K$*M4`} zF&39NHKEA<=smu;$DZCL@Du(Rka(o2FAaZ^sc9Emz=A1?l6JtEoAI0x-|CeIEQFHk z)jp9>bxfs+vbdVZfSj=w+i+n+Hwgs^7P`l}`JwRwo9r#mD)8<0H$^GLPOPu-sQM}M zew_N<@b}x2LEN+1|3eV}41RpO%{?VIcI51K?efnvyu|l~8>OSCr^wI5KiChsun^8S z8hXmy#0g!stv}kYSz{&l@vn)dD{#bs70vSgrYWfd=?_magZAxtnfwX0yM|*-qibAl zYFK`UG;1=m2=S^RN%DyHS2{jF?|gN|96y=xZc@1S6@F}gp@Ncv7wmto;gu)hL3>Av z*KE~Pfqw=!_CIszh0Dg7CyscJ(KvV5|KQJf0^7WjJl0U>jQjFEo6LN1l`K6olAXB` z40A4|<;zFtk<%Y?RiV|Qv9J;spZ)QBJkaoiiBH`6k&sXWgF;*RGCiRD*3w#(inbJls zSO2~@UM7c^=RXa;Nqd1uj=#Q0I2geukEG;V4;j%uga#rdlYE5ZLF$7aKWA`X%@ZE78GJ-! zkYUHGi5*avmDqPec9if7d_ApjG-M1J*%%!LTjMAGu08=J_a zx4I+j%lKFIsr!A`a&gwj=I#YGtVpuQlGRb8LE3!Bp|zz=eZ?u17wNK$ zt-IdLO+?VT9hw6)2v^C20{v+kh^Fwv>L1@nV6o!Xjj0`4klN)i=A+Sq`V@f##QVPi%8>owj^PMtNhOM>pC`AuMF>*cB&=O|5>POoXHXr5IMhg zZ@?HqbB}KIWYkAEliG$aqD7v_M03j4>Pb7q%fl&f@RTKj+vS*fYQ;dN(+h(Wmk=WC zL14_I7kiM)-zBc`WqCuzl3Su`LMX)e--X@sY-+^1zIl%DuCtIjuVb5Vz8BIh6wwx~ z?}hP8oMlu{mO!WtZ=ML3C*nG{gKzul@({`KX70bv$r3x0`Y)pkX%dJxSKzyk;`|t& zcxujAz*gc~c;bT)57w2rKUrMuy&C?W`viQiT9|KSM+fe>Tk403!Bt!Y z->(;^dy95ejf_T`Nk-zI`hML!t;vAAW0uRyukIuZcy~yZKPSQUY*#n#?7IR>hn{Cq zyqrgF;4!)#+;krAZ(`8YO+HIgm4%g`?@Pt$r@r)Qzg8p)utftka~r}Bsbgmh&?NG8 zB`Eq#yhO8v`wN> z*FQib03reW0MPpdbv@9sIf(u*9uHEjAdCh=Bw+Uob~a$t3MM4rWdklG;2inl@TRMu z$s7^cJ*-V~^Tg!%6Pj1zw24Zd={NoULIk@ZH|hU)I`4QajiSTPX%~${08OV@EQ0K@$ej-FBm*|%ta2WjN*|sy4StSWhj+Lnp z5a^zaHd(fgF+@D)@Hf=f336qTxpMitG?MIk_G{!-GxV=bU!vRx3y9@@oBe*CGejF_ zysTL2hVD+>_~W%BkHigGb3+Uc(6~K6D~p*eY0$>?#BIuEf`j=(=Tt5U=+Do};q(mR zXAW?A#9K{!*xe^?^o%M8R*e%OpMQE(5@;QBlzK@pRQBS%`p{cb zXvo>LJ)w$#X1Uj)of!v-D4*gElt`}uRXQ=5{;naQk?)9UtK7Wc{mrMauZT6Iedo?s zd0qo_fV|@0!);;Y%!et5-%}D0`zy*|PZxRQEpN1FVvshJM7A(qz^-smMtzb@ZqFXF zD>_pAozW8FWBQiabdZ=hkvG71%` zqP9YdSXP$(8XTbhdz5Tn9W0R=8u6bV-e;kRL`Mad86A*bdlS07NI;2&qSvnqT_vbg zx8yAx-Xwh%Z;=1NtqA4DG3iywQbCFQ45y2`%OWifUuw#dsK7yDk0ayz4R(-2GZbMCj08rW7bI?uW< z3E{orc;7Ex(}}n1;jLJBnGIe-Ax!)qJRWC0)|mQ z+#QdbT5&TP?jiZl?e{;YUm||9!KGGQBEdHsd?3Le5?9k2r~T84$f#q`k|38VS~+BP zIr`xxbSg7!%plbe81TO=ush_2ik?w9O z%co3ZyZc3ii1l+#j4v3$1k_zvd-$UQoI>x2B62U`V63q(wEQsg@axyueAnxkZR&8k zSB4qEeL${LpWzn#d97mJJ%k4t4Y$8=mR1?DdsX+G&rk}v=xNA&Z0Izkaf$ogwPS~Y z>#<1fDMDJLY5*A*sv!YZ3EGncLz&p7cCI(_(IjcCdd@KEYyHFugI!d^D4 zbQK&&^w&>oBDcwbSO4wyd7=-rDc&DSFCq>avWwt{ws1`&g5v-Y-C$ z5d>$|Exjh>4nbV^QVVlP9d((3C7*Zl+HJplQBbkEt zcaOxML^MzL4bmQCL85%pC%V1$(d>dK|3q71Kx>^Ac|TSjY^pnv8~(CJ-Medl51iBj zi!V(gBDVg)dp{3}$?01`?98I|MD?SVNa)K(;X+<>lsZ64?!kdSH&6MdOxkHFz~snA zm?bv@S8~rW=gDb;I<(up*g_M$ecm2R{`x9iBpLKZY}2ZvVNAV;QcO)d`Hb3_LTiiwt{=D>xS*W?)C47AYNN0g+E+{T22uhOLL z24K5!Wn=8yk73qFs;aaq>|mzOYoT=|1Je%u=^JcGN2A4NgUanul0>!J zjk^>`RLxNK-ad@r#o>70FJ9A$*X!Y}SpRLafg!wv0%ynL%x4_ciW3%bG8z#l8ol@* zhy(`+;JIHsuZPEMaCbcJYQ@cHxQ7J4{o*GZd?3LU5`3}w-#|hH_(S6N;c*lZ4>vS5xyInnz>UN_7!??zp#Y^z zwC~j)cEV+8J&_3`f8YmYLegsUE+{4M<+frXCk1jYXpga#o(ijv>FqYW?}|}~(GlKU zpT%NU5)x9hy`52Jzm zyoSBA;04O*s%IOSgbRgx40#F<;50pbbGEbDq%T8XuQJ*vVaqBP4%>UBW6CS8o5Vwn zYuFi;wYvnHdKU8WC7^2%98DBs5&sP#gwoVHK5FWx`7k|i@_FW=O zT6?9lP6b$AVFY1Cy*H%~Sl<1zVWT9t=t z393upEJsoqM-60An8n*K&yL|n1T`1tN5-yZDh``5}x>lr}bmS}kS*^lrF`Bz@! z_vC2)T-2sC|4+DLmW75Ujve9d4nEcGAcx|;;Y7Ue7w_rB>-F$fEWFJIFQLHU@i_At zN44UJMVyR=1C4MH3C<7rU+x$FUtEvagvV@fdpz!H#m#8Ai3Gp>QkwqvWP?ksxI%(& zHuyk-zazgH4#m|g$|I?>?am0dF)Dy1y>K~@=PWA++Xd5!4rqh>g%!>nTEyW6jVhgO zkQzUgO#`bvO4!zjKIMJ*w--ZUP7oTWxK_3A@qEIY0SM#bp%aB_`Ae` zaj8F1&rysxF-kCLGn|N)TqHbg$>4bx2%+~o-fgi~X+c~yEu|wBsv!D?oLRrRJoLnT z^5gRHi>TJ8DV>B&d-RXOHyP#LpQO&)_rwB8JRpK2ItwsehTH;ZedyUZ2pVQVeEPEi zgp~m~svK;VXN;xb}b1L$|xznD6S-BErI_sU@v< z2#(JC8J_QH(UB+%?D`uW)H9^{^Q8=P6ng5-Kg(tbW!MmOxEr~V_Isi)6eX3>$ic7E zJw~QbzBcPtf!ayXJhpeK-pc~j^&%$4T-`j2T4jBxkvNFajTsr6RjN6li|L_RGmQty z#=mq_&lXRkgzWTMdj%PStn>Mk{JTj6En5?{b58Sw1a;non!x8I_XObwX=AQ18M$Bn zYLhv^U-7-G5M3XEF33mPaeolL;6x}|8UIUqap7>C$fw(+uJN3?NcvQ)g-FNxGb*!+ z6z4eiO=ZFZ`@qwf{_Ig3X#nbV8b6%Un1L1?y+or#I%4a-7LaF1Q0qK?XL68PExy>u z^4G)^D$rN;l}-P<>gbh4`q6f%xgXmCS6SGdqoQdHq z^u#|$bmsV%Ci=7!qEcc-2l<~>3R^NNYSL3PQk9QrAwlplvl3iM4jGp|b!a1sqxD{I zwi|tE(7Txyj&k`EurOm|=aF10v?OQkgCH<~rdc$9(DAHdlybihYB!}(yf+;0`^9TI z@pe7D73+UxHpHg?v{3w~gaU`h;GGq|^F3ClrVmExC6J|jF13rtP9e32omoE)N+Je7Gguk& z^iYGVcLiY$aU}Fc{V!rAuOwpUU%OS|r-Hcr8gsq-nid={nAvJs)kS4%XgEJ>DT2)M z%i{@hE6u*)U3ov1%&;WIB=%Q?Nvy9R$ah)K20q+iL{UbtC4CVQ7kygdhV4XtwWx4g zgF~$rFBdJt-nt8F!=I;QPJ>njHAsj_?P(Emv%86P@M-gOlLX|hlTY_ z{9m^-V}3S&%m9LRe#h3#h{Z&V6=;ZzTS zQ|0FVB$KT&{kjW!aJTF0Cmcop;O;g@UD07O^oB#|wZeDLV9y?YpA(Nfu*<&2fo5BI z1m4S>{K1hCu!vUI-cYwAsZO7cjcG6$&MhJz8Lf(ddfxn83O+FpRf-L3&xIbwh?Zg7 zOLo=N%{r0EOIO0zRiB9Gj*CpZMh|VCq4W{4f&0eD21*3YNHeXcx!#FLz#=yd3&@sw zp}6R?+a`SDYQBb#HNTH6qkA#!)|_7onnL=fd;41UQ27zk;ESO!?5Wf&!?^BG>>`uJ z+we6yP`^YjvZA>Ti?e9xRLE}7-23J~fh2;Mh8{)xcgHI&*L-J17Ag`R! z7Wp1%@`Uxg4r-8LN-L>!4A^U&7v=qD-}J3g+GU2ZnzS?(8*zVby3zkV#fpYTHd?oN z@14HKfa)b3#^j=@*(U9s8<*~jj*?pcY!2U~ztZ%uD0|uW_6>E>R?{vc&v3O8w)KAE z0tF@dxsBbzgH;=S<^B0$G!==&5;&McXIKaeeJVMpLHCa|Is8pV;6NL8k_}6vdFhH~ ztK>~s*|?%YhiCbG_E^AU*RQpVuP#8yCdIE*d22Mg;t(R&=!lB#{8$%GaY47+RjWOg zRgt6+bU#Se1&YrouzY0CPAZp5B(|041dtqnTqSwVUy@R7z{cyF(S!hwino{M%&^vr z$}e}yqe)JEmuX8P5AYlAcdU*mhhdaA*k3mBu%W;1owd0AuADHsA$YZvWtHsZny3U5afSDz8z;1A z6E^bDrwjY?d4g=uiwBjIR_B7dOrTQ)nV}zCY)DwvaxX818Oj~uKL4gv5}H>X(tI?x zj$v!fYem$IP#f8^u8tG)*t3)QdC3PQ)M$-U|zttlJ5;zpbTw6b~L&Ol({J!gYZJ6wlx?g15 zQzY~=^jKlumE_U-42x}xff>6xvaiWx5@Mx=8Eyva!y+dHRQN$TL2a#o;Y`;hRX#s% z4)=#5q=l=3ani~%q=c_e@^hLd8i%4XHY-MxAW}9(7ya4V#yD%~^N&tkCuEwQI2l_n zht0Vf)qf&CPb5Ug-B0BU|EyL|qwFYo{2@96wl~)kXVvU~SJa2x^+oyIr0HrM=G2nH zb1G%j6G*=#6gQ@nS4d8t@$|V#GN|6SOEZN6yM%`EH-R+egBV5Rt;cy;%LJDzA+g^& zbfLZT7aQefzQKh%qx|c`+-PN2LCO_6dbG^XK%k0}xb**v!|}dfyr&bd*TY+}@HQK~ zgrZyEzwCIN`HZ7lal|4{M#F(dIEV!22mD{`mw1r-#q)Z2%m%l|k=HkQ`+4pSM~r+U_&LnVNuK@$UuY~_ zr5)x0(lKE~xn+b6?P5T8(7RY$a~sdM4^A#43tRZ&?&ve#(v< zKU~*-Xnr5ly5CwUz-x;3a2)QNpOyyWAx`9eZ?>98lNA3gx7cFNvjoM= z()I_x|0!agI;;dir@Hu$i`TKZgTK@;wE&+_CC=&$h-8o&X}QiH<=?_a8z$}=2i}9- zt!gK`mVHQBFO;9s{0M-xbS(zBHExma)1UtMSRfKRZS*|nk!ds>ndQK9RJ#+~Tl*v@ zJIDl#>EB;7ZvTK??q}83B0mJZoBtMT_WLL1l-YaB`pZ7N;gMd@vw0E<8v2qkb%z)5 z5i1dekS{}UX8>#a$Eg!&-QL!lV7e)IMfs6rPB{-$Vmb3}S%4B$l-@ku5kLkm#VcHh z$rT2It6xGWeR%<|XruXJB_*ngN_!Eq%OEwvq(WTuzH zqO(H^?o;7l>}`YTdFT2ejR0))Pnd|7N*&?z;0wvanMv?{C7<5%9X}$e%ssH>^T}M; zJ;TX}(KQ*8U^40my#EL43jL64c8DG8ld)qXII}kk^CU+ZwUevesP|VXU3ri8?|O7! zxa0_5nE(3i?B6S-0NLy!rBf=f=fmQ>j(=m2H(>3qzs^b+k$YP7-Ea?0-F_}!|81lx zo~}egJ)g1pyIUWvlpgUO2I&nv>mioG`+l_y)iIDWI#ThD8m9fUk z^ZJ4KWagjh?eqtRGp>_6-seQCM4z8Jpk*Qs#yZCawpXz?8yw$-AMirexswN*(DwiD z4afU_@tRJ&UGM)|v50IhF}%$NFQLHU@i_AtXSL#pMVyR=6OC{X3C<6|bH8|8?;vLL ze<>T>9gmw@|6@k8_>UV6H<94CU;Ji+ORcyWaG4!N3#n>7tv zBGL88VQQQInCAk&z{lrQ|*FVQhIvfAE2f?4BV-N&*!ZadY3wg{}~} zW}GzzhOT^C<@+)OW}bcDJW|wx_*I-o&z#7HSUlIg?v%d(QfjZ*2K>B%$hr2~FI>f7 z_JPQu6MODpGNOmP;wwFLF7)ll(5@R`{7iPAkF5Y>ABdMPdtnM1zCYQzI2eI-g+|+a zYT+Yr*{h^lEgE6@kNAj%x2kfQd+hVQdCX?8`9VUXPmg}Ht;@>+YMz0{g*#bUXSo&C zPjtono$9J=4kma8@CW|Hm>wUYvifV?d@TE}E?wqa*( z5W|IpoJ)fRKs|#a?1w`J@YXw4ZE;H;s;!Bdx^eLd5@D_wpZj%^RN%&XZ3`XCN=uN6^Deas~kNKL#5v|NKHjQ$0g8>Io4 zs5@V^J_tfVM2``Vi)AKAyG-g!g(xm0M3BpWlj1$0mS;;KWlj;9c~VGi#ac~zYa}Td z{1-tUr+#X3*7C=G@x{LLx%>$m(0v#prgRxhok-aY^ZJF=eZ28zhuWDS;H`UaL}m=0 z?+@wP`9K5#FV9O=9$O>i^>yg@KledY9yr`K+a^bd4jTrmve&W+g=E3=?AAMQv(4Ep zW+7$5_@ODKBM<+;qb6C}pPrfkQoOuCrojV{;|lRWldpi+#WQF8Y$Jgs-C3p6+47KP z`I2YWrwpXg=1L@EZ3VCtk2PWCxd4TQxgf=-+K>|2u`<`Hr-*n^&2hS5aflcjajj!L zlZa$$70E-V#3B9{0r$y}XJGs3NXemiR)CN;s9&Bk0?I_6n8^oW;I0~D`lIRV!1PD4Z+z@i^{laC=48{H&RX$)Ay>ia|4KO+uceD1pf z*TgQ?Q*7Ww5O*frzyF{rzV|OYTy4ldxZw|6GZt@d%aB8=7w(BDa^6OAeGgMV)8;}3 ze-~bv{UJ|E&2#rLU}Z$^U+aikEq+2`;BqeJ>FdVycMjV*oNPGguV*_$OJwf>e_t~{ zO1|(O#Ec1ws=;po$6fxLshAI{8)1Kwy1fCp&#mKsWPSjIjz~mQsQE*s@h7911~A0< z%CdnMSu5g+$t2x2^@IlAF>lx?HX&}G>I)72dZ3KvqJFiB&4|p#EB&M!dd-L0h2;cT zN}D}chpaL@OEICZVtY>ztrj!@i; zN$Xx40*9{}P@_8}g#71SxfG9h=#iAUY5MbGAfZbly0F?8frTH2g~xlFz}(K2c|uW6yVU?pVN%rVXcJX0r*zr7U$erHFoQJ9zkJrdBg`@T*p6*4=0 zxU&K2Zz&BSM!$ zf;+$-nf0kOtD1xA)xUku-f^N53QM6{orwXK- zEO>0*e-64{KjeHFZjW-xwiXI|6d@;wv9mH8`yS{L@_x_Hz6k03r6K9g?+lK0OS@I3 zMuJOn)6X4~^Ficpf#;XqSnxo3Cs}XoBgsl7W`;ff5>jfn+t;&P3)a@}*R9n0qK8RA z&ztpcBg zKCs?#SzQTYJIv%K*{5>o4e&4#5RqfJidyHfuvBiEt(>g5i8m2Z$&kH^tg?R4b9?z!R;`%BQ@*Se$`hhl{FT9VH0h7Ia7 zAoS|w&~sq0%4u18CJ9h~eIq~Dod<^6ULB>qSOtQrMB{HZ5#5nmw|SccJ12Cg-r>q? zx~GW#MyB)^@k~VeYm0lzxCgXY(fd65N*!XdvTxn1bOYqkxqqcUZj8!m{!_RR6oJ^0 z1n<iH%$h1(?L-&3W!D(4y+3?$sFpB%c0x-FxyR z)b?@<3nWejB8N{~EWKIC2i!dtoA!5%(DJ99|MH>>kZSf0qC!nD68?kBhSzkKP;XP| zB(dX*NM|2ESM&Q|jjp09?{U;c#EM^C){1NeL>~%1Hn)E8LUw1Y!~7HQqt-e|ThxMl z?{21IEq9cGLzLHeEgwnuf7BfG1ppuEk|kno!97TuEM4oEUnye1m{X;+oqV9ao$0CD z@IejcGzY8?=OQ`uR+AbeJII?y-`Z^=88MFeUQzBbgwbxc35!=z054Z0?XsRaU^^VK ztMi!-Xmsb^dnuVu3JRbz9I)GgZ2}6UGCeJUYs<$W3$9(*tiO4EtOWR^hWU zC!8W+_c|gcGxenl^7h3*WpI!dH9zmwTn^b~Pqj0R#zYtd2>`?DGMu!wZc1jWy!N|aKW-+!00toSR z??sEAsHY_HTc%7Jz0=r>&g4THtyxH0$zN|tUJ-QfMCH4y&KH2(1N)NN*PRE}>I$V6_EJ2RFO7wrN}l=wQ-0ZRXzv$mW2LmswyYHeYyU zqo8&H8?Fd>+-GBj82omJEABFZ@v`{fezPXhw<1x+=Zjk~?`Z<_ld1qPyAVto^2;C< z2(wSQYXyTV@EqF>BCi-C>}^`4QXWG{r0`Yri(~vTW&@A?_qeuq1_`k)t{6saieSW_$YRLS4$;&!xuTb z(dqgN-X!#UB-=b@ybVSgvYEVvwlNaDf5yb2B$C-huT#WT^#$yF&^o(tNg5$^*;GE? zZ4jPyVc1_2=|nz9xKK4cc!%7hS2)I1@eWZ*rO&CE=tV{z*hP6i3WMH_2Ra;P?*NQ@ zXF=omE99|je(GG330f9^D}Z0A5rkE}D!F>21&m(x{X%bW2b!Ih)YHW4n)A8_!4e z-TzyAyqWFOzvt5Y1F$%!GWpJX6H+%)8gQew6ccB@%`PJWmAh2Wnj-2iTHWXW&?p^H`qR10hj5ALE}^Gaude#-g>mK9 zh9>&4GCdpOkZMdR=`l%oy`rk!UHRaPt_7jQ-%M;3b5va_N>daPyNI5gn!ImAYtfjj z$Dw2Vx1Jz%`_k3Y24)DnchJ>tbAnVM_#6!^4_OM+Gpf7X0ChD1D?!|cQ7GebgBlhN z(Hj^PsAS~=qWZpZzRXz&`W)04Y%0cr3eJ?Yh`vh#4fd-u?9TE~?-7q5F$Z%%kU<;D z=xmJI@)kvPypkuh-{koTEQ1Kw^iE1G-aQIshTHog4CMqXS(qY$YZwbRPriNXVFKZk z=(i+3IRtth?ivz1eFd;9<KCa-w;nw83vbR1pcMXccvN`^kX5`>}~}IE0Ws-#+EF z(h3`PI+L-!yGsb{@aXkmrzS*co91QNI1&C$kBxA)ej&IRQ#|EX3njn}qiU~S#ACA) zqb&AH*GN;(EWbz+XrW8dENPeg^nj%Rd)u8AW|W;8ii82%RmYPyK1>1o^VOyJ2=T7brE{@!H|^Lz5QrI6LJvQ7Ojo24;#t zaQ^W|j`;jCNv%_N$O0rFj0#7HQbeK(dip}$^-vLC62p~39v`{^QlM9?iRFqQ^k@5` zR3_OA(z4hE**kOe;QRSUDh4!d1flZ2-%K|b2{%;JPELRD0Tj{iFOF1cpo$CRQ&kFe zgqyl_dMT%V!1;+RPPY23q^%DLF+>Mpq`!>gUtU}%Ny&ldRO1{YA-mUvgZSOwfv}~{ zVti=yJwbk1BZcLnA3=jZ!M>R82^KA-DkXO`h@^A+NUPuX1D@v>Pfz_dUEuC+G4si2 zn`C6YFxDh=pQLi`sDQj52}>|@eLAreNurF{?zg^)!KHV4@>VW-5R(4Td}C}dM;qpk z-~FSBpru*~Bkj%6(E6e>(Vl$382$Ug!lZDl6>xo+8}}S>M#FgiUHyRFg&H1$9%Hx- zTvdCY)2JANs+Ht~-90F&dcf24o07E~3^Z0(c5r(_Yx}tmEh*~|W_LgN8h9C&xj=?r=qIHX&1TVd^b13 z-_?P-cLz#E^^WfJsdXz->Gl2qkI9dXA_BvnS>1c+@e#oxca`DBbfa+dknts`Y3}$3 z*OjqGTp__X8+;(a-;tRjukuBj5im!it@ha70cj^IzhAKtfrt@%j;_E^-H z1!Or{BF(=`Q{-G3`Y`IV+w=29u_zVATk10x#8p#MM{Jl6-+{t4 zV>}2v6xejGNf1@~ygy!Us|_TP;R=!{D-^*pZ%OMEP6V0e8fUAWu45KwnMHk`4Px); zW8czFSO8|U#7tak4m2n$eb$VZQSk5k2vW$Ndf%yhsZSvj*ykYZnBZtY3BxEfbb><{BGCff3$xLN}9d%57 zb(NA>g=w%yV7^TU&ur2pLu>y!2;g~+14*6^~3{g-sdQJNR-;2Y`Mt-d% zp``;#B=Gvv7TfC*B_Zn+r99jxI?I5%-c{-iqFo#qT6UJK{-6X+rdVXlB|JrT8EIV3-5%E79zyndsi3UAka$o=IcF>i#%=c+OP;SfTBN=T@V|{ z19aR?nE_MZu#9e-g=gm=5Wm8q>o9N^>C_H> zr@!Ejj4!14{!37X4$1F2OkR72Y%^3cyh@Y;hjVxAzaC&V1XJn^Rq6GSh5+BDA~h!H z?Kh>C)gR`dZJo=5=cG4AoalfnO9!xk>^shNw`{@t8{5eiw@0z&C!_(_fNKPVp63Yg z8H1_cY@PWt?+5IH{fRGWFa01)4h5gues>f3{rTE6f300uu&v_Fo96q3QPb)yHR3Wn z)`vy(v?h@@?sD$)-K)efL;36%5;Z`CWyIv@8xpuG@TXLunFPFVe3RVc=>Qg?qClMC zHcIn*{30`LCHOV0QiJR^05xA#c8+;xlvUNp@WS~f(E5nz%<#RW4g{UQWoLNT1G*yC zm&?ALflLv&d_8sTpg2x&JMCTvLUufXf3dCton1S6YM+*^*+Mr=b5Z^wCcLrh{@|8i z^P7O(!)DSz^$WfCn>rg-^?=Lf?3j5g#;YlrxOP>S;Ii;>?z+cISa;ohSye$zeLlGo z-IMvDdWjgU9GWtwq%OedA{2)cESSvN|rc9!Mnrr;y;A4L*?I56S+q{_l%v zQ($2U^mD%$0+G#b*8c4G5lZ96ZBdpu2pgWxIw^*N-AuB3al4M-!)W$Q$;&)2vpXXm z-*N>Io8uCvokQ12&EzG_8M+2YccVIw$rmH6qw*spz9|N7Q639nEnvYO4%O*=eUqq0 z)AZuJ;~W$GYh3vI>u>LyRq17)-z?m~r0)z49^3S7&V2P-EUZAjX`N-ndp$i|y_YBv zAmv&E8hqSSd#@d!ZImO1x>@=`(1g_8xyqXR;u)e&6-M*G#R9SylqvYocOpmnPd=7!61rEULJiP~QDM_eZ=fr({=ih067;FOi%J42!cKSY)9NoH%Ffb_!tb`g6g5Xgz*_!>V-n$GW zVQYAImz<_ujiienY8@4T73ECR)meVS-b~AtV&!3kBRj6G3!lgkH#KvUB0n*#?X|1Q zce9};P5yhtu5EgLxMiB#d0%|2>D95pquk^?nCm3pYl5mImh55s>s(_T*4q%MDG)CO z`jxDwUEe!k&jdT_mrnAM8jT)@H+4USrH-3CdBw^OE;&YLP{-uA;P-&;@fsTpIB~K7p zp7=}l3`;Es7ISlU?JmbGR&F^qXsyqSRh;>{rQ%%BR9Wt4o1-BD8!|65yD(CMo7BnE zo#j!4wnJfee2I+6Ms{YAkEteXFWXA%SXtc^7kZV{fGETC#*VxaS!GQOrQ;uKlO!ZMxI#k2HyeB+!5@;$1(|%sM|SleT7 z@(z~DHs*k1_2B30qbKB>bHP>d;`@$o&C!zQS?|qQ{SZh=sQ6svaiF`6_4wpm1NZ3W z_L)j}!M0+!sZMV?k?`*yo*R>Vkm+B-dJ6QdgD(qj8|9!Q^Odz@tY6|2d9cAjV7 z=O8>1S^rpa6Ta2|C(2u`6$A*BP|F+i0hzlM`ar2P5K}a=Vs(sxnsM!X3yGI7!XqN(6r3yCj ziZjr=GLbKr;4&ofO#4O$cNu5x{G=1?rt z`KoOqb3QVEnOgR~mMfaVeKWqOJ_^~UZW%gz?IK{H(9nT(LxJ-7DTjdm9I(u9d#Xan z3w&kB+O0tq&u;s)_E!AR;3bHkkQs`bG9x2ntd+mV;r>#@h z!D$6G_%->D>O(NnOhj{;P*#Y0V9|x>pL7>w@%#Q8NVEf04TLD8%204Xo>i-)$psr1 zw+OenoRFD^67GqON1&fxjwhKrBN0NoXmnZoBji+XQ{q~m6IyIObqN0S3Sp*y{kk>e z1~_zdTs8KY0>q=Zbk>JG3^DxLGkGZL7s03FoOVWM48Zi{_R6(cL98P=arzst0$3Wr zidY_4fey|ue*=GtBKbMm@#oclk^*O+vr}DGL|V*$UOM&82{F1AeZO{>3A%hCyf_3R_yDGBF;fpf9iFqp{(r)l?_{N5V{m$@sm~+w0FqP zj$gC^2G_+bMw~;z11{pAs$vlz_`&H%r5#KKHJiwNsQP{h;r5hPf6izHA{`F}zjQN2 zx69p>&mT)cDkKA<9|;O047J@Ke{Zf3UcG_$oM_FEA8wRifHMVjbe841?h{L3Kr7R> z!~YBjxHc7<@l=D0yH;K`rLO_et>SyVPB!xBitjxGE-CaM(UQhlM6?89@x77Mp+iDi zybu!?%jWs(>7qGIGQW_kSIX0;WY-;0@4AxI-_h%5}};$ zO{#5i1H{quVuWs4erTysf(?3i9ob^ah`BJPgoIsdr)y!FCbjeUA_Y+=kiO2Faeg-@ z3BgoUlWAnM|Nr)jpKNfc6<0{a{T?lKjdf=6w#}w2WO&rnpdD9n*nveanlqkFGr|#Ef`__yw4Ue2FvU|(& z0XluEbk(8HzHxO?{e!O%@f(`*zEM`{a0>E;p5FNRl?>!2O{wiUuT*5Mt)G+qPcv9c zxGJyBdkeLEpLYh)DhAl>w92U+6u8^@8_~+?qMu7nvb<+X1^I@CM?61vBkSwT`Oi2k zp!`x~DscEV=%8iXm~^#(6s9tIe%yI^&=sLl#^5c5#Ah|8A0?`WBjzS*UGfu85y8@n zaM|~}h&)U9zO|16+NqbZRyP<6iW~B4Xf;!jHmPqSQSO##-Gj#*W{=9iyt+;O%fcsM znWBlE_K*=uezDowf&L*_V=j{C_^u6oNaJQMuZcp~7zKi)yh332k!i!lds8q*Ig=q} zZ;d>zP6#8e_K(4)+IjkU*RGP*4Q2ls9N6kqMzReWrYsQT+~zSf@i^)dw{@50cOZCW zV|X*>fLi@BT0QI)PX=jXfs>dpeQj4(?GO@~@hippKmZ`ut(~4I{3_!UM$)Y~uH5|S?!YW!}N6;(#N&Lskv;@yNznGVPpbBEZ(6KX*DN(bX z@rPO&o=ED05lh0G1&qME7uch1Mfl4vNa?Y-1OFKu3w6y7C*6(G`*oL}7M#nYUb{Re z*1Y=D`drA+{pOuG#?{T~0U?;4xDLVK^Ps68~!Y96UKWjeXoAG|to>gr++kHr@Iz#<@+MTXkM-?@idm)w9 zGFi>Locqv~>N<6a^tcKI>tnFdj#``m^>4U`t!^=y=_ppeV3wottry6 z{70^ORLtPCPaV;Q_>r{j?|-dljT^KRqdus6TAhJy^|gajC}!0HBCOo!Hq@|ea|hw; zvaF=D_Ve_=Bn@FzN7t5nmO{WTi;nxrQ6HeOv3=3+%|l?YHuH%-(iwRv^Bt3Zy-8Be z+AuCHzKyge8b5z)>xhIrzk_8bDWgW)jn%cU3XrpPG5;vPgn=wrGyS=e=)oDjf!8AA z@*PC!WKy$)8yD2H%lWWcDFQr|dj9^~sIGeVZ>O#CmnG^kk#)J(BnIGLHcuB8$6lzP z3s>4Y>SWTy!F)z2M5VrY=~>=!E{i2tO2)f8r6P(n&UaoU`@uHm5_#)p-TmQa&Zlca z1>C+(a&Nbf-!^#LEDId;auS1yYU=77gDwYIKHNlt-+u9%4KB6f3JJd1-~-A39um}w zQd}c?^b?2eyKew11Qbor){&!FGB8CNMV4IFt~jt__QYP z!6oD916Q7})Rj$LCsvW3!cl^|IY+y^%t^KH@7Q*X%Iuoe`K3EvpO9^e=#WP_BxhAG zdYH5>Tqq|faTpel!Tzdo#@8giuRKPhRR=c*hr$~B2eDIo4^Kfve*^V9Q~^+_cJh%r zYjemcq44hSzrLuTJ&QR)2S8YRG_@O(?N4tG zJPpFtVWn192jt}a2&u1n(8i>XTrBJg&e9@>DK<1v7FKWNS`lZc^x57RG3;#?U?YVE zCek>fUyr_zsL{4Vn>uDak3}B*JpT1^deoA&8acd3r_&MScbg8EN5?KMNOSvN}f z9M50>v2R=LPNvNHubS&ku}?=5b6RPkJ^rt_#?rc@-+*^1_h}dyI=4UqHU+bqf`s;J> z_U6MkVf{ox=!fDNPEu8)LXb`P9N%_h!%z^zsfaDLsq1O>D11om&^^*qa(dfl2E|@+ zho>@X0W8L!e{cp6JX1s5{xp_gD;Dal5A;k(r{AqJp&8;$>?fA&!v}5D7s9%Ov=YVC zR%}b(Wz)K==Mp)R=yvP*n=(E-7XOuvZ0ftzVXRR9tEuVCOtk*`5Md`R`FBe87q!3AJSJkBOG^H`aun7#0AqLz7-qV4`zz0h6Zdz^=v8g53zJtX+; z7eCqjS7{|$BDh3?Z#MWqfAqIsOIocxJ6!uFo^ZoS%YGVn)S$76-ym-)!x7Sli1%@ zsLpkS^qh=18{RA!Xh@Z6xQ=-WFJ3|0XHcc5GWY&Xd8uxhGW@mi`3;GcOpOXLw1E_x zm@K~ZH^B79d=l|U7g*ppTC7}N3{<6wS+W)(5XaZpi1%*?kT2P0Y$9jUK%HDux>kb+ zWbj&Rx;LT{dBMWF_b00aiJp&t1{A|kGK={bBK)rcq4P@5Jf9heelV?`?sBaI5AB2G zv=bBoOrK0wGIkFHzTWGBB+9@-Xyw{`(?ihGMy*0Pr3vk*nmZ^2B_aA}>VoNc>Ot&` zjQQC=4p7=l*(WCs_5lSst~-h{MTieeX!MnFJ4iPSMpu$Ek&z)s^#6D|??h6x{-TxIBqlkwh8OFxv+c_D zfR!Rqn0VkarRU`g`fNEBiCSi>&01gqhdY?BiwPYIIP&Z&~5s8Z#)$?ry!XU>qyWTY-R3zX0fW)H9r9@wBc zPLx{+1YN*s&Ss?s-;P0rlzcF8LIy|wShe_{8f&7KX{IHQCpuG{uI*tR_2h$j@hKnV zZ!RF!=CkRHkBvaD&lxrU`HPh9CE3UG(QL?A!!hU8y#bWLKb*}yD9AC6{^K*HTp)tOkR3irX72wEcLuA zgjXu6DKoiBiFcrrMo_H;j7C5t#O#+C*$`1Hk&qA%8{$GjoFgqG20ljAoGEyyO8tFE z$4jVKMOPRZRS&1EzWjF2E5N1-gQu1rK7>;R5(78inZxES%Ai`f03JaK(gIWT;I3OI z{A5M{A(I!Jy&iX)0-Bz1_D8Q-{6~%M_~2K2sHZ`i-Bp&2ANgu^+xR*_8k%c*^m{ z6)ozGIAfgz5PJAt(~S-0>%9hnnnrX_{M#gGLbvVJ*rk2gyjX!yesgfmP}{+7OWsIBbC@q)NH{w%y(bSrw=$D=^$}e zFdFfl@IJ_Pc7igAXUr>Ii$aDZ(hIhq8lsrL(o}p^yoMQOmr?v48q;_RKgXHgu*5G~ zCJVUxJ1hT|JY2w?KG%qaF|U0&Y^8kTYR`9;x@^jZ;iC9vsUqrkV9KcGV-kfrME|6< zKg^S+?(;iowC+OFLFQd_iFfRkrCe!l+w2aLb|j~}=5AIIlh<;`Pp zzB_?8c3ob;_c@$tSKQc&WW+iT$yEQKbYBo9XVhOpm&_HCs~pEElx`=M@NEHLqG|3W zmsvidaO}pL(nVu%ulyAiVKYQOr8cNX*@XTXYg#+7;xtrVbJyOqTT zEI3yO>~DR-h2HKn$GsF`;mM5HVcuXU6os!E*$6@jW{dH)kqOkS@oQ1>&yE)@8mG4OS78OY*`@6RC4?AkBZ>Dv*YStID^&-t;%V}U5&ORFWu{lEc7pgkJ`UzEor6$8{VeacneQV(4dj05*C4`Bt_iR*8?jo@VtC- zybO5uXSFz-Z-HW>gRFD6o$5nctbb_20jJDBmXsHXl1;&+PaZo@13ZWYcejxtYZ#C#V_V-=2KC&~5|lwvI~r z@#odxK{Qs}a70-+-3jBS8t+JTds_&u z$pnZ79rVGzOdPi>r96O)Q&Qpoww;1wi|=iYFI|P|S@nYP?{7igXU+Xt=dHnw%GnU9 zWG3u^?2#{32hBj&m}C6AsT|;HH2tnz%mfofKeW2Ir2r?P#%->@tzhFd!IaejA#&UN z(!|=b70@&H_euE6K&B=q6+Jm{;ykGBxJ;6p>cT@mVI!OFYq;YwZ=glZk*%eX_M%e> zo0LI~p4HFjeRQ|R!LW>&Ws0d|$*S#)3P_VVB#8XLP%-ZEik3eoL5-CCVD86n_&s-- zOPZ#c$ae`OuKmkrirC&)8pVuHkiS=sIe)F1QQ`Q#_ZRFA`9ft4AGw5= zcj2+v=D%Y}TR~)}`Vkvj4luj%>K|v{ul=>f&M*Jk z_p?6+j2>V*WQ%yfg-Z?oNg1N#=Zqt5X@}jx?g4U)maYJ~u!MQ2`jQV=lq~s9o(_js zy1fRvK4ik9oxvvi>MJ4V!hYkK2xn-)J<3>44HF}Cq$e#I{73_lo{Fi0@6w@h&umrR zq#fB}r%CPbo+m&yhvfelXhGuC9OvNR=FUShg6TS$O=K-V18N%Ej0S-42B zrdqiU?3w#Bv1L|<+s)J0wqafvxF)b@@Uav`oY5ms{Po3#wY}}$sXvBGP5T$wX7<8M zRPOBo$vM~Ii_Z_Vf&%m4Wol|!>0L{}^um%=hW#ix_npE4K|B&nJqm8qHFW}_f8>0$ zb9BiS6aGe`r8~PZsl813BcSVDEsccOfOhv_qwJ z@wH zuN(R+Z`M+FF8rkyTs?^~IVMA0IE zPP{HA&m{@Fc^`|UXx^eNug=alEwFtdOWg>hymkLmAU0Nk-SF}I#jl#($g0QRQ2nfc zJiLA4>Ki3#B@ue3=HBW|GSxjlaMxEod^L}yh%V_7K3;grm&ry4YM{w{ozis_-NgGr z3&Q|;!IINPheArsy6WPkBh;&);<>a5r|Cz;?j)nCD#-;1aGqOpn;ykqM{-=7ho;E2 z*?>e3wn577V961l+ny-v&TZ8}1?{*u82oap!5+s(V(yvm@5ZyJSKS9>&EayfsDr}q zaSCVKNZB0O7V#3UVcu4UQnq<-x;HQoj6U$^#`Rs-C4f=JSPov(+ z5vE%3{-OQj!Q5X7{2UJPBKsWXJ|Zi158~H_-#i+UCSQ2@f$pQ%0kR-3S=i_GEs$Tk zaw~&Fnw-nv6a0ls13owq)A@^6lFa(1^4^tP3i))(o4uLP5xX?Kmd2YLid_x+Rx+64 zjZFZ}b@ogMRj4-&rR@<<@_y?lo9Er`kUfrGcCWp&k@bF;xQ~Wlz_hyaMoEh|`3W5L-gs4mR6Mj5&hU{Xdnb^^Pxa|x z)dwX{P1K2EwB29#^X{>PbjDe$7tWF}$?h5<@mER+O!c=by4!p6*wGN?k5S z$Kx5P$r|^Bh+&yyFxsfm8T44v(Z5snG@8Ol{pIYKi!L zxsM_-gXhr3AclqWBD~~BXAL|(Y)`}W7e7wLXnsLrMr27wZUKm7+XQ3zxq8Y=^Wk?+ zK0ip|;V4m|j6d!al;n;2J`Qo6Ol7@El@r^RO@4rr96TXk=660&o zMhzGJIOlczX>Q-eeK8}*n_M^9f)^s>&J+LCm|3pDmY;o(Z2|+FJY~YX z5;j)w*=Nt#$hI$$A`xfT$Yp+T*mOwpbK?q1^nQuD-d4+o`rn!jfyWb6D*>Ys5D78+ z{ol-{4JD#hA|WAOHpGR5I7h-6tz8w5j=~uEN2$K`<}ju3-tly$EZ7`)m9*6*f**sa zz8q1z`cZ-0Dn-#7Mu1fNaXfRa2j?(OI~q{y02400)8mo#z!3?VSKWstPRwxlOp-}>uYI~XCA>+JD$Dy?O9;xbe6T$tOuETaIXHG?}2<^ zQJTo6p5j36F7D^*U+w_Ym7!T<`p4h}*I#$}zJ*NUMR$TOBwz>U{XFL^f=>dJ~oYEsL4G zIiME4nF?0arkpw~%(fN~&#Lk&)n~zzMQZu1*N)+I=}qHRqw%;wSgEf6R~1-mU_HPU zTS(dX^IBN5oP@l#yin+=ltxL2usX&4&lV^c71H=h<`B<;y2BQmrr^i8U5Zpl3tsBg z-S~9L5&db;#MAWWDaG^H8O9QZ%czTwd2vx!4JAB1Th@$)DuwY``*f$(Bw~wbV>?bMVoW&!old{5geC4@ws8 zrC?4;0k-4SREC$?qeeRmk~u*+bUce+LIjo9Y+v}c;TjR&>ddUp z;K^Nvd-N+(8oau14N_MQ z)Pn0%s3ztW7o&}&k4Vz z$mmxe^L^HZyIf(FQ(zT`U4}X5oGn73iK?4_j0!gtSvFfl3kT2_{gUqv9z6v<-omK{ zyB+-?*RsxJ+%g;H#5{>TNxBDG53oDj_mT%b=?VYD%-*5u(9PT;Uu=YhM?mKsFi@x2!=!;f%?DMFEO(rqE;dzAzn7bg@iar z4u^c!O2ww2a;wH6bk{4Wxyj{`$imWf~GHk4s>*m(ku& zz0L4rEQ{`{UlvfInLe!WRU=cV#}`{(W;_I}w1l=BJB{$ly;Cytx^+1HCC~m&8vu)5 zPh9UW=%9R!wSc|A7?GydI>r0o_-1^mJ|~?OuulHlemoXKX}(vw#Vaqu>e-qHOxSzM zPhTsK%-z1|s8*xXyZB*B(aJ`2)TAvke$8Oz-rj!7j=qZV9VrZuy0zK;>5dd5sB!dQ zvX6HPOw?KX88m$f@Us3^+l#KFo2}kqqbe8Sc8P_VlPAPjDGP?z48IH zs0yfc8}|fqGq%&de*EN5MfZ|;`t5*c=aRe$jS0Kpdq}Y5u?#pCJd^OgM;{IYrTb~F ziLm-6S5>(~4HZ7$eXW4+T@KiG)>y=8K^XJ4PGMJP^?}}}ztIY2+5j3{(VJi?PY#n? z_4&M!1)~g({HA3mf&1BX|1dgr@_?7LJ)dw6_>tef@?)KkY{HSrKOa{NF57b2d{X4V zb3ZBz^SXQBEF*?yzK2Di*957li$998$GCwl_5pPtD)dfA134y$zeSYWBOT5Ixu)mm z)Za89_N7G<0~^2bgKb+s4MP%T&T8kts{lhp`}wzJZu3-%@YRDEmd<}jE83BZ_FGnL zcJp6Z>Ly88o5-&mje@UOJpaSQ0Rst~TmEW6cFRuX%E^mPby9gsvH@@HPxz0LeX<3Y zWvGF!l+A`^H`H;w=?lf;!J0op>4`tX%8{~!b)KSp687I{D(rTTS#xGkerwJ*Dq+x0 zqK{zTI33HSY?)F~R4Sd1=hm!P_mup?f5&s%F-zIPysM+om)}! zZJ4LL_axm{x)A{)2ecKH8CQ{>g|{BmTX!ykKLye?GSAo`xF6h}dCaiflu2t-&PEJ&4nDe|Q0 zkwlfj&*gm-#rt$Z0e4bKT8;ZQQd2}I!=E3&Ehub&tnZ6|Cb{*%dwD1SJiapo&j&x< zhZy#NH-3|4mKP1N3q}^bQ^ho3u$za?T5AwI{dN9_ub~ZD^!i+udT1*UB>6Ufy!i~0 zZ6+0KTg@@0nt(pFnMN>APX(R{+tkUL*ZC{^qv`=6A|V6k%~@f{rJsRsu#N z7!qRkON?y(6Se*)X(bX8;$f3Q{l6OtagdA^u?p6uzl3^KS7S@Uo8aXK-EM0q!^m!@ z+$~qvE8&glfpbf(&2Z6Jn__jk2ac_4PKxc%2MZ@koc443VwRGJ7t9JU(7$w`>bZ(M zlskCkaD?Ag_{PMJK~^^kTAcPvu)S;x=)*6M8l-+esOuaVb!gp1=pPku?`>N;h->`I z{y|iSJgZhaUvWMO_KwHfDgC?#7Iaua4ciE^Jk0J`$zub4m!t}ueJp~pyp8FsV7mfR zMvl~1{I~@4rNcsxnwFmQ zCsc5~A-nA5Ggopxhfw3CSM~5#iEeV#jTCTVX&z8Gj$VA@aFCCF zl|{;qOjnS}E$v$l@S!=ow42;;T&WXDDpG+i4Oh1nM0vwI<*(o7yXk@`8OE6n@=KIY z_lmN8H!l?D?yfLJD~x z@pzRgS6f72A<2K9sglB^Cm*0TD+%VAVzYy|aP(RP{mhrh-xOwpT(<*?&G@V5jTbjJ zOVI?5`3$j)UP`XTlsc8JFCEcWY+ITecujGc8f03-?cnua-;Z30-1=`vR;5LU-Gfiw zbeIiyg#iWqT@gU&C?-)XZu&388vIeQS=jrz3K-t=W9bRAC4VmG_LInq2deVBrFScO z!|q4#i!QxAMGm_pZ9nJe17Lo*Q$E)LOh0vh=xO{0K(-*Mk?qspaA#k^v$}DIVAJns z-MW!RaH7&?QRa&XP&8R5IR+IY2*=8M@1rb`wW=*WgyssqU5oE?g$J-kU*q945U}W7d16db!?3eP-buq(ikiMh&jTgxjdweFzfXh4y5JDqDL_+uj zuKZu^mx=m+eLbRPL*VfQ)k?r<1Vlp2eu4EUg{Qx& z!AJzhm7p_XxL`#Z-8bpmc!(wa;J^?CR`muk<)q)E2=-F4F7>pL5cV8$xNs`|c+vRM zT}~@-Y^y4;Piq7f#xFKbeZ2&aubpI24#6pzr$fWV+Qq5pHYv8zs?r(?i{CRX=5jH# zX49toQR;n)4=LanZD%CSwl9>9SWF!Jb=NrCyd&++AouZdY@Bnag*b(_06VVwFhG- z%ul4ZQ+Hx#Lv($9iXVm=TxAM#k5r)r$%e62HVxi*&_gGAsTMNcr~kcNbsx0EIq7v| zuw!|j-f8Z59taaff*dkKS^<84%J+EoHjJUJhikd<9^~6)^-_X68~9|_dTLmTl9L+V z%GQ5;0KQnB7FH@PW&RyntQgL|csqI@whG;isIo zS?6hdufwfMhi4A(>XX2%bHQIJi|SKU$87<(QBg`oXJTtV1?SBR&N>nUB2*kyhgarN z=3^hYXswnYs5X?@Qho#f!+9cI-mMCG;uI{`tgsC*gvPl`Z!c$-4H*ePFE^dOn$F-T1jXdn7X zxhbwFtXFvxO=0U`|0_0&KVn@KIlu&!rM2+ES49_^<_!}!k3Gee3$J>1)bB<}Y4m8o zTeMwyKdZ&qz{7Sp9)65(Pr!4SwJ}wZDH;zshobtsCjTn@LxVyjs z=7e1Rz%p=DXHx3?*77Ph>cv2{yA2rFQPN+O*xd{r)*AEf8K_};vY#cNy)Fa)l%M%- zRGVY_FUo4!Y&l{GGa6wuB19yFKY-}{5_P@*tJxp~9Zx{51dK){AQEEsOU!JDsP$v; z{}K}7WkXy@h=ar+Bl_}V?_rppMn6DbyNi55r+NHQ@EI~+w(d~$gdW+EqpmiiUKZPb z=UtA$+gNBl%~;s-2Eo28?bP0Op@iC0t8(o9LkW6xc7BRcd-EM~eI?ppCvz96q`z6a z>X;G!@k)wG_=_ph-Mf0qYJd(4^_{jNrD5JGYUK z9QIgC&sPNw?vK85-1>-CUG1y-Jaih4*AAsE5B)@A8k>hB)CQ7^Bz|6@LU=`8Z(&kH83 zyY*j)*Xnoi*+Vqef?AmKay_55(dtc+QXe@q*imv&wEnqXbSoxMJ8d&8DU z4|gxSE%be-#fg%rNd@w)q-;TzzZV4^nr1HzO>g!$Baw3lhVzd`G#y! zO|ncRHPwx}af-U_KnJz5kmqQ;r`;I>H#E;M_}RIA$w z5%-Z63`T#Vf4@Wq5`W00*1K9}=xNR{QKLTLCWaJd!Gsw@ znzAFlR(#-Zqmxwri=xvB$oBGw7sR&tR{gxI}brTqW0`hC*ALPRL7_xcaI3 z{@B4NsU43lwL--{UvW9@lVqDa$J4rMt+6!6pHe@&pTXtE4dr1b5Axcf6Rrt^w%F$F z@~%n0PB6%}x5s4S47r>3tVlGs2^jQr{67EI8lw`5MM8~67>x)K2_X<5dcQO1b(g!BGXLD;apQCDZ1kc zd>kZqvA+902-C0q92m`tMP0GEYMoO926;TZnkx2FI+6#p10ID?UR-`4a1Rj!H;Wk2 zDwu)?aAkWJ?Bqx9k`i4%p1MVmmF9YI#E*Iw&Ycdgm1CGf=i@jfPxg?&PVa0aSEvT( z6ZhD*{pdO5rtY`w?0rV-EwMb z{HO*EC+T5SRy550a3G(`W(3SeTP(g!%_CpUpBQsNPqQ zS+zb1g`uAki;Mo+?}XzEr*`OxN>L?B7GL{7!4bZ$8I50C-MG`pCwa@=XRk z!t0+F7p#fP`t4OZAmj?9%#BY~EH$8@@YdvkHwsYDlq6Tsq)(Zfs`{RM$``S5rP}Sd zJxuxb?hB2BqK$4#d-yr`_Xos9nn5i&kZnDn>1fQ`0H5 z>sF+f6BmS=dfH5-Zw>e;tL@UzJ|Xu8SLgY5r{uCF!mhl@Z7f(txqTB(hgKHQei`i@ z3q;IFW*-_mN3!qJ1fIo+IRjEwsdWv;Amw5tU0Xnjd>mgGsbb3I#4Sz-pa3BeD*1f-Q2}? zBDoCg&a=pWx_li|!sZ(O^5ty30Y5lhIHpAIPVM0;>hA!As+CYI5@s|)Xheue{?8vk zr4hYfqOV8PZ2pVKZ_)7t)k?r<1Vlp2eu9>$ zzqgC2`M_l6!o*V+tl+MKid5VV6y5j3;qO5GVOaJp)@1BJ2yj|i{*HL8pxp^R+c@P@ z;EfK7eJ_Iy5SwEhYFn;Hy}gRggvf3fD`mjldI?qur!YV#C+6nOqlW$7 z6Z7Uv=GLWETU0!-wG13I4(}+7m%~o|y}IdZkqh=m*3l*>Wii7cs}vVuU-)*11n-Yt zC;abXQse&mKD=dEo@!nus|6o;9N_wuF-19c$B`k5%>#YU_11!?B6$0`SCGr zwx6|Vjdg^Qyf2G03h_ksqUV}0^~X4-aEGHYp;LMD%o*QnWCcjtXC2H)k^|4n|BBfEk#Yx#d~LtXZ+>en0=;6~Ag`e$Kg@@C!h?hL)F z;OyA1cJ$m%tnp5Dse6Deh<)7oJ*oQvO>SG+EWOxvd}b`-s=@Ae_>Oq#YI$2;%C+wg zb!Rl6kir52u?WRocsjSwsZB8kK+8W-KfNsqp(Z~rxe{6W7cX*9XkVrr)OOW1AobtVcywWoGnzV2J#B|Y72Fm@ZQ9~J*26$1kWU=K;4_rM}%`f9U1O?X0 zwKHGaLElpSkhDHGjP7jf50jn!Fu!cn=tQt5%(-(NGCO-=nMsp+xxRCtsAbANZ#&s_%R=k9j zcY}Xir0N5qYaxD$ds492tKqjnFb>L|`aRv=%mq^)rJ;R1r(sn^IL`}eofniA{(7Wa z0)VKb!dGUY)Y)gIgIc|9)-1 z+rS^(`|)6qX{QWEXE1BBd!7oEdB2l-;{Tv`jg=DoH>03zhmmD+W)ZxR5!vs0s2)aL z9BmVL+X4UeA(xaGD}W{^_2y?y6>LD7*M5cmG3*}or5@%>X$6kWO&T&hX=F@l)4bq$ z8%*CdfAYeQD!|9?&Qg5d2c!PEvY(T;3=CbRuq8VBlBsBLtgjUnyfPl!r{@pgor=@( zTvr|7=ll3A6SX+Fv$Uxr*4YE_?F+qd z!cQ%)i#NCh8Md9^+wsB^B&wXfCAiFhP1EOv>=AVZstb#@f89CA6Z`$2Kkf7Y6T)Y9 z#B_hfKRZd==(6*}uX)F{N@Y~x{N+5prW^Z#WAvU)4Us`a<9k$f(9jD0_EwNwi^EkQ zt(Jc?qxTnjm}epF0IM*Z_X)7uZns8Zr~2y10Xp#SpAvfd9!Xs0JO z8_f^m;yHh*btOW+ao>9j=%0=Zk$e!USXr`s_zWh>w6;^;G!mXU zoM!qU90l%m+^KJzgUC}YHklU_lHgge)-u813rsG`ADa)-CV!!0Hn{7*<^NUPTQeoP z-46R?_gHoK^Bo}m`KT7X=^s2{@6V?FUBd7mS3BE-3RCFw^G;fif-tZsQ7t^as}^Z2 zJ{$T~>M*=&&-Uf%b{C-WeCPWhX<94QK8e79;Vw%IaDn zhXD_3$-zrHuaQE{4|>deom7f6{rp0AQVUGE@_K^l)&O+iG;{W39EK<4^Jx|pE>Ng{ zFika77Q4k074`GqmS{vmpgEO?rw{{Fy30(nVlyoGtb1!5k-O`oTYLG5#$E-u;Q zn5_ui{lMUC5W66$trP2oEoG=OsZ{1b!X5uVifo*i z^R~yFoSw%ni<`oC&G(1wc68GEriX2%SS0ZE&q2l8?YZHg;7UvOS2;?Qp+I-b=v>ni z9aoR(1b}p#TarAe?9G?55ggK_$4F1^gicGjXMM?e2 zpV{^@1-+ergdzCyUz~Bp`j3CB3P>n>_KTD52YOB+fO4k8A0EjXq^!N&4t8ejqgLre z=OFwsWBwI?*uc}c=&EH}75eVd?{3+U-H<14w_KsbDY#G|;(B{A8j|Gsg&GX+K@a(T zPS+1bf$)Pq+aiiKP^GZJ6WeE#p@+q%OH;o?!My_&y`zV@$RA=^$N9C&Vb-ndno@50 z;M|ceWnT3YnjItqjh9z~< z3~k)s?J8rCi(}VwE7=!Sln;JkeN^)#8og9>@>~bhQSNwZL%+D)2HEu{IH%asM7c4t zBOrNw1^25+_T$jq;(y=fiwuoK+=eU+E5ZG|7l3XrX~{>G9^36b{>*HzD$Hl`Ir34u z5ZoV(nK<-=4Qu!=#P*;v7Jl{F=wEn!75vuMyVMuXPxfpUena_l8CVChxW@-`VB2#8 z3sVnT15H;+yJD>~wBsiVT&{1;X!G_g=?Wh0!_)R}POR(KP?gWdbx;cEwMe(3etD}L zdPIBg`pwVU;Vb28@nY2W0T<*|O?3Ags}($Y>6OC>$7|(_uWHB}nI=uAFrx=)?p?}e zv*{j7MGmA4&dqYu$Op=TIc=?tx|hMyKz(LduN5%MI;nm9_a$(5WhfLpY=KG}cv)VL zI%ail@R0zO>I%NzEzy))Y=wC=li8^1(^wGDO+9+(A}FI6{2Suzf#H3e`VMy;u=cJ7 zp%npfX!1vKCT?p==u^tb^5wTDAeK-N?s&raOsHB3!y;iuBZNl(6_HT4OeBOrfav`a zeLbRPL(uUA)k?r<1Vlp2eu3{PtQ^sxVTojmn) zHQ~phu%=+*W1{tn1+1s!`&{}CmPgf+!Q2_m<)+f3Zj-%Am38D^V5%7!eCFuXoKB7z@D z^F4c3j}bjhJ3!r^-Y<$8%ew@SdSX$No29Rwz7@m-eBV+k!!42HtJ^kvuRX`v+sniD z98E_@6(mTX?|nu2CGGC$6_If2;@q@Pr=v?CAnXzFuU7r?uXFAiQB@W6zWyKH!@jrd_Q@5%TAReETys zS@gYtPEWkoRAcnRMwepiAK0|jz$|ZggA&y!{GDO;14krmHLLuWm^YqqvfE`e`#ieh z`+D+@t0#Jl{Pk~K60@>ke8_aUbpR^2J^yR?@H8g7-E~p?cqD4$z)Rb{Cl(#z{$A0{ zu!2U{pC&!oriLwx`LEikY$C@1%SE;By>MLgb;;>-pU|}%@%(p0E|6=bBP>|Y1XAG{ z<%{QwuBl>9(j94iPVD3kr@jm2QwVr%eS2#TNJp+cb7P;Yr!a(fi#dDpz9He_7dbc# zB9vZyN!u&8`>JLaahJa&FHOxCo2+|>=2GgU}lj)P~mx`>F{ zdMiO>J&tUh9{!Zo;OgR0&1Ejs)-+m2hxK^x7#SRN}k{j6uX@8A(ZyD;?B zR-0RelyBOdU);w|mZFQe0}{NkT{7;p)x;3YHRus*HnRohXUvI`Wm@6w)=00R2umz@ zcYm$N2}|sz=4f!y{b$gxKEm}exP_I}yx=nL(8U}Wbe`!0d#Lmw$=#Ux&ko~1IqJ34 z-vgf?%o_f*GXNvD*$_)82zfl=d?r+_gkq5}qy5ilH2eQWB!oYJ==~CPJ)&jvA3C1; zA3UC*S}FerqY)4ZG5aNEHbm4)BqYSkhPaRr=g5gK^Rz*=w{R?7OL^?!3*|d`m4hto z@)YZb8hLG!Lf}fo;B&gi0RN<%PSyGQYlW1&VENDbrY0pO-C0UiT^0Ig_V2WR+l0LS z0h zD~x8+Q2rLB%luc zP2^v$qrMt2IkZD9xg-_vcO#wnWDT%(EjW>g=WMNPvA%C`Lx_CB@vrQ2;d|f{ukP>U zG7SD@2(~PaQX+q&*0Db0jBWtG`x8@oAJ)LOjgC74&dL~e$4sE=*aPULB)w0`MTuM$ z@Ui2zkrDj2y?c|cRhDuue+VS~OrdxUS(P|ZmBGfBM^dTEdi!p2%5 z{R@avY242C0%9?zP|kbjwb%LOXlLo$`)5y0Qf&6TlcAZN0!0kN%TuHX;I5exa=ug( zcBf0GPy;3qEZt>HJMs|7d33V8NumI1iyS(=KT;Ue=UQHdT{hrc#|PdG%hRwXESfHk z%7E1$cebn&(SxGZ89O#Y7m*_aZ{j(Jsb=s^aXbIg`P0h1!`4g6!G+2{b9eiXVtrfR z@UpOF&_miD;jT^oO@*cq3ksVQTbVNVuJm2#+YLPC^rT{@qZJyj&@_-N`-RdRdg@p6 zi$PlR!cak1xdCZI!AE1c8~xuYU5)`FR8VC~NEQ*Hy_J&qUB)ow&TGIbdv6f+l?_>#VP}Wu z90q*({6vG~eE@glF!=*&fHmnIOPQRjf|iZ4F{v3*VIc8 zMAS+|B*e>xxR4MB39`}~uzrD|IrrXq1NDF8D@$g_`vkk?Jf3$jzi)~^$Z`3x?|1d=5Zc;iKdowt!7$cyF_+x zaK3c`%}2}1Ym5xAS>w7XL{I?43+5ZwwdugS?AH6Ht#V-&vRv5D+z9;`E{y1JRKiVT zAA>8ot!Upt&CD|_IiNN0>jTmjgvRexB5&s*Kpr?pZ8p}d1GM!v%JXOx?08)6St9ls zLD~6q&Z<2D{nXON_x2VFn4)XYwVsYTkQ+96PHm_aA9|)3qB*s-q0ma;<0rltXnwA3 zsj}-39520`v3SE9)%k!WE%F`*1^orhNA)ux|4HfU$hmLm(+|^YUuEutfZdxBA?MTq z+qc=AyuZ)U8TO$cVQplfTC>!f^`-#jvu&=ZG*E)niqQ4PololV?yeQhZ5BN6@}sbh zlB5VId;?2Wx7peUJd-b0?p=i>(zHE(_KJX(i|(%0JjuX%QcI`#`3#DxRlK|PtpIQY z+GV-2pMq{#*Ex<#V(4!s{VwZ7Ik2tZ`zz(14pi-+eXreTd6+3X-@vRnNW1JPNU~6q zrQ%)UY_)bvgZSPF)=!)52<2$>)91%2Ur9FWH%>SSt562*&I;)4`9-;R;<%9syFVh^ z)X6&Zg$|q$_%+ZB^zo+_o}00n4Cs#6j9fnopEl*Zs3bcVwd5i-u7eB?QW zKUOICY;jWs?!2aZa>XDOjLxwsJ&`|ztp>6#EKx`90BYSU zhuFL}V3S^5aFL&j>?>ND5IBPZ$1J5P^U(@e5$v5$JIjQ%F%?!P=@kHZ8$&(;4>I{- zav;~bK^m}YasFM#_kp%~wh!kL(!{wV?afHloA@6=lccC51Kj<2$iI#1ZD?#ECezMm zM8W&w1wBOez*cW_dupCS3cAy%>dL(Hez0{pW*=_!q@=dy{E+x{2(3!mez!Qqma;DS zd!#O10QqX;!hht-DV$iZM{LC+w%HI%CSB$*4DcfV7{RJTfSqD-8s2>Um_|3OmuYC)*Ix)Yj53; zFLLAmkEiqSr@H+NQ|o_ytTmOt;xn zstK&#PtYfRc@Sbna&K$Z?}J;Pba>rb_d%hmu!c}^54f)?@z!nK5~v%L)N@7k3dFxF zW-;GQswZ9JmbiW>Aq14(jnEE#Pz{yyzK@l;>k*xdu?IACn!z^j+rM_biU*p}&#dT* zM2O4Jnbo`nB05jbT8~m!Lro1G$|LF+o96*S>LyNz~I0Gt>yR# z7--RdLW*@C(V86cd~aJQ&=}A%*mnIG;fCvJX0Fh#ZVhWiAKImU_%!U#TT^LJLqEb8?r#F!L%+OE-J(nc zcE?+PanAx(~M(EvmqM152$k zLpgAv`a4@~ZVNnB!o?HzpbP#rpnp(rO@Ko&_hZkd@(`nxGhO*Y4WO@&o%|*D2@osT z)phZVBasp2S>ScP16WryjE|;L;P+i@DI4L;#F1xF?YLKYE!YqoOv?IejhS>R2TD4Z zf#w~N+hWHwsR=sGhIbgNsFJ~K_N=o?@UuX(8CPcmb@t%lhl)I%NUvx6pA`$)Y>}+T&8#HP~6B6{YK^GEqj<`L`&ZX;|fH@C}nzj2cf~mY# zzfsk6Z2M0iqdoG;&=`OJLDx4x4SI~E7zQX56GLZ3w=dkQh9?8b{m-`9!CONQzQ{+V z5dqqk6Atzbz`%h-EdIDo%m!X`nr2G}*Tc_TDrReee;b+Gl1}u%&Zxtm%gKZAbBt+F z)6EWe4DaxDDe}hB%ms{!57vR5+WbF*=>}kO7oGBkUI>AkCr#=Ztx>@lgCf^N<|bgl zRbJe>=0fa$Q?zY#xE}1@Z>W4I(VIvK@_Mybybg5S7)qbs91Ek;x%s^3ilM8K$aOz= z3RJz$cQqjT2CQ9TdA2TQLx_JExVhV@6wI1@wcBx}8H#*A8oc9~2f^R=m{Pp23#hPy z9>0BgIQZ^*0b4xoNIVm?Uf4aK2PVgoKP}%sN^BQ(c_p5o2PZ|%xhH%h;X;76&TsER z$TdWkOtfo(8U7~A<8-MY<;SpXiHjoUdEoH9dE*i=F6@5IG`IoKF^{XHKM5z&%QY3U z*t)xa_O<44wy6TMeF@n9327-TXxrpb&QT&lD(nNWv}` z1NPQ+noKrN_r;OCt8ia$9J#hP!!r^N>7zxi4B~}{G4Zz~Yxe1S&Yk=9!_5Ny* zB$n83z2Nyg4lEb#IFa6M1SQSifAX4joV!wtGGRn|)p8GUi)=oKymD-- z1TSKNbR(aPZ)Aa^j9P7RmWQD3Z5(ITl5E5N+`{8^0HWeaypo9!=cX5Z-@F0WsdIKVC4-P6oqLBuGl=^~3U{x(P;OH7^7>jck^du5L6 zb%1Wq*v1ssE>O1r%g?|$LBgZ(Zt`(@Diq*1)wbX%19grbaxFEMgqh9^<5FA`G~XKH z(ii&(T6}4spUoE|A`X7diRrlyx2t(Sw)S<#29)XToye6q%(+{0`AD50Sb3CqaHz!# z7&bAv4#ww#jHK$mtGdph(ymB2)O0&BGZLbjtr-q~ZSOkw>s}~uIPpcx+)kJ{_SAw# zHm!pRv&KZX)h|pC8RqkAnL~*Ig?g%3)0t(XLrU61XbHp>)ZN8-7oT zZCUw)yTTY2Pm%J%n{ar6b@U-43Hm)GkzhV zfN6isRrF-20pHi?Z%ohy!qitens>Jd6V@chzfvDUf#Qzpp@S?^L`QGBnFuu=2IdMr zWD`)PzU9q(Jz8HtJrKJ2qu^dC*w3+^P=xzdl1BnbTZlMIl7OwZ^a5ucdHP%6vkrI~ zSg^~??P7UH`jwsRHj!Wol2>CqqN(oDnVnTnUj3M9CRpQ3VY&MA z*Q{g_wXXW=Q1+92^8Txr+%B?yCtDt7e&Won1VY(^-8W`fp}{wXOVf+DNiz&zEAcKq zM%XhV@4EEB4@&PAwfMVy5aa&4{4CAX5;Blh8wZAu0L6@|l+xjQq_=Aex_^wf!mEr& zI)-D1D0MzLaEoRHyKM>4 ziA(uiTd6>2rd8@mdMyZe`x-y)S$ml<`@8t_*PC`=cxmn1(6!l-mXb1uTc76 zFJ~f&A+Bip9^Vi(Qt(pu!L3mgwv&nV50&ndkvJUrevzgV>GhBm3(0J#|4AqiJ03Bg z5vmmt7K`!!&}fKggg_(+Ab@(msIP}=HYgpBQmrVAhB72*_ls6Gv{CCnlU6h#K@S@o z-AK?uVwU(+_QuvJ$o6!cZcsX%nCjF{TTKonlwWA8&&R!h1x?qJs;-9-adWy8B@1!b zZ{E~-3Je9=GK-lE)#;dgjwRXjSqyX@9uEi4B^6%XSF}P}3?&vh zs)d&IA_-fEL2T>q2e3yX;C%e`OT?q6Q*R}e>i|sjN?cj7BNqNdW<9@9KnZ{L6aPtb z<+NLMc@Df$CE^_(d6|9TCw~7uQ+Qm_6u!K7qu0m`=f+P~DwwSQqb8Buk469Jq_HU#mo4num{MqD7Pt5<;N;~kw8yqZ59yk9jjaeF&aF6sg zkjyuVu3y;4g@xK%71UwcL<~v3_U5zg#MU0eomu(@@YA^$5sA$_MC)Mw?yBZ61r!lJ-UCo1822MiEo1V zF}W?`O`KlSii0KB4(y0ONirNg=+@Ntl(bpUBJqNkF(oXqPiu342X*_Ffu53eQ_6f} zz>&mDA1K`pO&K*+0x+LEZJiv@O=4?nn#C=bok^bt8+~s1g_0Kx-Ss71^(h{#Hw`ws zM3NWOU6iaQPm&^e8~H0G&XWB1>WVs)7E=1%Sx30_Wr&t{_52SUOGx7!kJDOpH^Vy4 zh7I?)qDymt=O1+UzZl zlRl*=)U`Y?AW6kPoc?*Ql)U%w_AT3$tw}ZJjk1rmL*QZjKXEwn{UT2% z((55B7P8qO3B^C~cp5t%F`p5t6(JT884UrA5Qqfv15oW3M}58jui5+;k4LFi6h=cK z614k8D;qRwMH3SAvOyOTbdHRWJqMOf&Oq^qe=j5l@U35-r-tLi+2@CbMT-aEgp~@c@=%G0vQx@m@lzpP%8(mJjZiD;qqyA#!->4Ac*uH&xoDSTB zw^TANM4iL4;18RMYo&HRL|$6Mwub0(U>i^^ITm~oyWbYa^Xue8;7r#b@jhPyZh0tn zmAVuNYxy`rt*{cv_F7L)@KFF17x3RA^rxK^IclY+Fn0}TthpU}k#`#=D$G83ne0Rq zUD-y}D5C9zww}%rvdaL&v3DX2$;Sz=&rvQv@X`d3F?vC)xpzAub|7^7i|J@c=I@C1 zzAglFVk`2`YF&j(m^CAVSuxB#HS)e8#uJF2$~!Bm!jA>bAAB$OBodTd8$XwQfhLo0 z9g$ZZG$KY$zn-bw(FoSgztq{HodVsr%vh|xJV5-maPEEZBo^E*4qzWQJwe?4{VD=~ z;FAd1_UOkvT2rTPjUEZAXe*`at=w8lx+DWzOIjt?bXrl6zwR5SSkgQhQ? zLjXm|bX$bm&n&9wlyJU|>m;?5@glx3EqMao;gSC-q7wy8en$q;PpnfH>Nn4kD38l9_#zs`-*^01lBUe#0zrcokZ8#W=MvjCq2s4 zPXXh2%_G=3f)u*eU7*Wy7H(*?nrciGz#UP!`b-tH|9!P$HM2AUIXB_Igs+KFLF(z4 zDEId#F$wBwn&HPhu;88dw>tX)@T#pYI`!H1m@8~=4>3UfWcatp?k9LL< z0o;9kpKGgt>2^Io0T&(Y*_8bHiclLk5&Wn;=$aXICs$o+J8Y#^ZsYO$G^Ym5ue%h8 z{Cr5Q8KM^14fs%Q<9vacC%qq$7qV|@aC6we7*a`z{f%V``I+icPpJ(MiwPZ(^_?cq zxqjQt$A6ttCS_{SR`!Z~!hcub&i#obRu9YCKS{|{ow-v3U5*c->k&Rr&A!JFdBc(K z7il_?T@P8YaAdPV5()&5N6cr$YDI`eL`FkIBLpHr`~cMZMRmP@Yc@I%rQ=bk^}jG0 z4p4{$?S9eD28~*c|C^AYmkqj*po7FyK>cm(p|{Z6F0|)!Lo#vnliP8RAAT@P#m4=q z$vx;fff=RI5NxoTZ}VTa0Fdp+NY4=&fsI%=^RYMLu~1O3OZOsu7w{Z9Z)QfbT?;bt zGW1UO1N+oZ_k#K>z&>`1TZuAZM6;5N_}`jFm|TC@!TD_!?HQfEaK|c}knm)Um3veN z`wwocEe+m)t|sGYfA)uB6?Z*84}{!=-oEkvUe&I|-taFWYJ9~Y|Js|`B64}>g>l8{b zNZi?)C-V@xuPU4^%8P`%ENjbr|DMM3Ii1u7E)+n8Z)#4YhZnI(&(XUHJhkBIeJi>X zJJR5nfs>-Q{mP;K%)7ui%6(Wlo4AfYwbBA!#O&*!QXMSV{cVUu?`kRp`(E;@5HPZ$XE#N___}2sD{21q#{-{tQA840p?~!?DONdA9iymdH zg~?KdJ%7awpdG96n@@I^p-@~w-}w{qkaySlHKiqckeRZZZSal=!86^1Kk2;h20X7A zWR_{90sPWq5=*NpcH8VME2$?3Xr1I*&^+V}vtL{Ol%<8rdbit8V&*nr_9^d&mPiFG z>DhOcM!qvp{|Qgs)-oONB+C6)Wt%-1+$=voY3vI=++C4qU<-pmZ6$c~b^+{R^5d3F zlM4{s{(F#Huo7DF;m6}b0(3Af+oZ6!QxWh9z1+&{#(0qSx?tNOIVr+YcT=;oyD^MZ zy;8Yz*I`0!mqPk4ZAb9*)m#5Et4=ug^S0(slV`9^^vis@=Kxd?gPXJ!Z-Ci{B}W{M zy@{5w_Edqax-X!B&EW7?v4Ky$jTHwYZa0OPG!H!^1N+8WL+BhWtCX~&7~@_TPxm>_w<1a z8(zOjcsyHG@u=`cIJLip$3ZtP63EKUll?|G-{yQPTBmVzo^WTkxKnIDj)VnB$t1ltFI=v%v@(n`Q>X+^F zccEC8bX-^HpgZ7S)1Iv7%q6%*J>RQUq{95>|k0c&Zg*oJvK+VS?7mraA8km~R_ z7LJ<{A-QbvvM%1lL7%WxX(baPr|zw?_`RF3+~sb^wJS{6^|+b@@x5t;_i66|{FZwi zEJ!wYG;Z+6{M(cu&rvF6RgHfl^z%XeS3`I!$&qYbi^J!~)yVsdf& z#C9SoPbmI`lr+Z4l|hcx3MDv)ylrD{$YY%`OLsaMuETYn($%J91tOHwq(-zL8GG#B zy6!1@7rwKQo;+`ojLArb<0G@m>V&OJjcoGo7!aP8*u3qnEW!V*{^ph1JTM;LVwSu` zA9MBJ6RzuALa|JGa^jFX6QSeVr7A8jilzV6H1B+0N!q;2j5AqN4SwHtY0qR5E4G^I z$Ti@xiD=(`lK$f-PdMEAct`RoApEh{+fRLABKGWcNDc8*1FdA7&~Zc!?cGIfcZx%cgqdH~b)||_sVe`_2 z@~?<$omUZH23I$DBg7(2+;=+Cnqs9uG&A-EW%!;U{=~-zu5!i`&Gl

      toLlBW$Vb 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 diff --git a/tests/ref_data/cytosine_svwn5_cc-pvdz_ufg_ssf_robust_uks.hdf5 b/tests/ref_data/cytosine_svwn5_cc-pvdz_ufg_ssf_robust_uks.hdf5 new file mode 100644 index 0000000000000000000000000000000000000000..3a0ec834edad1581488a9196cb5265909fa0185e GIT binary patch literal 643064 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

      n--%fc5+2D^!Q*HN~<#5Nn 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 z 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 tG>Dhe=r}1mBtSdSFsM!J<8~N7qR=O4%K0b5f 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::epsilon() ); @@ -240,13 +240,13 @@ void test_xc_integrator( ExecutionSpace ex, const RuntimeEnvironment& rt, // Check EXC Grad - if( check_grad and has_exc_grad and rks) { - auto EXC_GRAD = integrator.eval_exc_grad( P ); + if( check_grad and has_exc_grad ) { + auto EXC_GRAD = rks ? integrator.eval_exc_grad( P ) : integrator.eval_exc_grad( P, Pz ); using map_type = Eigen::Map; map_type EXC_GRAD_ref_map( EXC_GRAD_ref.data(), mol.size(), 3 ); map_type EXC_GRAD_map( EXC_GRAD.data(), mol.size(), 3 ); auto EXC_GRAD_diff_nrm = (EXC_GRAD_ref_map - EXC_GRAD_map).norm(); - CHECK( EXC_GRAD_diff_nrm / std::sqrt(3.0*mol.size()) < 1e-10 ); + CHECK( EXC_GRAD_diff_nrm / std::sqrt(3.0*mol.size()) < 1e-8 ); } // Check K @@ -311,12 +311,10 @@ void test_integrator(std::string reference_file, functional_type& func, PruningS #ifdef GAUXC_HAS_CUTLASS SECTION( "Incore - MPI Reduction - CUTLASS" ) { - if(not func.is_mgga() and not func.is_polarized()) { - test_xc_integrator( ExecutionSpace::Device, rt, - reference_file, func, pruning_scheme, - false, true, false, "Default", "Default", - "Scheme1-CUTLASS" ); - } + test_xc_integrator( ExecutionSpace::Device, rt, + reference_file, func, pruning_scheme, + true, true, false, "Default", "Default", + "Scheme1-CUTLASS" ); } #endif @@ -405,6 +403,12 @@ TEST_CASE( "XC Integrator", "[xc-integrator]" ) { test_integrator(GAUXC_REF_DATA_PATH "/li_svwn5_sto3g_uks.bin", func, PruningScheme::Unpruned ); } + // + grad + SECTION( "Cytosine (doublet) / SVWN5 / cc-pVDZ") { + auto func = make_functional(svwn5, pol); + test_integrator(GAUXC_REF_DATA_PATH "/cytosine_svwn5_cc-pvdz_ufg_ssf_robust_uks.hdf5", + func, PruningScheme::Robust ); + } //UKS GGA Test SECTION( "Li / BLYP / sto-3g" ) { @@ -412,6 +416,12 @@ TEST_CASE( "XC Integrator", "[xc-integrator]" ) { test_integrator(GAUXC_REF_DATA_PATH "/li_blyp_sto3g_uks.bin", func, PruningScheme::Unpruned ); } + // + grad + SECTION( "Cytosine (doublet) / BLYP / cc-pVDZ") { + auto func = make_functional(blyp, pol); + test_integrator(GAUXC_REF_DATA_PATH "/cytosine_blyp_cc-pvdz_ufg_ssf_robust_uks.hdf5", + func, PruningScheme::Robust ); + } // UKS MGGA Test (TAU Only) SECTION( "Cytosine (doublet) / SCAN / cc-pVDZ") { From 66784a442141fe2c4e14957337be054b77c2a5bb Mon Sep 17 00:00:00 2001 From: "Yingrong Chen (AQUENT LLC)" Date: Tue, 4 Feb 2025 06:54:07 +0000 Subject: [PATCH 4/9] Merged PR 5423: Add psi and phix calculation for lightaimd ddx calculation 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 --- cmake/gauxc-dep-versions.cmake | 2 +- include/gauxc/enums.hpp | 1 + include/gauxc/molgrid/defaults.hpp | 1 + include/gauxc/xc_integrator.hpp | 4 + include/gauxc/xc_integrator/impl.hpp | 15 ++ .../gauxc/xc_integrator/replicated/impl.hpp | 27 +++ .../replicated_xc_integrator_impl.hpp | 9 + .../replicated_xc_integrator.hpp | 4 + .../xc_integrator/xc_integrator_impl.hpp | 24 +++ src/atomic_radii.cxx | 27 +++ src/grid_factory.cxx | 38 ++-- .../host/replicated_host_load_balancer.cxx | 2 +- src/molgrid_defaults.cxx | 10 +- .../integrator_util/CMakeLists.txt | 2 +- .../integrator_util/spherical_harmonics.cxx | 166 +++++++++++++++++ .../integrator_util/spherical_harmonics.hpp | 7 + ...incore_replicated_xc_device_integrator.cxx | 1 + ...incore_replicated_xc_device_integrator.hpp | 6 + ...ore_replicated_xc_device_integrator_dd.hpp | 31 ++++ ...atched_replicated_xc_device_integrator.cxx | 2 + ...eference_replicated_xc_host_integrator.cxx | 4 +- ...eference_replicated_xc_host_integrator.hpp | 10 + ...e_replicated_xc_host_integrator_dd_psi.hpp | 172 ++++++++++++++++++ ...ed_xc_host_integrator_dd_psi_potential.hpp | 167 +++++++++++++++++ ..._batched_replicated_xc_host_integrator.cxx | 2 + .../replicated_xc_integrator_impl.cxx | 18 ++ ...shell_batched_replicated_xc_integrator.hpp | 6 + ...atched_replicated_xc_integrator_dd_psi.hpp | 26 +++ ...licated_xc_integrator_dd_psi_potential.hpp | 24 +++ tests/CMakeLists.txt | 1 + tests/dd_psi_potential_test.cxx | 98 ++++++++++ tests/grid_test.cxx | 6 +- tests/ref_data/c2h4_l8_dd_psi_potential.hdf5 | Bin 0 -> 84704 bytes tests/standalone_driver.cxx | 107 ++++++++++- 34 files changed, 998 insertions(+), 22 deletions(-) create mode 100644 src/xc_integrator/integrator_util/spherical_harmonics.cxx create mode 100644 src/xc_integrator/integrator_util/spherical_harmonics.hpp create mode 100644 src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_dd.hpp create mode 100644 src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_dd_psi.hpp create mode 100644 src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_dd_psi_potential.hpp create mode 100644 src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator_dd_psi.hpp create mode 100644 src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator_dd_psi_potential.hpp create mode 100644 tests/dd_psi_potential_test.cxx create mode 100644 tests/ref_data/c2h4_l8_dd_psi_potential.hdf5 diff --git a/cmake/gauxc-dep-versions.cmake b/cmake/gauxc-dep-versions.cmake index 48326a83..78c82520 100644 --- a/cmake/gauxc-dep-versions.cmake +++ b/cmake/gauxc-dep-versions.cmake @@ -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 ea07dedd37e7bd49ea06394eb811599002b34b49 ) +set( GAUXC_INTEGRATORXX_REVISION cf2917c64916583cef1081011beab3085b66e352 ) set( GAUXC_HIGHFIVE_REPOSITORY https://github.com/BlueBrain/HighFive.git ) set( GAUXC_HIGHFIVE_REVISION 805f0e13d09b47c4b01d40682621904aa3b31bb8 ) diff --git a/include/gauxc/enums.hpp b/include/gauxc/enums.hpp index ce7c19e1..faf9f0cb 100644 --- a/include/gauxc/enums.hpp +++ b/include/gauxc/enums.hpp @@ -15,6 +15,7 @@ namespace GauXC { * Generally mapped to equivalent enums in IntegratorXX */ enum class RadialQuad { + Becke, ///< Becke radial quadrature MuraKnowles, ///< Mura-Knowles radial quadrature MurrayHandyLaming, ///< Murray-Handy-Laming radial quadrature TreutlerAldrichs ///< Treutler-Aldrichs radial quadrature diff --git a/include/gauxc/molgrid/defaults.hpp b/include/gauxc/molgrid/defaults.hpp index f3c3bf5e..b937b008 100644 --- a/include/gauxc/molgrid/defaults.hpp +++ b/include/gauxc/molgrid/defaults.hpp @@ -14,6 +14,7 @@ namespace GauXC { double slater_radius_64(AtomicNumber); double slater_radius_30(AtomicNumber); double clementi_radius_67(AtomicNumber); + double uff_radius_103(AtomicNumber); double default_atomic_radius(AtomicNumber); RadialScale default_mk_radial_scaling_factor( AtomicNumber ); diff --git a/include/gauxc/xc_integrator.hpp b/include/gauxc/xc_integrator.hpp index a77d0a15..f17d323f 100644 --- a/include/gauxc/xc_integrator.hpp +++ b/include/gauxc/xc_integrator.hpp @@ -36,6 +36,8 @@ class XCIntegrator { using exc_vxc_type_gks = std::tuple< value_type, matrix_type, matrix_type, matrix_type, matrix_type >; using exc_grad_type = std::vector< value_type >; using exx_type = matrix_type; + using dd_psi_type = std::vector< value_type >; + using dd_psi_potential_type = matrix_type; private: @@ -72,6 +74,8 @@ class XCIntegrator { exx_type eval_exx ( const MatrixType&, const IntegratorSettingsEXX& = IntegratorSettingsEXX{} ); + dd_psi_type eval_dd_psi( const MatrixType&, unsigned ); + dd_psi_potential_type eval_dd_psi_potential( const MatrixType&, unsigned ); const util::Timer& get_timings() const; const LoadBalancer& load_balancer() const; diff --git a/include/gauxc/xc_integrator/impl.hpp b/include/gauxc/xc_integrator/impl.hpp index f2a73a49..2375d133 100644 --- a/include/gauxc/xc_integrator/impl.hpp +++ b/include/gauxc/xc_integrator/impl.hpp @@ -96,6 +96,21 @@ typename XCIntegrator::exx_type return pimpl_->eval_exx(P,settings); }; +template +typename XCIntegrator::dd_psi_type + XCIntegrator::eval_dd_psi(const MatrixType& P, unsigned max_Ylm) { + if( not pimpl_ ) GAUXC_PIMPL_NOT_INITIALIZED(); + return pimpl_->eval_dd_psi(P, max_Ylm); +} + +template +typename XCIntegrator::dd_psi_potential_type + XCIntegrator::eval_dd_psi_potential(const MatrixType& X, unsigned max_Ylm) { + if( not pimpl_ ) GAUXC_PIMPL_NOT_INITIALIZED(); + return pimpl_->eval_dd_psi_potential(X, max_Ylm); +} + + template const util::Timer& XCIntegrator::get_timings() const { if( not pimpl_ ) GAUXC_PIMPL_NOT_INITIALIZED(); diff --git a/include/gauxc/xc_integrator/replicated/impl.hpp b/include/gauxc/xc_integrator/replicated/impl.hpp index e9d2331c..5a7f7eaa 100644 --- a/include/gauxc/xc_integrator/replicated/impl.hpp +++ b/include/gauxc/xc_integrator/replicated/impl.hpp @@ -200,5 +200,32 @@ typename ReplicatedXCIntegrator::exx_type } +template +typename ReplicatedXCIntegrator::dd_psi_type + ReplicatedXCIntegrator::eval_dd_psi_( const MatrixType& P, unsigned max_Ylm ) { + + if( not pimpl_ ) GAUXC_PIMPL_NOT_INITIALIZED(); + + const size_t natoms = pimpl_->load_balancer().molecule().natoms(); + const size_t Ylm_sz = (max_Ylm + 1) * ( max_Ylm + 1); + std::vector ddPsi(natoms * Ylm_sz, 0.0); + pimpl_->eval_dd_psi(P.rows(), P.cols(), P.data(), P.rows(), max_Ylm, ddPsi.data(), Ylm_sz); + return ddPsi; +} + +template +typename ReplicatedXCIntegrator::dd_psi_potential_type + ReplicatedXCIntegrator::eval_dd_psi_potential_( const MatrixType& X, unsigned max_Ylm ) { + + if( not pimpl_ ) GAUXC_PIMPL_NOT_INITIALIZED(); + + const size_t nbf = pimpl_->load_balancer().basis().nbf(); + matrix_type Vddx(nbf, nbf); + Vddx.setZero(); + pimpl_->eval_dd_psi_potential(X.rows(), X.cols(), X.data(), max_Ylm, Vddx.data()); + return Vddx; + +} + } } diff --git a/include/gauxc/xc_integrator/replicated/replicated_xc_integrator_impl.hpp b/include/gauxc/xc_integrator/replicated/replicated_xc_integrator_impl.hpp index 3c16f93a..35bbe215 100644 --- a/include/gauxc/xc_integrator/replicated/replicated_xc_integrator_impl.hpp +++ b/include/gauxc/xc_integrator/replicated/replicated_xc_integrator_impl.hpp @@ -81,6 +81,10 @@ class ReplicatedXCIntegratorImpl { virtual void eval_exx_( int64_t m, int64_t n, const value_type* P, int64_t ldp, value_type* K, int64_t ldk, const IntegratorSettingsEXX& settings ) = 0; + virtual void eval_dd_psi_( int64_t m, int64_t n, const value_type* P, int64_t ldp, unsigned max_Ylm, + value_type* ddPsi, int64_t ldPsi ) = 0; + virtual void eval_dd_psi_potential_( int64_t m, int64_t n, const value_type* X, unsigned max_Ylm, + value_type* Vddx) = 0; public: @@ -140,6 +144,11 @@ class ReplicatedXCIntegratorImpl { void eval_exx( int64_t m, int64_t n, const value_type* P, int64_t ldp, value_type* K, int64_t ldk, const IntegratorSettingsEXX& settings ); + void eval_dd_psi( int64_t m, int64_t n, const value_type* P, + int64_t ldp, unsigned max_Ylm, + value_type* ddPsi, int64_t ldPsi ); + void eval_dd_psi_potential( int64_t m, int64_t n, const value_type* X, unsigned max_Ylm, + value_type* Vddx ); inline const util::Timer& get_timings() const { return timer_; } diff --git a/include/gauxc/xc_integrator/replicated_xc_integrator.hpp b/include/gauxc/xc_integrator/replicated_xc_integrator.hpp index ebbcb1b2..9202ca79 100644 --- a/include/gauxc/xc_integrator/replicated_xc_integrator.hpp +++ b/include/gauxc/xc_integrator/replicated_xc_integrator.hpp @@ -33,6 +33,8 @@ class ReplicatedXCIntegrator : public XCIntegratorImpl { using exc_vxc_type_gks = typename XCIntegratorImpl::exc_vxc_type_gks; using exc_grad_type = typename XCIntegratorImpl::exc_grad_type; using exx_type = typename XCIntegratorImpl::exx_type; + using dd_psi_type = typename XCIntegratorImpl::dd_psi_type; + using dd_psi_potential_type = typename XCIntegratorImpl::dd_psi_potential_type; private: @@ -49,6 +51,8 @@ class ReplicatedXCIntegrator : public XCIntegratorImpl { exc_grad_type eval_exc_grad_( const MatrixType& ) override; exc_grad_type eval_exc_grad_( const MatrixType&, const MatrixType& ) override; exx_type eval_exx_ ( const MatrixType&, const IntegratorSettingsEXX& ) override; + dd_psi_type eval_dd_psi_( const MatrixType& , unsigned ) override; + dd_psi_potential_type eval_dd_psi_potential_( const MatrixType& , unsigned ) override; const util::Timer& get_timings_() const override; const LoadBalancer& get_load_balancer_() const override; LoadBalancer& get_load_balancer_() override; diff --git a/include/gauxc/xc_integrator/xc_integrator_impl.hpp b/include/gauxc/xc_integrator/xc_integrator_impl.hpp index 69fe689d..aa969190 100644 --- a/include/gauxc/xc_integrator/xc_integrator_impl.hpp +++ b/include/gauxc/xc_integrator/xc_integrator_impl.hpp @@ -25,6 +25,8 @@ class XCIntegratorImpl { using exc_vxc_type_gks = typename XCIntegrator::exc_vxc_type_gks; using exc_grad_type = typename XCIntegrator::exc_grad_type; using exx_type = typename XCIntegrator::exx_type; + using dd_psi_type = typename XCIntegrator::dd_psi_type; + using dd_psi_potential_type = typename XCIntegrator::dd_psi_potential_type; protected: @@ -42,6 +44,8 @@ class XCIntegratorImpl { virtual exc_grad_type eval_exc_grad_( const MatrixType& Ps, const MatrixType& Pz ) = 0; virtual exx_type eval_exx_ ( const MatrixType& P, const IntegratorSettingsEXX& settings ) = 0; + virtual dd_psi_type eval_dd_psi_( const MatrixType& P, unsigned max_Ylm ) = 0; + virtual dd_psi_potential_type eval_dd_psi_potential_( const MatrixType& X, unsigned max_Ylm ) = 0; virtual const util::Timer& get_timings_() const = 0; virtual const LoadBalancer& get_load_balancer_() const = 0; virtual LoadBalancer& get_load_balancer_() = 0; @@ -135,6 +139,26 @@ class XCIntegratorImpl { return eval_exx_(P,settings); } + /** Evaluate Psi vector for ddX + * + * @param[in] P The density matrix + * @param[in] max_Ylm The max "l" degree for Ylm + * @returns The atomic contributions to the SH projection of the density onto the DD domains + */ + dd_psi_type eval_dd_psi( const MatrixType& P, unsigned max_Ylm ) { + return eval_dd_psi_(P,max_Ylm); + } + + /** Evaluate Psi Potential for ddX + * + * @param[in] X The local ASC coefficients, (nharmonics, atom) array in column-major ordering. + * @param[in] max_Ylm The max "l" degree for Ylm + * @returns fock contributions + */ + dd_psi_potential_type eval_dd_psi_potential( const MatrixType& X, unsigned max_Ylm ) { + return eval_dd_psi_potential_(X,max_Ylm); + } + /** Get internal timers * * @returns Timer instance for internal timings diff --git a/src/atomic_radii.cxx b/src/atomic_radii.cxx index 6e3a829f..5b6054e1 100644 --- a/src/atomic_radii.cxx +++ b/src/atomic_radii.cxx @@ -318,4 +318,31 @@ double clementi_radius_67(AtomicNumber _Z) { } +// UFF atomic radii +// Atomic radii derived from the universal force field +// A. K. Rappe et. al. J. Am. Chem. Soc., 1992, 114 (25), pp 10024-10035 +// https://doi.org/10.1021/ja00051a040, data given in Angström, +// will be converted to Bohr. Note that keys are normalised to lower case. +const std::vector radius_uff_list = {1.443, 1.81, 1.2255, 1.3725, 2.0415, 1.9255, 1.83, 1.75, + 1.682, 1.6215, 1.4915, 1.5105, + 2.2495, 2.1475, 2.0735, 2.0175, 1.9735, 1.934, 1.906, 1.6995, 1.6475, + 1.5875, 1.572, 1.5115, 1.4805, 1.456, 1.436, 1.417, 1.7475, + 1.3815, 2.1915, 2.14, 2.115, 2.1025, 2.0945, 2.0705, 2.057, + 1.8205, 1.6725, 1.562, 1.5825, 1.526, 1.499, 1.4815, 1.4645, + 1.4495, 1.574, 1.424, 2.2315, 2.196, 2.21, 2.235, 2.25, 2.202, + 2.2585, 1.8515, 1.761, 1.778, 1.803, 1.7875, 1.7735, 1.76, 1.7465, + 1.684, 1.7255, 1.714, 1.7045, 1.6955, 1.687, 1.6775, 1.82, 1.5705, + 1.585, 1.5345, 1.477, 1.56, 1.42, 1.377, 1.6465, 1.3525, 2.1735, 2.1485, + 2.185, 2.3545, 2.375, 2.3825, 2.45, 1.8385, 1.739, 1.698, 1.712, 1.6975, + 1.712, 1.712, 1.6905, 1.663, 1.6695, 1.6565, 1.6495, 1.643, 1.637, 1.624, 1.618}; + +double uff_radius_103(AtomicNumber _Z) { + const double RADIUS_UFF_SCALING = 1.1; + const double DDX_BOHR_TO_ANGSTROM = 0.52917721092; + auto Z = _Z.get(); + if (Z < 0 || Z >= radius_uff_list.size()) { + return -1.; + } + return radius_uff_list[Z-1] * RADIUS_UFF_SCALING / DDX_BOHR_TO_ANGSTROM; +} } diff --git a/src/grid_factory.cxx b/src/grid_factory.cxx index 92cc5314..33614a66 100644 --- a/src/grid_factory.cxx +++ b/src/grid_factory.cxx @@ -7,10 +7,11 @@ */ #include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include #include @@ -30,6 +31,7 @@ Grid AtomicGridFactory::generate_grid( atomic_grid_variant gs, BatchSize bsz ) { Grid AtomicGridFactory::generate_unpruned_grid( RadialQuad rq, RadialSize nrad, AngularSize nang, RadialScale rscal, BatchSize bsz) { + using bk_type = IntegratorXX::Becke; using mk_type = IntegratorXX::MuraKnowles; using mhl_type = IntegratorXX::MurrayHandyLaming; using ta_type = IntegratorXX::TreutlerAhlrichs; @@ -38,6 +40,9 @@ Grid AtomicGridFactory::generate_unpruned_grid( RadialQuad rq, RadialSize nrad, ll_type ang_quad( nang.get() ); switch( rq ) { + case RadialQuad::Becke: + return generate_unpruned_grid( bk_type(nrad.get(), rscal.get()), + std::move(ang_quad), bsz ); case RadialQuad::MuraKnowles: return generate_unpruned_grid( mk_type(nrad.get(), rscal.get()), @@ -119,6 +124,12 @@ Grid AtomicGridFactory::generate_pruned_grid( RadialQuad rq, make_pruned_grid( nrad, pruning_regions, rscal ); return generate_pruned_grid(std::move(rg), std::move(rgp), bsz); } + case RadialQuad::Becke: + { + auto[rg, rgp] = + make_pruned_grid>( nrad, pruning_regions, rscal ); + return generate_pruned_grid(std::move(rg), std::move(rgp), bsz); + } default: GAUXC_GENERIC_EXCEPTION("Unsupported Radial Quadrature"); @@ -145,17 +156,18 @@ PrunedAtomicGridSpecification robust_psi4_pruning_scheme( // Look up order // XXX: THIS ONLY WORKS FOR LEBEDEV - using namespace IntegratorXX::detail::lebedev; + using angular_type = IntegratorXX::LebedevLaikov; + using traits = IntegratorXX::quadrature_traits; const auto asz = unp.angular_size.get(); - const auto base_order = algebraic_order_by_npts(asz); + const auto base_order = traits::algebraic_order_by_npts(asz); if( base_order < 0 ) GAUXC_GENERIC_EXCEPTION("Invalid Base Grid"); const auto med_order = - next_algebraic_order(base_order > 6 ? base_order-6 : base_order); + traits::next_algebraic_order(base_order > 6 ? base_order-6 : base_order); const auto low_order = 7; - AngularSize med_sz(npts_by_algebraic_order(med_order)); - AngularSize low_sz(npts_by_algebraic_order(low_order)); + AngularSize med_sz(traits::npts_by_algebraic_order(med_order)); + AngularSize low_sz(traits::npts_by_algebraic_order(low_order)); // Create Pruning Regions const size_t rsz = unp.radial_size.get(); @@ -183,9 +195,11 @@ PrunedAtomicGridSpecification treutler_pruning_scheme( // Look up order // XXX: THIS ONLY WORKS FOR LEBEDEV - using namespace IntegratorXX::detail::lebedev; - AngularSize med_sz(npts_by_algebraic_order(med_order)); - AngularSize low_sz(npts_by_algebraic_order(low_order)); + using angular_type = IntegratorXX::LebedevLaikov; + using traits = IntegratorXX::quadrature_traits; + + AngularSize med_sz(traits::npts_by_algebraic_order(med_order)); + AngularSize low_sz(traits::npts_by_algebraic_order(low_order)); // Create Pruning Regions const size_t rsz = unp.radial_size.get(); diff --git a/src/load_balancer/host/replicated_host_load_balancer.cxx b/src/load_balancer/host/replicated_host_load_balancer.cxx index 5a3bb9c9..17807c07 100644 --- a/src/load_balancer/host/replicated_host_load_balancer.cxx +++ b/src/load_balancer/host/replicated_host_load_balancer.cxx @@ -123,7 +123,7 @@ std::vector< XCTask > HostReplicatedLoadBalancer::create_local_tasks_() const { } // Loop over Atoms -//return local_work; +// return local_work; // Lexicographic ordering of tasks auto task_order = []( const auto& a, const auto& b ) { diff --git a/src/molgrid_defaults.cxx b/src/molgrid_defaults.cxx index c1d0fc52..280844e6 100644 --- a/src/molgrid_defaults.cxx +++ b/src/molgrid_defaults.cxx @@ -7,7 +7,7 @@ */ #include #include -#include +#include namespace GauXC { @@ -83,11 +83,19 @@ RadialScale default_mhl_radial_scaling_factor( AtomicNumber _Z ) { return RadialScale( default_atomic_radius(_Z) * fac ); } +RadialScale default_bk_radial_scaling_factor( AtomicNumber _Z ) { + auto Z = _Z.get(); + const double fac = (Z!=1) ? 0.5 : 1.0; + return RadialScale( default_atomic_radius(_Z) * fac ); +} + RadialScale default_radial_scaling_factor(RadialQuad rq, AtomicNumber Z) { if( rq == RadialQuad::MuraKnowles ) return default_mk_radial_scaling_factor(Z); else if( rq == RadialQuad::TreutlerAldrichs ) return default_ta_radial_scaling_factor(Z); + else if( rq == RadialQuad::Becke ) + return default_bk_radial_scaling_factor(Z); else // MHL return default_mhl_radial_scaling_factor(Z); } diff --git a/src/xc_integrator/integrator_util/CMakeLists.txt b/src/xc_integrator/integrator_util/CMakeLists.txt index 92b91a52..e2243c1f 100644 --- a/src/xc_integrator/integrator_util/CMakeLists.txt +++ b/src/xc_integrator/integrator_util/CMakeLists.txt @@ -5,4 +5,4 @@ # # See LICENSE.txt for details # -target_sources( gauxc PRIVATE integrator_common.cxx integral_bounds.cxx exx_screening.cxx ) +target_sources( gauxc PRIVATE integrator_common.cxx integral_bounds.cxx exx_screening.cxx spherical_harmonics.cxx ) diff --git a/src/xc_integrator/integrator_util/spherical_harmonics.cxx b/src/xc_integrator/integrator_util/spherical_harmonics.cxx new file mode 100644 index 00000000..be7cf84a --- /dev/null +++ b/src/xc_integrator/integrator_util/spherical_harmonics.cxx @@ -0,0 +1,166 @@ +#include "spherical_harmonics.hpp" +// Computes the normalization constants N(l,m) for spherical harmonics up to degree lmax +// N(l,m) = sqrt((2l + 1) / (4π) * ( (l - m)! / (l + m)! ) ) +// for m = 0, N(l,0) = sqrt(4π / (2l + 1)) +// for m > 0, N(l,m) = -N(l,m-1) / sqrt((l - m + 1) * (l + m)) +std::vector sph_nlm(const int lmax) { + std::vector nlm((lmax + 1) * (lmax + 1), 0.0); + for (int l = 0; l <= lmax; ++l) { + // For m = 0 + int ind = l*l+l; + double tmp = std::sqrt( 4.0 * M_PI / (2 * l + 1) ); + nlm[ind] = 1 / tmp; + // For m != 0 + tmp = nlm[ind] * std::sqrt(2.0); + for (int m = 1; m <= l; ++m) { + tmp = -tmp / std::sqrt(static_cast((l - m + 1) * (l + m))); + nlm[ind + m ] = tmp; + } + } + return nlm; +} + +// Computes associated Legendre polynomials P_l^m(cos(theta)) up to degree lmax +// // Input: +// // - cos_theta: cos(theta), where -1 <= cos_theta <= 1 +// // - sin_theta: sin(theta), where 0 <= sin_theta <= 1 +// // - lmax: maximum degree of the polynomials to compute, lmax >= 0 +// // Output: +// // - Returns a vector with values of associated Legendre polynomials, flattened to 1D with size (lmax+1)*(lmax+1) +std::vector sph_plm (const double cos_theta, const double sin_theta, const int lmax) { + std::vector plms((lmax + 1) * (lmax + 1), 0.0); + + // Base cases + plms[0] = 1.0; // P_0^0 = 1 + if (lmax == 0) return plms; + + plms[2] = cos_theta; // P_1^0 = cos(theta) + plms[3] = -sin_theta; // P_1^1 = -sin(theta) + if (lmax == 1) return plms; + + double cos_theta2 = cos_theta * cos_theta; + plms[6] = 1.5 * cos_theta2 - 0.5; // P_2^0 (cos(theta)) = 1.5 * cos^2(theta) - 0.5, idx = 2*2 + 2 + 0 = 6 + plms[7] = -3 * sin_theta * cos_theta; // P_2^1 (cos(theta)) = -3 * sin(theta) * cos(theta) + plms[8] = 3 * sin_theta * sin_theta; // P_2^2 (cos(theta)) = -3 * sin^2(theta) + if (lmax == 2) return plms; + + plms[12] = 2.5 * cos_theta2 * cos_theta - 1.5 * cos_theta; // P_3^0 (cos(theta)) = 2.5 * cos^3(theta) - 1.5 * cos(theta) + plms[13] = -7.5 * cos_theta2 * sin_theta + 1.5 * sin_theta ; // P_3^1 (cos(theta)) = -7.5 * cos^2(theta) * sin(theta) + 1.5 * sin(theta) + plms[14] = -5.0 * sin_theta * plms[7]; // P_3^2 (cos(theta)) = -5.0 * sin(theta) * P_2^1 (cos(theta)) + plms[15] = -5.0 * sin_theta * plms[8]; // P_3^3 (cos(theta)) = -5.0 * sin(theta) * P_2^2 (cos(theta)) + if (lmax == 3) return plms; + // Recurrence calculation for larger p + for (int l = 4; l <= lmax; ++l) { + double work = (2.0 * l - 1) * cos_theta; + for (int m = 0; m < l; ++m) { + int ind = l * l + l + m; + int pl1m_ind = (l - 1) * (l - 1) + l - 1 + m; + int pl2m_ind = (l - 2) * (l - 2) + l - 2 + m; + plms[ind] = (work * plms[pl1m_ind] - (l + m - 1) * plms[pl2m_ind]) / (l - m); + } + // Special case for m = l, P_m^m = -sin_theta * (2*m+1) * P_{m-1}^{m-1} + plms[(l+1)*(l+1) - 1] = -sin_theta * (2 * (l - 1) + 1) * plms[l*l-1]; + } + return plms; +} + +// Computes spherical harmonics Y_l^m(theta, phi) = N(l,m) P_l^m(cos(theta)) e^(imphi) +// up to degree lmax at point x, with scaling factors nlm +// - Returns a vector with size (lmax+1)*(lmax+1) +void sph_legendre(const int lmax, const std::array x, const std::vector& nlm, double* ylms) { + assert(x.size() == 3); + double rho = sqrt(x[0] * x[0] + x[1] * x[1] + x[2] * x[2]); + if (rho == 0.0) { + return; + } + double sin_theta = sqrt(x[0] * x[0] + x[1] * x[1]) / rho; // sin(theta) = r_xy/rho + if (sin_theta != 0.0) { + double cos_theta = x[2] / rho; + std::vector plm = sph_plm(cos_theta, sin_theta, lmax); + for (int l = 0; l <= lmax; l++) { + int ind = l * l + l; + ylms[ind] = plm[ind] * nlm[ind]; // m = 0 implicitly uses `vcos(1) = 1` + for (int m = 1; m <= l; ++m) { + ylms[ind + m] = plm[ind + m] * nlm[ind + m]; + ylms[ind - m] = ylms[ind + m]; + } + } + } else { + // x = 0, y = 0, z != 0 + double cos_theta = (x[2] > 0.0) ? 1.0 : -1.0; + for (int l = 0; l <= lmax; l ++) { + int ind = l * l + l; + ylms[ind] = nlm[ind]; + if (l % 2 != 0) { + ylms[ind] *= cos_theta; + } + } + } +} + +// compute scaled spherical harmonics, with precomputed normalization factors +// 4π |x - a|^l +// ------ ----------- Y_l^m(|x - a|) +// 2l + 1 r^l +void scaled_ylm_new(const int lmax, const std::array x, const std::array a, const double r, const std::vector& nlm, double* ylm) { + std::array delta = {x[0] - a[0], x[1] - a[1], x[2] - a[2]}; + double dnorm = sqrt(delta[0]*delta[0] + delta[1]*delta[1] + delta[2]*delta[2]); + assert(dnorm != 0.0); + std::array delta_norm = {delta[0] / dnorm, delta[1] / dnorm, delta[2] / dnorm}; + double phi = atan2(delta_norm[1], delta_norm[0]); + sph_legendre(lmax, delta_norm, nlm, ylm); + for (int l = 0; l <= lmax; l++) { + double ratio = pow(dnorm / r, l) * 4.0 * M_PI / (2 * l + 1); + for (int m = -l; m <= l; m++) { + int ind = l * l + l + m; + if (m == 0) { + ylm[ind] *= ratio; + } else if (m < 0) { + ylm[ind] *= - ratio * sin(m * phi); + } else { + ylm[ind] *= ratio * cos(m * phi); + } + } + } +} + +// compute scaled spherical harmonics, with standard library functions +std::vector scaled_ylm_std(int lmax, std::array x, std::array a, double r) { + + std::vector delta = {x[0] - a[0], x[1] - a[1], x[2] - a[2]}; + double dnorm = sqrt(delta[0]*delta[0] + delta[1]*delta[1] + delta[2]*delta[2]); + assert(dnorm != 0.0); + std::vector delta_norm = {delta[0] / dnorm, delta[1] / dnorm, delta[2] / dnorm}; + + double rho = sqrt(delta_norm[0] * delta_norm[0] + delta_norm[1] * delta_norm[1] + delta_norm[2] * delta_norm[2]); + double theta = acos(delta_norm[2] / rho); + double phi = atan2(delta_norm[1], delta_norm[0]); + + std::vector ylm((lmax + 1) * (lmax + 1), 0.0); + for (int l = 0; l <= lmax; l++) { + double ratio = pow(dnorm / r, l) * 4.0 * M_PI / (2 * l + 1); + for (int m = 0; m <= l; m++) { + double sph = std::sph_legendre(l, m, theta) * ratio; + if (m == 0) { + ylm[l * l + l] = sph; + } else { + if (m % 2 != 0) { + sph *= -1; + } + sph *= sqrt(2.0); + ylm[l * l + l - m ] = sph * sin(m * phi); + ylm[l * l + l + m ] = sph * cos(m * phi); + } + } + } + return ylm; +} + +void scaled_ylm_matrix(const int lmax, const double* points, const int32_t npts, const std::array center, const double radius, double* ylm_matrix) { + int nharmonics = (lmax + 1) * (lmax + 1); + auto nlm = sph_nlm(lmax); + for (int i = 0; i < npts; ++i) { + const std::array x = {points[3 * i], points[3 * i + 1], points[3 * i + 2]}; + scaled_ylm_new(lmax, x, center, radius, nlm, ylm_matrix + i * nharmonics); + } +} \ No newline at end of file diff --git a/src/xc_integrator/integrator_util/spherical_harmonics.hpp b/src/xc_integrator/integrator_util/spherical_harmonics.hpp new file mode 100644 index 00000000..7ce495d8 --- /dev/null +++ b/src/xc_integrator/integrator_util/spherical_harmonics.hpp @@ -0,0 +1,7 @@ +#include +#include +#include +#include + + +void scaled_ylm_matrix(const int lmax, const double* points, const int32_t npts, const std::array center, const double radius, double* ylm_matrix); \ No newline at end of file diff --git a/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator.cxx b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator.cxx index c39632c0..02c0d933 100644 --- a/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator.cxx +++ b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator.cxx @@ -10,6 +10,7 @@ #include "incore_replicated_xc_device_integrator_exc_vxc.hpp" #include "incore_replicated_xc_device_integrator_exc_grad.hpp" #include "incore_replicated_xc_device_integrator_exx.hpp" +#include "incore_replicated_xc_device_integrator_dd.hpp" namespace GauXC { namespace detail { diff --git a/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator.hpp b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator.hpp index 706dc603..b8a00d1a 100644 --- a/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator.hpp +++ b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator.hpp @@ -79,6 +79,12 @@ class IncoreReplicatedXCDeviceIntegrator : int64_t ldp, value_type* K, int64_t ldk, const IntegratorSettingsEXX& settings ) override; + void eval_dd_psi_( int64_t m, int64_t n, const value_type* P, + int64_t ldp, unsigned max_Ylm, value_type* ddPsi, + int64_t ldPsi ) override; + + void eval_dd_psi_potential_( int64_t m, int64_t n, const value_type* X, + unsigned max_Ylm, value_type* Vddx ) override; void integrate_den_local_work_( const basis_type& basis, const value_type* P, int64_t ldp, value_type *N_EL, diff --git a/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_dd.hpp b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_dd.hpp new file mode 100644 index 00000000..3e26c885 --- /dev/null +++ b/src/xc_integrator/replicated/device/incore_replicated_xc_device_integrator_dd.hpp @@ -0,0 +1,31 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once +#include "incore_replicated_xc_device_integrator.hpp" +#include +#include + +namespace GauXC::detail { + + template + void IncoreReplicatedXCDeviceIntegrator:: + eval_dd_psi_( int64_t m, int64_t n, const value_type* P, + int64_t ldp, unsigned max_Ylm, value_type* ddPsi, int64_t ldPsi ) { + GAUXC_GENERIC_EXCEPTION("Device DD-PSI NYI"); + util::unused(m,n,P,ldp,max_Ylm,ddPsi,ldPsi); + } + + template + void IncoreReplicatedXCDeviceIntegrator:: + eval_dd_psi_potential_( int64_t m, int64_t n, const value_type* X, + unsigned max_Ylm, value_type* Vddx ) { + GAUXC_GENERIC_EXCEPTION("Device DD-PHIX NYI"); + util::unused(m,n,X,max_Ylm,Vddx); + } + +} diff --git a/src/xc_integrator/replicated/device/shell_batched_replicated_xc_device_integrator.cxx b/src/xc_integrator/replicated/device/shell_batched_replicated_xc_device_integrator.cxx index 1ff70ee9..225c760b 100644 --- a/src/xc_integrator/replicated/device/shell_batched_replicated_xc_device_integrator.cxx +++ b/src/xc_integrator/replicated/device/shell_batched_replicated_xc_device_integrator.cxx @@ -11,6 +11,8 @@ #include "shell_batched_replicated_xc_integrator_exc_vxc.hpp" #include "shell_batched_replicated_xc_integrator_exc_grad.hpp" #include "shell_batched_replicated_xc_integrator_exx.hpp" +#include "shell_batched_replicated_xc_integrator_dd_psi.hpp" +#include "shell_batched_replicated_xc_integrator_dd_psi_potential.hpp" namespace GauXC { namespace detail { diff --git a/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator.cxx b/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator.cxx index 731eaf84..88d6c64d 100644 --- a/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator.cxx +++ b/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator.cxx @@ -10,7 +10,9 @@ #include "reference_replicated_xc_host_integrator_exc_vxc.hpp" #include "reference_replicated_xc_host_integrator_exc_grad.hpp" #include "reference_replicated_xc_host_integrator_exx.hpp" - +#include "reference_replicated_xc_host_integrator_dd_psi.hpp" +#include "reference_replicated_xc_host_integrator_dd_psi_potential.hpp" + namespace GauXC::detail { template diff --git a/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator.hpp b/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator.hpp index 49c11f6c..76a85df5 100644 --- a/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator.hpp +++ b/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator.hpp @@ -83,7 +83,12 @@ class ReferenceReplicatedXCHostIntegrator : int64_t ldp, value_type* K, int64_t ldk, const IntegratorSettingsEXX& settings ) override; + /// ddX PSi + void eval_dd_psi_( int64_t m, int64_t n, const value_type* P, + int64_t ldp, unsigned max_Ylm, value_type* ddPsi, int64_t ldPsi ) override; + /// ddX PhiX + void eval_dd_psi_potential_( int64_t m, int64_t n, const value_type* X, unsigned max_Ylm, value_type* Vddx ) override; // Implementation details of integrate_den void integrate_den_local_work_( const value_type* P, int64_t ldp, @@ -109,6 +114,11 @@ class ReferenceReplicatedXCHostIntegrator : void exx_local_work_( const value_type* P, int64_t ldp, value_type* K, int64_t ldk, const IntegratorSettingsEXX& settings ); + // Implementation details of ddX Psi + void dd_psi_local_work_( const value_type* P, int64_t ldp, unsigned max_Ylm, value_type* ddPsi, int64_t ldPsi ); + + void dd_psi_potential_local_work_( const value_type* X, value_type* Vddx, unsigned max_Ylm ); + public: template diff --git a/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_dd_psi.hpp b/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_dd_psi.hpp new file mode 100644 index 00000000..4130a7fa --- /dev/null +++ b/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_dd_psi.hpp @@ -0,0 +1,172 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once + +#include "reference_replicated_xc_host_integrator.hpp" +#include "integrator_util/integrator_common.hpp" +#include "integrator_util/spherical_harmonics.hpp" +#include "host/local_host_work_driver.hpp" +#include +#include +#include + +namespace GauXC::detail { +template +void ReferenceReplicatedXCHostIntegrator:: + eval_dd_psi_( int64_t m, int64_t n, const value_type* P, + int64_t ldp, unsigned max_Ylm, value_type* ddPsi, + int64_t ldPsi ) { + + const auto& basis = this->load_balancer_->basis(); + const auto& mol = this->load_balancer_->molecule(); + // Check that P / VXC are sane + const int64_t nbf = basis.nbf(); + if( m != n ) + GAUXC_GENERIC_EXCEPTION("P Must Be Square"); + if( m != nbf ) + GAUXC_GENERIC_EXCEPTION("P Must Have Same Dimension as Basis"); + if( ldp < nbf ) + GAUXC_GENERIC_EXCEPTION("Invalid LDP"); + + // Get Tasks + this->load_balancer_->get_tasks(); + // Compute Local contributions to ddPsi + this->timer_.time_op("XCIntegrator.LocalWork", [&](){ + dd_psi_local_work_( P, ldp, max_Ylm, ddPsi, ldPsi ); + }); + + + // Reduce Results + this->timer_.time_op("XCIntegrator.Allreduce", [&](){ + + if( not this->reduction_driver_->takes_host_memory() ) + GAUXC_GENERIC_EXCEPTION("This Module Only Works With Host Reductions"); + + this->reduction_driver_->allreduce_inplace( ddPsi, ldPsi * mol.size(), ReductionOp::Sum ); + + }); +} + +template +void ReferenceReplicatedXCHostIntegrator:: + dd_psi_local_work_( const value_type* P, int64_t ldp, unsigned max_Ylm, + value_type* dd_Psi, int64_t ldPsi) { + + // Cast LWD to LocalHostWorkDriver + auto* lwd = dynamic_cast(this->local_work_driver_.get()); + + // Setup Aliases + const auto& basis = this->load_balancer_->basis(); + const auto& mol = this->load_balancer_->molecule(); + + // Atom-specific data + int natom = mol.size(); + std::vector radii(natom); + for (int i = 0; i < natom; ++i) { + radii[i] = uff_radius_103(mol[i].Z); + } + // Get basis map + BasisSetMap basis_map(basis,mol); + + const int32_t nbf = basis.nbf(); + // Sort tasks on size (XXX: maybe doesnt matter?) + auto task_comparator = []( const XCTask& a, const XCTask& b ) { + return (a.points.size() * a.bfn_screening.nbe) > (b.points.size() * b.bfn_screening.nbe); + }; + + auto& tasks = this->load_balancer_->get_tasks(); + std::sort( tasks.begin(), tasks.end(), task_comparator ); + + + // Compute Partition Weights + auto& lb_state = this->load_balancer_->state(); + if( not lb_state.modified_weights_are_stored ) { + GAUXC_GENERIC_EXCEPTION("Weights Have Not Been Modified"); + } + + + // Loop over tasks + const size_t ntasks = tasks.size(); + #pragma omp parallel + { + + XCHostData host_data; // Thread local host data + + #pragma omp for schedule(dynamic) reduction(+:dd_Psi[:natom * ldPsi]) + for( size_t iT = 0; iT < ntasks; ++iT ) { + + // Alias current task + const auto& task = tasks[iT]; + + // Get tasks constants + const int32_t npts = task.points.size(); + const int32_t nbe = task.bfn_screening.nbe; + const int32_t nshells = task.bfn_screening.shell_list.size(); + + const auto* points = task.points.data()->data(); + const auto* weights = task.weights.data(); + const int32_t* shell_list = task.bfn_screening.shell_list.data(); + + // Allocate enough memory for batch + + host_data.nbe_scr .resize( nbe * nbe ); + host_data.zmat .resize( npts * nbe ); + + host_data.basis_eval .resize( npts * nbe ); + host_data.den_scr .resize( npts ); + + + // Alias/Partition out scratch memory + auto* basis_eval = host_data.basis_eval.data(); + auto* den_eval = host_data.den_scr.data(); + auto* nbe_scr = host_data.nbe_scr.data(); + auto* zmat = host_data.zmat.data(); + + int nharmonics = (max_Ylm + 1) * (max_Ylm + 1); + + // Get the submatrix map for batch + std::vector< std::array > submat_map; + std::tie(submat_map, std::ignore) = + gen_compressed_submat_map(basis_map, task.bfn_screening.shell_list, nbf, nbf); + + // Evaluate Collocation + lwd->eval_collocation( npts, nshells, nbe, points, basis, shell_list, + basis_eval ); + + // Evaluate X matrix (P * B) -> store in Z + lwd->eval_xmat( npts, nbf, nbe, submat_map, 1.0, P, ldp, basis_eval, nbe, + zmat, nbe, nbe_scr ); + + // Evaluate density on grid + lwd->eval_uvvar_lda_rks( npts, nbe, basis_eval, zmat, nbe, den_eval ); + + // Populate dd_Psi + const size_t atom_offset = task.iParent * ldPsi; + const double radius = radii[task.iParent]; + const std::array center = {mol[task.iParent].x, mol[task.iParent].y, mol[task.iParent].z}; + + std::vector ylm_matrix(npts * nharmonics); + scaled_ylm_matrix(max_Ylm, points, npts, center, radius, ylm_matrix.data()); + + for (int i = 0; i < npts; ++i) { + den_eval[i] *= -weights[i]; + } + std::vector offset_local_dd_psi(ldPsi, 0.0); + blas::gemm('N', 'N', ldPsi, 1, npts, + 1.0, ylm_matrix.data(), ldPsi, + den_eval, npts, + 0.0, offset_local_dd_psi.data(), ldPsi); + for (int j = 0; j < ldPsi; ++j) { + dd_Psi[atom_offset + j] += offset_local_dd_psi[j]; + } + + } // Loop over tasks + } // End OpenMP region +} +} // namespace GauXC::detail + diff --git a/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_dd_psi_potential.hpp b/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_dd_psi_potential.hpp new file mode 100644 index 00000000..b73e8a44 --- /dev/null +++ b/src/xc_integrator/replicated/host/reference_replicated_xc_host_integrator_dd_psi_potential.hpp @@ -0,0 +1,167 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once + +#include "reference_replicated_xc_host_integrator.hpp" +#include "integrator_util/integrator_common.hpp" +#include "integrator_util/spherical_harmonics.hpp" +#include "host/local_host_work_driver.hpp" +#include +#include +#include "host/blas.hpp" +#include "host/util.hpp" + +namespace GauXC::detail { +template +void ReferenceReplicatedXCHostIntegrator:: + eval_dd_psi_potential_( int64_t m, int64_t n, const value_type* X, unsigned max_Ylm, + value_type* Vddx ) { + + const auto& basis = this->load_balancer_->basis(); + const int32_t nbf = basis.nbf(); + + // Check that m is natom, n is nharmonics + const auto& mol = this->load_balancer_->molecule(); + const size_t natom = mol.size(); + const size_t nharmonics = (max_Ylm + 1) * (max_Ylm + 1); + if (m != nharmonics || n != natom) { + GAUXC_GENERIC_EXCEPTION("m must be nharmonics and n must be natom"); + } + // Get Tasks + this->load_balancer_->get_tasks(); + // Compute Local contributions to EXC / VXC + this->timer_.time_op("XCIntegrator.LocalWork", [&](){ + dd_psi_potential_local_work_( X, Vddx, max_Ylm ); + }); + + // Reduce Results + this->timer_.time_op("XCIntegrator.Allreduce", [&](){ + + if( not this->reduction_driver_->takes_host_memory() ) + GAUXC_GENERIC_EXCEPTION("This Module Only Works With Host Reductions"); + + this->reduction_driver_->allreduce_inplace( Vddx, nbf * nbf, ReductionOp::Sum ); + + }); +} + +template +void ReferenceReplicatedXCHostIntegrator:: + dd_psi_potential_local_work_( const value_type* X, value_type* Vddx, unsigned max_Ylm ) { + + // Cast LWD to LocalHostWorkDriver + auto* lwd = dynamic_cast(this->local_work_driver_.get()); + + // Setup Aliases + const auto& basis = this->load_balancer_->basis(); + const auto& mol = this->load_balancer_->molecule(); + + // Atom-specific data + std::vector radii(mol.size()); + for (int i = 0; i < mol.size(); ++i) { + radii[i] = uff_radius_103(mol[i].Z); + } + + // Get basis map + BasisSetMap basis_map(basis,mol); + + const int32_t nbf = basis.nbf(); + // Sort tasks on size (XXX: maybe doesnt matter?) + auto task_comparator = []( const XCTask& a, const XCTask& b ) { + return (a.points.size() * a.bfn_screening.nbe) > (b.points.size() * b.bfn_screening.nbe); + }; + + auto& tasks = this->load_balancer_->get_tasks(); + std::sort( tasks.begin(), tasks.end(), task_comparator ); + + // Compute Partition Weights + auto& lb_state = this->load_balancer_->state(); + if( not lb_state.modified_weights_are_stored ) { + GAUXC_GENERIC_EXCEPTION("Weights Have Not Been Modified"); + } + + // Loop over tasks + const size_t ntasks = tasks.size(); + + #pragma omp parallel + { + + XCHostData host_data; // Thread local host data + + #pragma omp for schedule(dynamic) + for( size_t iT = 0; iT < ntasks; ++iT ) { + + // Alias current task + const auto& task = tasks[iT]; + + // Get tasks constants + const int32_t npts = task.points.size(); + const int32_t nbe = task.bfn_screening.nbe; + const int32_t nshells = task.bfn_screening.shell_list.size(); + + const auto* points = task.points.data()->data(); + const auto* weights = task.weights.data(); + const int32_t* shell_list = task.bfn_screening.shell_list.data(); + + // Allocate enough memory for batch + host_data.basis_eval .resize( npts * nbe ); + auto* basis_eval = host_data.basis_eval.data(); + + host_data.nbe_scr .resize( nbe * nbe ); + auto* vddx_scr = host_data.nbe_scr.data(); + + host_data.den_scr .resize( npts ); + auto etas = host_data.den_scr.data(); + + host_data.zmat .resize( npts * nbe ); + auto* zmat = host_data.zmat.data(); + + int nharmonics = (max_Ylm + 1) * (max_Ylm + 1); + + // Get the submatrix map for batch + std::vector< std::array > submat_map; + std::tie(submat_map, std::ignore) = + gen_compressed_submat_map(basis_map, task.bfn_screening.shell_list, nbf, nbf); + + // Evaluate Collocation + lwd->eval_collocation( npts, nshells, nbe, points, basis, shell_list, + basis_eval ); + + // Project X onto the spherical harmonics basis + const size_t atom_offset = task.iParent * nharmonics; + const double radius = radii[task.iParent]; + std::array center = {mol[task.iParent].x, mol[task.iParent].y, mol[task.iParent].z}; + const value_type* X_i = X + atom_offset; + + std::vector ylm_matrix(npts * nharmonics); + scaled_ylm_matrix(max_Ylm, points, npts, center, radius, ylm_matrix.data()); + + blas::gemm('T', 'N', npts, 1, nharmonics, + 1.0, ylm_matrix.data(), nharmonics, + X_i, nharmonics, + 0.0, etas, npts); + + // zmat = phi * etas + for (int ipt = 0; ipt < npts; ipt++) { + etas[ipt] *= weights[ipt]; + for (int ibe = 0; ibe < nbe; ibe++) { + zmat[ipt * nbe + ibe] = basis_eval[ipt * nbe + ibe] * etas[ipt]; // nbe is fastest, col in column-major + } + } + + // vddx_scr = phi^T * etas * weights * phi + blas::gemm('N', 'T', nbe, nbe, npts, 1.0, basis_eval, nbe, zmat, nbe, 0.0, vddx_scr, nbe); + + detail::inc_by_submat_atomic( nbf, nbf, nbe, nbe, Vddx, nbf, vddx_scr, nbe, + submat_map ); + } // Loop over tasks + } // End OpenMP region +} + +} // namespace GauXC::detail + diff --git a/src/xc_integrator/replicated/host/shell_batched_replicated_xc_host_integrator.cxx b/src/xc_integrator/replicated/host/shell_batched_replicated_xc_host_integrator.cxx index 4bdd2c66..d7facf50 100644 --- a/src/xc_integrator/replicated/host/shell_batched_replicated_xc_host_integrator.cxx +++ b/src/xc_integrator/replicated/host/shell_batched_replicated_xc_host_integrator.cxx @@ -11,6 +11,8 @@ #include "shell_batched_replicated_xc_integrator_exc_vxc.hpp" #include "shell_batched_replicated_xc_integrator_exc_grad.hpp" #include "shell_batched_replicated_xc_integrator_exx.hpp" +#include "shell_batched_replicated_xc_integrator_dd_psi.hpp" +#include "shell_batched_replicated_xc_integrator_dd_psi_potential.hpp" namespace GauXC { namespace detail { diff --git a/src/xc_integrator/replicated/replicated_xc_integrator_impl.cxx b/src/xc_integrator/replicated/replicated_xc_integrator_impl.cxx index d2474c62..991e7220 100644 --- a/src/xc_integrator/replicated/replicated_xc_integrator_impl.cxx +++ b/src/xc_integrator/replicated/replicated_xc_integrator_impl.cxx @@ -146,6 +146,24 @@ void ReplicatedXCIntegratorImpl:: } +template +void ReplicatedXCIntegratorImpl:: + eval_dd_psi( int64_t m, int64_t n, const value_type* P, + int64_t ldp, unsigned max_Ylm, value_type* ddPsi, int64_t ldPsi ) { + + eval_dd_psi_(m, n, P, ldp, max_Ylm, ddPsi, ldPsi); + +} + +template +void ReplicatedXCIntegratorImpl:: + eval_dd_psi_potential( int64_t m, int64_t n, const value_type* X, unsigned max_Ylm, value_type* Vddx) { + + eval_dd_psi_potential_(m, n, X, max_Ylm, Vddx); + +} + + template class ReplicatedXCIntegratorImpl; } diff --git a/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator.hpp b/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator.hpp index cb44194c..d69c1d0b 100644 --- a/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator.hpp +++ b/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator.hpp @@ -95,6 +95,12 @@ class ShellBatchedReplicatedXCIntegrator : const IntegratorSettingsEXX& settings ) override; + /// ddX PSi + void eval_dd_psi_( int64_t m, int64_t n, const value_type* P, + int64_t ldp, unsigned max_Ylm, value_type* ddPsi, int64_t ldPsi ) override; + + /// ddX PhiX + void eval_dd_psi_potential_( int64_t m, int64_t n, const value_type* X, unsigned max_Ylm, value_type* Vddx ) override; // Implementation details of exc_vxc (for RKS/UKS/GKS deduced from input character) diff --git a/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator_dd_psi.hpp b/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator_dd_psi.hpp new file mode 100644 index 00000000..b13819ed --- /dev/null +++ b/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator_dd_psi.hpp @@ -0,0 +1,26 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once +#include "shell_batched_replicated_xc_integrator.hpp" +#include +#include + +namespace GauXC { +namespace detail { + +template +void ShellBatchedReplicatedXCIntegrator:: + eval_dd_psi_( int64_t m, int64_t n, const value_type* P, + int64_t ldp, unsigned max_Ylm, + value_type* ddPsi, int64_t ldPsi ) { + GAUXC_GENERIC_EXCEPTION("ShellBatched DD-PSI NYI"); + util::unused(m,n,P,ldp, max_Ylm, ddPsi,ldPsi); +} + +} +} diff --git a/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator_dd_psi_potential.hpp b/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator_dd_psi_potential.hpp new file mode 100644 index 00000000..c1555370 --- /dev/null +++ b/src/xc_integrator/shell_batched/shell_batched_replicated_xc_integrator_dd_psi_potential.hpp @@ -0,0 +1,24 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#pragma once +#include "shell_batched_replicated_xc_integrator.hpp" +#include +#include + +namespace GauXC { +namespace detail { + +template +void ShellBatchedReplicatedXCIntegrator:: + eval_dd_psi_potential_( int64_t m, int64_t n, const value_type* X, unsigned max_Ylm, value_type* Vddx ) { + GAUXC_GENERIC_EXCEPTION("ShellBatched DD-PSI-DERIV NYI"); + util::unused(m,n,X,max_Ylm, Vddx); +} + +} +} diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index d3881e91..a13e1f21 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -60,6 +60,7 @@ add_executable( gauxc_test standards.cxx runtime.cxx basis/parse_basis.cxx + dd_psi_potential_test.cxx ) target_link_libraries( gauxc_test PUBLIC gauxc gauxc_catch2 Eigen3::Eigen cereal ) if(GAUXC_ENABLE_CUTLASS) diff --git a/tests/dd_psi_potential_test.cxx b/tests/dd_psi_potential_test.cxx new file mode 100644 index 00000000..d8c89134 --- /dev/null +++ b/tests/dd_psi_potential_test.cxx @@ -0,0 +1,98 @@ +/** + * GauXC Copyright (c) 2020-2024, The Regents of the University of California, + * through Lawrence Berkeley National Laboratory (subject to receipt of + * any required approvals from the U.S. Dept. of Energy). All rights reserved. + * + * See LICENSE.txt for details + */ +#include "ut_common.hpp" +#include +#include +#include +#include + +#include + +#include +#include +#include + +using namespace GauXC; + +void test_dd_psi ( + std::string reference_file, + int lmax = 8 +) { + using matrix_type = Eigen::MatrixXd; + Molecule mol; + BasisSet basis; + matrix_type P, ddX, ddPsi_ref, ddPsi_potential_ref; + + read_hdf5_record( mol, reference_file, "/MOLECULE" ); + read_hdf5_record( basis, reference_file, "/BASIS" ); + + HighFive::File file( reference_file, HighFive::File::ReadOnly ); + std::string den_str = "/DENSITY"; + auto dset = file.getDataSet(den_str); + auto dims = dset.getDimensions(); + P = matrix_type( dims[0], dims[1] ); + dset.read( P.data() ); + + int nharmonics = (lmax + 1) * (lmax + 1); + + ddX = matrix_type( nharmonics, mol.size() ); + dset = file.getDataSet("/DD_X"); + dset.read(ddX.data()); + + ddPsi_ref = matrix_type( mol.size(), nharmonics ); + dset = file.getDataSet("/DD_PSI"); + dset.read( ddPsi_ref.data()); + + ddPsi_potential_ref = matrix_type( basis.nbf(), basis.nbf() ); + dset = file.getDataSet("/DD_PSI_POTENTIAL"); + dset.read( ddPsi_potential_ref.data() ); + + + #ifdef GAUXC_HAS_DEVICE + auto rt = DeviceRuntimeEnvironment(GAUXC_MPI_CODE(MPI_COMM_WORLD,) 0.9); + #else + auto rt = RuntimeEnvironment(GAUXC_MPI_CODE(MPI_COMM_WORLD)); + #endif + + auto mg = MolGridFactory::create_default_molgrid(mol, PruningScheme::Unpruned, + BatchSize(512), RadialQuad::MuraKnowles, AtomicGridSizeDefault::UltraFineGrid); + + auto ex = ExecutionSpace::Host; + LoadBalancerFactory lb_factory(ex, "Default"); + auto lb = lb_factory.get_instance(rt, mol, mg, basis); + + // Construct Weights Module + MolecularWeightsFactory mw_factory( ex, "Default", MolecularWeightsSettings{} ); + auto mw = mw_factory.get_instance(); + + // Apply partition weights + mw.modify_weights(lb); + + functional_type func = functional_type( ExchCXX::Backend::builtin, ExchCXX::Functional::PBE0, ExchCXX::Spin::Unpolarized ); + // Construct XCIntegrator + XCIntegratorFactory integrator_factory( ex, "Replicated", + "Default", "Default", "Default" ); + auto integrator = integrator_factory.get_instance( func, lb ); + + auto dd_psi = integrator.eval_dd_psi(P, lmax); + auto ddPsi = Eigen::Map(dd_psi.data(), mol.size(), nharmonics); + auto ddPsi_nrm = (ddPsi - ddPsi_ref).norm(); + CHECK( ddPsi_nrm / mol.size() < 1e-10 ); + + auto ddPsiPotential = integrator.eval_dd_psi_potential(ddX, lmax); + auto ddPsiPotential_nrm = (ddPsiPotential - ddPsi_potential_ref).norm(); + CHECK( ddPsiPotential_nrm / basis.nbf() < 1e-10 ); + +} + +TEST_CASE( "DD PSI & PSI POTENTIAL", "[dd]" ) { + SECTION( " C2H4 / def2-svp / LMAX = 8" ) { + test_dd_psi( GAUXC_REF_DATA_PATH "/c2h4_l8_dd_psi_potential.hdf5" ); + } +} + \ No newline at end of file diff --git a/tests/grid_test.cxx b/tests/grid_test.cxx index 4e8782e6..ad270bd9 100644 --- a/tests/grid_test.cxx +++ b/tests/grid_test.cxx @@ -8,9 +8,9 @@ #include "catch2/catch.hpp" #include -#include -#include -#include +#include +#include +#include #include #include diff --git a/tests/ref_data/c2h4_l8_dd_psi_potential.hdf5 b/tests/ref_data/c2h4_l8_dd_psi_potential.hdf5 new file mode 100644 index 0000000000000000000000000000000000000000..2187f79d67e82f9371816df4b095226fdf4430bc GIT binary patch literal 84704 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