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


Constructor & Destructor Documentation

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

Definition at line 4545 of file ComputePme.C.

04545               {
04546     data = 0;
04547     work = 0;
04548     send_order = 0;
04549     needs_reply = 0;
04550 #if USE_PERSISTENT
04551     trans_handle = untrans_handle = ungrid_handle = NULL;
04552 #endif
04553   }

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

Definition at line 4554 of file ComputePme.C.

04554                {
04555 #ifdef NAMD_FFTW
04556     fftwf_free(data);
04557 #endif
04558     delete [] work;
04559     delete [] send_order;
04560     delete [] needs_reply;
04561   }


Member Function Documentation

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

Definition at line 4562 of file ComputePme.C.

04562                                         {
04563     imsg=0;
04564     imsgb=0;
04565     hasData=0;
04566     initdata = msg->data;
04567   }

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

Definition at line 4568 of file ComputePme.C.

04568                                {
04569     send_order = new int[nBlocks];
04570     for ( int i=0; i<nBlocks; ++i ) send_order[i] = i;
04571     if ( Node::Object()->simParameters->PMESendOrder ) {
04572       std::sort(send_order,send_order+nBlocks,sortop_bit_reversed());
04573     } else {
04574       Random rand(CkMyPe());
04575       rand.reorder(send_order,nBlocks);
04576     }
04577     needs_reply = new int[nBlocks];
04578     offload = Node::Object()->simParameters->PMEOffload;
04579   }


Member Data Documentation

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

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

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

Definition at line 4586 of file ComputePme.C.

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

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

Definition at line 4584 of file ComputePme.C.

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

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

Definition at line 4585 of file ComputePme.C.

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

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

Definition at line 4580 of file ComputePme.C.

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

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

Definition at line 4581 of file ComputePme.C.

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

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

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

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

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

Definition at line 4589 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 Sat Sep 23 01:17:21 2017 for NAMD by  doxygen 1.4.7