PmePencil< T > Class Template Reference

List of all members.

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
int imsg
int 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 4512 of file ComputePme.C.


Constructor & Destructor Documentation

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

Definition at line 4514 of file ComputePme.C.

04514               {
04515     data = 0;
04516     work = 0;
04517     send_order = 0;
04518     needs_reply = 0;
04519 #if USE_PERSISTENT
04520     trans_handle = untrans_handle = ungrid_handle = NULL;
04521 #endif
04522   }

template<class T>
PmePencil< T >::~PmePencil (  )  [inline]

Definition at line 4523 of file ComputePme.C.

04523                {
04524 #ifdef NAMD_FFTW
04525     fftwf_free(data);
04526 #endif
04527     delete [] work;
04528     delete [] send_order;
04529     delete [] needs_reply;
04530   }


Member Function Documentation

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

Definition at line 4531 of file ComputePme.C.

04531                                         {
04532     imsg=0;
04533     imsgb=0;
04534     hasData=0;
04535     initdata = msg->data;
04536   }

template<class T>
void PmePencil< T >::order_init ( int  nBlocks  )  [inline]

Definition at line 4537 of file ComputePme.C.

04537                                {
04538     send_order = new int[nBlocks];
04539     for ( int i=0; i<nBlocks; ++i ) send_order[i] = i;
04540     if ( Node::Object()->simParameters->PMESendOrder ) {
04541       std::sort(send_order,send_order+nBlocks,sortop_bit_reversed());
04542     } else {
04543       Random rand(CkMyPe());
04544       rand.reorder(send_order,nBlocks);
04545     }
04546     needs_reply = new int[nBlocks];
04547     offload = Node::Object()->simParameters->PMEOffload;
04548   }


Member Data Documentation

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

Definition at line 4557 of file ComputePme.C.

Referenced by PmePencil< CBase_PmeZPencil >::PmePencil(), and PmePencil< CBase_PmeZPencil >::~PmePencil().

template<class T>
PmeReduction PmePencil< T >::evir

Definition at line 4551 of file ComputePme.C.

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

Definition at line 4555 of file ComputePme.C.

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

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

Definition at line 4553 of file ComputePme.C.

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

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

Definition at line 4554 of file ComputePme.C.

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

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

Definition at line 4549 of file ComputePme.C.

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

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

Definition at line 4550 of file ComputePme.C.

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

Definition at line 4560 of file ComputePme.C.

Referenced by PmePencil< CBase_PmeZPencil >::PmePencil(), and PmePencil< CBase_PmeZPencil >::~PmePencil().

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

Definition at line 4556 of file ComputePme.C.

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

Definition at line 4559 of file ComputePme.C.

Referenced by PmePencil< CBase_PmeZPencil >::order_init(), PmePencil< CBase_PmeZPencil >::PmePencil(), and PmePencil< CBase_PmeZPencil >::~PmePencil().

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

Definition at line 4552 of file ComputePme.C.

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

Definition at line 4558 of file ComputePme.C.

Referenced by PmePencil< CBase_PmeZPencil >::PmePencil(), and PmePencil< CBase_PmeZPencil >::~PmePencil().


The documentation for this class was generated from the following file:
Generated on Mon Jun 18 01:17:20 2018 for NAMD by  doxygen 1.4.7