Bridge++  Ver. 2.0.2
ShiftAField_eo< AFIELD > Class Template Reference

Methods to shift a field in the even-odd site index. More...

#include <shiftAField_eo.h>

Public Types

typedef AFIELD::real_t real_t
 

Public Member Functions

 ShiftAField_eo (int nin)
 
 ShiftAField_eo (int nin, std::vector< int > &bc)
 
 ~ShiftAField_eo ()
 
void forward (AFIELD &, const AFIELD &, const int mu, const int ieo)
 
void backward (AFIELD &, const AFIELD &, const int mu, const int ieo)
 
void forward (AFIELD &, const int, const AFIELD &, const int, const int mu, const int ieo)
 
void backward (AFIELD &, const int, const AFIELD &, const int, const int mu, const int ieo)
 
const std::string class_name
 
const std::string class_name
 

Static Public Attributes

static const std::string class_name
 

Private Types

using allocator_t = typename AFIELD::template aligned_allocator< char >
 
using Channel = Channel_impl< allocator_t >
 

Private Member Functions

 ShiftAField_eo (const ShiftAField_eo &)
 
ShiftAField_eooperator= (const ShiftAField_eo &)
 
void setup_channels ()
 setup channels for communication. More...
 
void init (int Nin)
 
void init (int Nin, std::vector< int > &bc)
 
void tidyup ()
 
void up_xh_simd (real_t *, real_t *, const int)
 
void up_yh (real_t *, real_t *, const int)
 
void up_zh (real_t *, real_t *, const int)
 
void up_th (real_t *, real_t *, const int)
 
void dn_xh_simd (real_t *, real_t *, const int)
 
void dn_yh (real_t *, real_t *, const int)
 
void dn_zh (real_t *, real_t *, const int)
 
void dn_th (real_t *, real_t *, const int)
 
void up_xh_naive (real_t *, real_t *, const int)
 
void up_yh_nv (real_t *, real_t *, const int)
 
void up_zh_nv (real_t *, real_t *, const int)
 
void up_th_nv (real_t *, real_t *, const int)
 
void dn_xh_naive (real_t *, real_t *, const int)
 
void dn_yh_nv (real_t *, real_t *, const int)
 
void dn_zh_nv (real_t *, real_t *, const int)
 
void dn_th_nv (real_t *, real_t *, const int)
 

Private Attributes

int m_Nin
 internal degree of freedom. More...
 
int m_Nvol
 
int m_Nvol2
 
int m_Ndim
 
int m_Nx
 
int m_Ny
 
int m_Nz
 
int m_Nt
 
int m_Nx2
 
int m_Nx2v
 
int m_Nyv
 
int m_Nst2v
 
std::vector< int > m_boundary
 
Bridge::VerboseLevel m_vl
 
std::vector< int > m_Leo
 
int do_comm [4]
 
int do_comm_any
 
std::vector< int > m_Nbdsize
 
std::vector< Channelchsend_up
 
std::vector< Channelchrecv_up
 
std::vector< Channelchsend_dn
 
std::vector< Channelchrecv_dn
 
ChannelSet chset_send
 
ChannelSet chset_recv
 

Detailed Description

template<typename AFIELD>
class ShiftAField_eo< AFIELD >

Methods to shift a field in the even-odd site index.

This template class is an alternative to the ShiftField_eo class in the core libirary. This implementation assumes the QXS site oerdering. [29 Aug 2021 H.Matsufuru]

Uses aligned channel. [5 May 2022 I.anamori]

Definition at line 32 of file shiftAField_eo.h.

Member Typedef Documentation

◆ allocator_t

template<typename AFIELD >
using ShiftAField_eo< AFIELD >::allocator_t = typename AFIELD::template aligned_allocator<char>
private

Definition at line 54 of file shiftAField_eo.h.

◆ Channel

template<typename AFIELD >
using ShiftAField_eo< AFIELD >::Channel = Channel_impl<allocator_t>
private

Definition at line 55 of file shiftAField_eo.h.

◆ real_t

template<typename AFIELD >
typedef AFIELD::real_t ShiftAField_eo< AFIELD >::real_t

Definition at line 34 of file shiftAField_eo.h.

Constructor & Destructor Documentation

◆ ShiftAField_eo() [1/3]

template<typename AFIELD >
ShiftAField_eo< AFIELD >::ShiftAField_eo ( int  nin)
inline

Definition at line 60 of file shiftAField_eo.h.

◆ ShiftAField_eo() [2/3]

template<typename AFIELD >
ShiftAField_eo< AFIELD >::ShiftAField_eo ( int  nin,
std::vector< int > &  bc 
)
inline

Definition at line 62 of file shiftAField_eo.h.

