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


Constructor & Destructor Documentation

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

Definition at line 4552 of file ComputePme.C.

04552               {
04553     data = 0;
04554     work = 0;
04555     send_order = 0;
04556     needs_reply = 0;
04557 #if USE_PERSISTENT
04558     trans_handle = untrans_handle = ungrid_handle = NULL;
04559 #endif
04560   }

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

Definition at line 4561 of file ComputePme.C.

04561                {
04562 #ifdef NAMD_FFTW
04563     fftwf_free(data);
04564 #endif
04565     delete [] work;
04566     delete [] send_order;
04567     delete [] needs_reply;
04568   }


Member Function Documentation

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

Definition at line 4569 of file ComputePme.C.

04569                                         {
04570     imsg=0;
04571     imsgb=0;
04572     hasData=0;
04573     initdata = msg->data;
04574   }

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

Definition at line 4575 of file ComputePme.C.

04575                                {
04576     send_order = new int[nBlocks];
04577     for ( int i=0; i<nBlocks; ++i ) send_order[i] = i;
04578     if ( Node::Object()->simParameters->PMESendOrder ) {
04579       std::sort(send_order,send_order+nBlocks,sortop_bit_reversed());
04580     } else {
04581       Random rand(CkMyPe());
04582       rand.reorder(send_order,nBlocks);
04583     }
04584     needs_reply = new int[nBlocks];
04585     offload = Node::Object()->simParameters->PMEOffload;
04586   }


Member Data Documentation

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

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

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

Definition at line 4593 of file ComputePme.C.

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

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

Definition at line 4591 of file ComputePme.C.

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

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

Definition at line 4592 of file ComputePme.C.

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

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

Definition at line 4587 of file ComputePme.C.

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

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

Definition at line 4588 of file ComputePme.C.

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

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

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

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

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

Definition at line 4596 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 Thu Nov 23 01:17:19 2017 for NAMD by  doxygen 1.4.7