NAMD
Public Types | Public Member Functions | Public Attributes | List of all members
PmePencil< T > Class Template Reference
Inheritance diagram for PmePencil< T >:

Public Types

typedef int AtomicInt
 

Public Member Functions

 PmePencil ()
 
 ~PmePencil ()
 
void base_init (PmePencilInitMsg *msg)
 
void order_init (int nBlocks)
 

Public Attributes

PmePencilInitMsgData initdata
 
Lattice lattice
 
PmeReduction evir
 
int sequence
 
AtomicInt imsg
 
AtomicInt imsgb
 
int hasData
 
int offload
 
float * data
 
float * work
 
int * send_order
 
int * needs_reply
 

Detailed Description

template<class T>
class PmePencil< T >

Definition at line 4504 of file ComputePme.C.

Member Typedef Documentation

template<class T>
typedef int PmePencil< T >::AtomicInt

Definition at line 4546 of file ComputePme.C.

Constructor & Destructor Documentation

template<class T>
PmePencil< T >::PmePencil ( )
inline

Definition at line 4506 of file ComputePme.C.

4506  {
4507  data = 0;
4508  work = 0;
4509  send_order = 0;
4510  needs_reply = 0;
4511 #if USE_PERSISTENT
4512  trans_handle = untrans_handle = ungrid_handle = NULL;
4513 #endif
4514  }
float * data
Definition: ComputePme.C:4554
float * work
Definition: ComputePme.C:4555
int * needs_reply
Definition: ComputePme.C:4557
int * send_order
Definition: ComputePme.C:4556
template<class T>
PmePencil< T >::~PmePencil ( )
inline

Definition at line 4515 of file ComputePme.C.

4515  {
4516 #ifdef NAMD_FFTW
4517  fftwf_free(data);
4518 #endif
4519  delete [] work;
4520  delete [] send_order;
4521  delete [] needs_reply;
4522  }
float * data
Definition: ComputePme.C:4554
#define fftwf_free
Definition: ComputePme.C:14
float * work
Definition: ComputePme.C:4555
int * needs_reply
Definition: ComputePme.C:4557
int * send_order
Definition: ComputePme.C:4556

Member Function Documentation

template<class T>
void PmePencil< T >::base_init ( PmePencilInitMsg msg)
inline

Definition at line 4523 of file ComputePme.C.

4523  {
4524  imsg=0;
4525  imsgb=0;
4526  hasData=0;
4527  initdata = msg->data;
4528  }
PmePencilInitMsgData initdata
Definition: ComputePme.C:4541
AtomicInt imsg
Definition: ComputePme.C:4550
AtomicInt imsgb
Definition: ComputePme.C:4551
PmePencilInitMsgData data
Definition: ComputePme.C:233
template<class T>
void PmePencil< T >::order_init ( int  nBlocks)
inline

Definition at line 4529 of file ComputePme.C.

4529  {
4530  send_order = new int[nBlocks];
4531  for ( int i=0; i<nBlocks; ++i ) send_order[i] = i;
4532  if ( Node::Object()->simParameters->PMESendOrder ) {
4534  } else {
4535  Random rand(CkMyPe());
4536  rand.reorder(send_order,nBlocks);
4537  }
4538  needs_reply = new int[nBlocks];
4540  }
static Node * Object()
Definition: Node.h:86
SimParameters * simParameters
Definition: Node.h:178
Definition: Random.h:37
int * needs_reply
Definition: ComputePme.C:4557
int * send_order
Definition: ComputePme.C:4556
BlockRadixSort::TempStorage sort

Member Data Documentation

template<class T>
float* PmePencil< T >::data
template<class T>
PmeReduction PmePencil< T >::evir

Definition at line 4543 of file ComputePme.C.

template<class T>
int PmePencil< T >::hasData

Definition at line 4552 of file ComputePme.C.

Referenced by PmePencil< CBase_PmeZPencil >::base_init().

template<class T>
AtomicInt PmePencil< T >::imsg

Definition at line 4550 of file ComputePme.C.

Referenced by PmePencil< CBase_PmeZPencil >::base_init().

template<class T>
AtomicInt PmePencil< T >::imsgb

Definition at line 4551 of file ComputePme.C.

Referenced by PmePencil< CBase_PmeZPencil >::base_init().

template<class T>
PmePencilInitMsgData PmePencil< T >::initdata

Definition at line 4541 of file ComputePme.C.

Referenced by PmePencil< CBase_PmeZPencil >::base_init().

template<class T>
Lattice PmePencil< T >::lattice

Definition at line 4542 of file ComputePme.C.

template<class T>
int* PmePencil< T >::needs_reply
template<class T>
int PmePencil< T >::offload

Definition at line 4553 of file ComputePme.C.

Referenced by PmePencil< CBase_PmeZPencil >::order_init().

template<class T>
int* PmePencil< T >::send_order
template<class T>
int PmePencil< T >::sequence

Definition at line 4544 of file ComputePme.C.

template<class T>
float* PmePencil< T >::work

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