◆ ~ShiftAField_eo()

template<typename AFIELD >
ShiftAField_eo< AFIELD >::~ShiftAField_eo ( )
inline

Definition at line 65 of file shiftAField_eo.h.

◆ ShiftAField_eo() [3/3]

template<typename AFIELD >
ShiftAField_eo< AFIELD >::ShiftAField_eo ( const ShiftAField_eo< AFIELD > &  )
private

Member Function Documentation

◆ backward() [1/2]

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::backward ( AFIELD v,
const AFIELD w,
const int  mu,
const int  ieo 
)

Definition at line 135 of file shiftAField_eo-tmpl.h.

◆ backward() [2/2]

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::backward ( AFIELD v,
const int  ex1,
const AFIELD w,
const int  ex2,
const int  mu,
const int  ieo 
)

Definition at line 168 of file shiftAField_eo-tmpl.h.

◆ class_name() [1/2]

const std::string ShiftAField_eo< AField< double, QXS > >::class_name

Definition at line 41 of file shiftAField_eo_double.cpp.

◆ class_name() [2/2]

const std::string ShiftAField_eo< AField< float, QXS > >::class_name

Definition at line 41 of file shiftAField_eo_float.cpp.

◆ dn_th()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::dn_th ( real_t ,
real_t ,
const int   
)
private

◆ dn_th_nv()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::dn_th_nv ( real_t vp,
real_t wp,
const int  ieo 
)
private

Definition at line 1041 of file shiftAField_eo-tmpl.h.

◆ dn_xh_naive()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::dn_xh_naive ( real_t vp,
real_t wp,
const int  ieo 
)
private

Definition at line 484 of file shiftAField_eo-tmpl.h.

◆ dn_xh_simd()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::dn_xh_simd ( real_t ,
real_t ,
const int   
)
private

◆ dn_yh()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::dn_yh ( real_t ,
real_t ,
const int   
)
private

◆ dn_yh_nv()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::dn_yh_nv ( real_t vp,
real_t wp,
const int  ieo 
)
private

Definition at line 662 of file shiftAField_eo-tmpl.h.

◆ dn_zh()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::dn_zh ( real_t ,
real_t ,
const int   
)
private

◆ dn_zh_nv()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::dn_zh_nv ( real_t vp,
real_t wp,
const int  ieo 
)
private

Definition at line 851 of file shiftAField_eo-tmpl.h.

◆ forward() [1/2]

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::forward ( AFIELD v,
const AFIELD w,
const int  mu,
const int  ieo 
)

Definition at line 203 of file shiftAField_eo-tmpl.h.

◆ forward() [2/2]

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::forward ( AFIELD v,
const int  ex1,
const AFIELD w,
const int  ex2,
const int  mu,
const int  ieo 
)

Definition at line 236 of file shiftAField_eo-tmpl.h.

◆ init() [1/2]

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::init ( int  Nin)
private

Definition at line 16 of file shiftAField_eo-tmpl.h.

◆ init() [2/2]

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::init ( int  Nin,
std::vector< int > &  bc 
)
private

Definition at line 30 of file shiftAField_eo-tmpl.h.

◆ operator=()

template<typename AFIELD >
ShiftAField_eo& ShiftAField_eo< AFIELD >::operator= ( const ShiftAField_eo< AFIELD > &  )
private

◆ setup_channels()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::setup_channels
private

setup channels for communication.

Definition at line 102 of file shiftAField_eo-tmpl.h.

◆ tidyup()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::tidyup
private

Definition at line 95 of file shiftAField_eo-tmpl.h.

◆ up_th()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::up_th ( real_t ,
real_t ,
const int   
)
private

◆ up_th_nv()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::up_th_nv ( real_t vp,
real_t wp,
const int  ieo 
)
private

Definition at line 950 of file shiftAField_eo-tmpl.h.

◆ up_xh_naive()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::up_xh_naive ( real_t vp,
real_t wp,
const int  ieo 
)
private

Definition at line 335 of file shiftAField_eo-tmpl.h.

◆ up_xh_simd()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::up_xh_simd ( real_t ,
real_t ,
const int   
)
private

◆ up_yh()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::up_yh ( real_t ,
real_t ,
const int   
)
private

◆ up_yh_nv()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::up_yh_nv ( real_t vp,
real_t wp,
const int  ieo 
)
private

Definition at line 570 of file shiftAField_eo-tmpl.h.

◆ up_zh()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::up_zh ( real_t ,
real_t ,
const int   
)
private

◆ up_zh_nv()

template<typename AFIELD >
void ShiftAField_eo< AFIELD >::up_zh_nv ( real_t vp,
real_t wp,
const int  ieo 
)
private

Definition at line 756 of file shiftAField_eo-tmpl.h.

