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 4498 of file ComputePme.C.

Member Typedef Documentation

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

Definition at line 4540 of file ComputePme.C.

Constructor & Destructor Documentation

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

Definition at line 4500 of file ComputePme.C.

4500  {
4501  data = 0;
4502  work = 0;
4503  send_order = 0;
4504  needs_reply = 0;
4505 #if USE_PERSISTENT
4506  trans_handle = untrans_handle = ungrid_handle = NULL;
4507 #endif
4508  }
float * data
Definition: ComputePme.C:4548
float * work
Definition: ComputePme.C:4549
int * needs_reply
Definition: ComputePme.C:4551
int * send_order
Definition: ComputePme.C:4550
template<class T>
PmePencil< T >::~PmePencil ( )
inline

Definition at line 4509 of file ComputePme.C.

4509  {
4510 #ifdef NAMD_FFTW
4511  fftwf_free(data);
4512 #endif
4513  delete [] work;
4514  delete [] send_order;
4515  delete [] needs_reply;
4516  }
float * data
Definition: ComputePme.C:4548
#define fftwf_free
Definition: ComputePme.C:14
float * work
Definition: ComputePme.C:4549
int * needs_reply
Definition: ComputePme.C:4551
int * send_order
Definition: ComputePme.C:4550

Member Function Documentation

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

Definition at line 4517 of file ComputePme.C.

4517  {
4518  imsg=0;
4519  imsgb=0;
4520  hasData=0;
4521  initdata = msg->data;
4522  }
PmePencilInitMsgData initdata
Definition: ComputePme.C:4535
AtomicInt imsg
Definition: ComputePme.C:4544
AtomicInt imsgb
Definition: ComputePme.C:4545
PmePencilInitMsgData data
Definition: ComputePme.C:227
template<class T>
void PmePencil< T >::order_init ( int  nBlocks)
inline

Definition at line 4523 of file ComputePme.C.

4523  {
4524  send_order = new int[nBlocks];
4525  for ( int i=0; i<nBlocks; ++i ) send_order[i] = i;
4526  if ( Node::Object()->simParameters->PMESendOrder ) {
4528  } else {
4529  Random rand(CkMyPe());
4530  rand.reorder(send_order,nBlocks);
4531  }
4532  needs_reply = new int[nBlocks];
4534  }
static Node * Object()
Definition: Node.h:86
SimParameters * simParameters
Definition: Node.h:178
Definition: Random.h:37
int * needs_reply
Definition: ComputePme.C:4551
int * send_order
Definition: ComputePme.C:4550
BlockRadixSort::TempStorage sort

Member Data Documentation

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

Definition at line 4537 of file ComputePme.C.

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

Definition at line 4546 of file ComputePme.C.

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

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

Definition at line 4544 of file ComputePme.C.

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

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

Definition at line 4545 of file ComputePme.C.

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

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

Definition at line 4535 of file ComputePme.C.

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

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

Definition at line 4536 of file ComputePme.C.

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

Definition at line 4547 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 4538 of file ComputePme.C.

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

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