QMCPACK
SplineOMPTargetMultiWalkerMem.h
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) 2021 QMCPACK developers.
6 //
7 // File developed by: Ye Luo, yeluo@anl.gov, Argonne National Laboratory
8 //
9 // File created by: Ye Luo, yeluo@anl.gov, Argonne National Laboratory
10 //////////////////////////////////////////////////////////////////////////////////////
11 
12 
13 #ifndef QMCPLUSPLUS_OFFLOADSHAREDMEM_H
14 #define QMCPLUSPLUS_OFFLOADSHAREDMEM_H
15 
17 #include "ResourceCollection.h"
18 
19 namespace qmcplusplus
20 {
21 
22 template<typename ST, typename TT>
24 {
25  ///team private ratios for reduction, numVP x numTeams
27  ///team private ratios and grads for reduction, numVP x numTeams
29  ///offload scratch space, dynamically resized to the maximal need
31  ///result scratch space, dynamically resized to the maximal need
33  ///position scratch space, used to avoid allocation on the fly and faster transfer
35  ///multi purpose H2D buffer for mw_evaluateVGLandDetRatioGrads
37  ///multi purpose H2D buffer for mw_evaluateDetRatios
39 
40  SplineOMPTargetMultiWalkerMem() : Resource("SplineOMPTargetMultiWalkerMem") {}
41 
43 
44  std::unique_ptr<Resource> makeClone() const override
45  {
46  return std::make_unique<SplineOMPTargetMultiWalkerMem>(*this);
47  }
48 };
49 } // namespace qmcplusplus
50 #endif
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
Vector< ST, OffloadPinnedAllocator< ST > > mw_pos_copy
position scratch space, used to avoid allocation on the fly and faster transfer
SplineOMPTargetMultiWalkerMem(const SplineOMPTargetMultiWalkerMem &)
std::unique_ptr< Resource > makeClone() const override
Vector< TT, OffloadPinnedAllocator< TT > > mw_results_scratch
result scratch space, dynamically resized to the maximal need
Matrix< char, OffloadPinnedAllocator< char > > buffer_H2D
multi purpose H2D buffer for mw_evaluateVGLandDetRatioGrads
Matrix< TT, OffloadPinnedAllocator< TT > > rg_private
team private ratios and grads for reduction, numVP x numTeams
Matrix< TT, OffloadPinnedAllocator< TT > > mw_ratios_private
team private ratios for reduction, numVP x numTeams
Vector< char, OffloadPinnedAllocator< char > > det_ratios_buffer_H2D
multi purpose H2D buffer for mw_evaluateDetRatios
Vector< ST, OffloadPinnedAllocator< ST > > mw_offload_scratch
offload scratch space, dynamically resized to the maximal need