Member Data Documentation

◆ chrecv_dn

template<typename AFIELD >
std::vector<Channel> ShiftAField_eo< AFIELD >::chrecv_dn
private

Definition at line 56 of file shiftAField_eo.h.

◆ chrecv_up

template<typename AFIELD >
std::vector<Channel> ShiftAField_eo< AFIELD >::chrecv_up
private

Definition at line 56 of file shiftAField_eo.h.

◆ chsend_dn

template<typename AFIELD >
std::vector<Channel> ShiftAField_eo< AFIELD >::chsend_dn
private

Definition at line 56 of file shiftAField_eo.h.

◆ chsend_up

template<typename AFIELD >
std::vector<Channel> ShiftAField_eo< AFIELD >::chsend_up
private

Definition at line 56 of file shiftAField_eo.h.

◆ chset_recv

template<typename AFIELD >
ChannelSet ShiftAField_eo< AFIELD >::chset_recv
private

Definition at line 57 of file shiftAField_eo.h.

◆ chset_send

template<typename AFIELD >
ChannelSet ShiftAField_eo< AFIELD >::chset_send
private

Definition at line 57 of file shiftAField_eo.h.

◆ class_name

template<typename AFIELD >
const std::string ShiftAField_eo< AFIELD >::class_name
static
Initial value:
=
"ShiftAField_eo<AFIELD>"

Definition at line 35 of file shiftAField_eo.h.

◆ do_comm

template<typename AFIELD >
int ShiftAField_eo< AFIELD >::do_comm[4]
private

Definition at line 50 of file shiftAField_eo.h.

◆ do_comm_any

template<typename AFIELD >
int ShiftAField_eo< AFIELD >::do_comm_any
private

Definition at line 51 of file shiftAField_eo.h.

◆ m_boundary

template<typename AFIELD >
std::vector<int> ShiftAField_eo< AFIELD >::m_boundary
private

Definition at line 45 of file shiftAField_eo.h.

◆ m_Leo

template<typename AFIELD >
std::vector<int> ShiftAField_eo< AFIELD >::m_Leo
private

Definition at line 48 of file shiftAField_eo.h.

◆ m_Nbdsize

template<typename AFIELD >
std::vector<int> ShiftAField_eo< AFIELD >::m_Nbdsize
private

Definition at line 53 of file shiftAField_eo.h.

◆ m_Ndim

template<typename AFIELD >
int ShiftAField_eo< AFIELD >::m_Ndim
private

Definition at line 40 of file shiftAField_eo.h.

◆ m_Nin

template<typename AFIELD >
int ShiftAField_eo< AFIELD >::m_Nin
private

internal degree of freedom.

Definition at line 38 of file shiftAField_eo.h.

◆ m_Nst2v

template<typename AFIELD >
int ShiftAField_eo< AFIELD >::m_Nst2v
private

Definition at line 43 of file shiftAField_eo.h.

◆ m_Nt

template<typename AFIELD >
int ShiftAField_eo< AFIELD >::m_Nt
private

Definition at line 41 of file shiftAField_eo.h.

◆ m_Nvol

template<typename AFIELD >
int ShiftAField_eo< AFIELD >::m_Nvol
private

Definition at line 39 of file shiftAField_eo.h.

◆ m_Nvol2

template<typename AFIELD >
int ShiftAField_eo< AFIELD >::m_Nvol2
private

Definition at line 39 of file shiftAField_eo.h.

◆ m_Nx

template<typename AFIELD >
int ShiftAField_eo< AFIELD >::m_Nx
private

Definition at line 41 of file shiftAField_eo.h.

◆ m_Nx2

template<typename AFIELD >
int ShiftAField_eo< AFIELD >::m_Nx2
private

Definition at line 42 of file shiftAField_eo.h.

◆ m_Nx2v

template<typename AFIELD >
int ShiftAField_eo< AFIELD >::m_Nx2v
private

Definition at line 43 of file shiftAField_eo.h.

◆ m_Ny

template<typename AFIELD >
int ShiftAField_eo< AFIELD >::m_Ny
private

Definition at line 41 of file shiftAField_eo.h.

◆ m_Nyv

template<typename AFIELD >
int ShiftAField_eo< AFIELD >::m_Nyv
private

Definition at line 43 of file shiftAField_eo.h.

◆ m_Nz

template<typename AFIELD >
int ShiftAField_eo< AFIELD >::m_Nz
private

Definition at line 41 of file shiftAField_eo.h.

◆ m_vl

template<typename AFIELD >
Bridge::VerboseLevel ShiftAField_eo< AFIELD >::m_vl
private

Definition at line 46 of file shiftAField_eo.h.


The documentation for this class was generated from the following files: