QMCPACK
matrix_update_helper.hpp
Go to the documentation of this file.
1 //////////////////////////////////////////////////////////////////////////////////////
2 // This file is distributed under the University of Illinois/NCSA Open Source License.
3 // See LICENSE file in top directory for details.
4 //
5 // Copyright (c) 2022 QMCPACK developers.
6 //
7 // File developed by: Jeongnim Kim, jeongnim.kim@intel.com, Intel Corp.
8 // Ye Luo, yeluo@anl.gov, Argonne National Laboratory
9 //
10 // File created by: Jeongnim Kim, jeongnim.kim@intel.com, Intel Corp.
11 //////////////////////////////////////////////////////////////////////////////////////
12 
13 #ifndef QMCPLUSPLUS_SYCL_MATRIX_UPDATE_HELPER_H
14 #define QMCPLUSPLUS_SYCL_MATRIX_UPDATE_HELPER_H
15 
16 #include <sycl/sycl.hpp>
17 
18 namespace qmcplusplus
19 {
20 namespace SYCL
21 {
22 template<typename T>
24  const int rowchanged,
25  const int n,
26  const T* const Ainv[],
27  const int lda,
28  T* const temp[],
29  T* const rcopy[],
30  const T* const phi_vgl_in[],
31  const int phi_vgl_stride,
32  T* const dphi_out[],
33  T* const d2phi_out[],
34  int batch_count,
35  const std::vector<sycl::event>& dependencies = {});
36 
37 template<typename T, int DIM = 3>
38 sycl::event calcGradients_batched(sycl::queue& aq,
39  const int n,
40  const T* const Ainvrow[],
41  const T* const dpsiMrow[],
42  T* const grads_now,
43  int batch_count,
44  const std::vector<sycl::event>& dependencies = {});
45 
46 template<typename T>
48  int* const delay_list[],
49  const int rowchanged,
50  const int delay_count,
51  T* const binv[],
52  const int binv_lda,
53  const T* const ratio_inv,
54  const T* const phi_vgl_in[],
55  const int phi_vgl_stride,
56  T* const phi_out[],
57  T* const dphi_out[],
58  T* const d2phi_out[],
59  const int norb,
60  const int n_accepted,
61  const int batch_count,
62  const std::vector<sycl::event>& dependencies = {});
63 
64 template<typename T>
65 sycl::event applyW_batched(sycl::queue& aq,
66  const int* const delay_list[],
67  const int delay_count,
68  T* const tempMat[],
69  const int lda,
70  const int batch_cout,
71  const std::vector<sycl::event>& dependencies = {});
72 
73 } // namespace SYCL
74 } // namespace qmcplusplus
75 #endif
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
sycl::event calcGradients_batched(sycl::queue &aq, const int n, const T *const Ainvrow[], const T *const dpsiMrow[], T *const grads_now, const int batch_count, const std::vector< sycl::event > &dependencies)
sycl::event add_delay_list_save_sigma_VGL_batched(sycl::queue &aq, int *const delay_list[], const int rowchanged, const int delay_count, T *const binv[], const int binv_lda, const T *const ratio_inv, const T *const phi_vgl_in[], const int phi_vgl_stride, T *const phi_out[], T *const dphi_out[], T *const d2phi_out[], const int norb, const int n_accepted, const int batch_count, const std::vector< sycl::event > &dependencies)
sycl::event applyW_batched(sycl::queue &aq, const int *const delay_list[], const int delay_count, T *const tempMat[], const int lda, const int batch_count, const std::vector< sycl::event > &dependencies)
sycl::event copyAinvRow_saveGL_batched(sycl::queue &aq, const int rowchanged, const int n, const T *const Ainv[], const int lda, T *const temp[], T *const rcopy[], const T *const phi_vgl_in[], const int phi_vgl_stride, T *const dphi_out[], T *const d2phi_out[], const int batch_count, const std::vector< sycl::event > &dependencies)