NAMD
|
Public Member Functions | |
PmeZPencil_SDAG_CODE | PmeZPencil () |
PmeZPencil (CkMigrateMessage *) | |
~PmeZPencil () | |
void | fft_init () |
void | recv_grid (const PmeGridMsg *) |
void | forward_fft () |
void | send_trans () |
void | send_subset_trans (int fromIdx, int toIdx) |
void | recv_untrans (const PmeUntransMsg *) |
void | recvNodeAck (PmeAckMsg *) |
void | node_process_untrans (PmeUntransMsg *) |
void | node_process_grid (PmeGridMsg *) |
void | backward_fft () |
void | send_ungrid (PmeGridMsg *) |
void | send_all_ungrid () |
void | send_subset_ungrid (int fromIdx, int toIdx) |
![]() | |
PmePencil () | |
~PmePencil () | |
void | base_init (PmePencilInitMsg *msg) |
void | order_init (int nBlocks) |
Additional Inherited Members | |
![]() | |
typedef int | AtomicInt |
![]() | |
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 |
Definition at line 4590 of file ComputePme.C.
|
inline |
Definition at line 4593 of file ComputePme.C.
|
inline |
Definition at line 4594 of file ComputePme.C.
References PmePencil< CBase_PmeZPencil >::imsg, and PmePencil< CBase_PmeZPencil >::imsgb.
|
inline |
Definition at line 4595 of file ComputePme.C.
void PmeZPencil::backward_fft | ( | ) |
Definition at line 6180 of file ComputePme.C.
References CKLOOP_CTRL_PME_BACKWARDFFT, PmePencil< CBase_PmeZPencil >::data, PmeGrid::dim3, PmePencilInitMsgData::grid, PmePencil< CBase_PmeZPencil >::initdata, PmeGrid::K1, PmeGrid::K2, PmeGrid::K3, Node::Object(), PmeXZPencilFFT(), Node::simParameters, SimParameters::useCkLoop, PmePencil< CBase_PmeZPencil >::work, PmePencilInitMsgData::xBlocks, and PmePencilInitMsgData::yBlocks.
Referenced by node_process_untrans().
void PmeZPencil::fft_init | ( | ) |
Definition at line 4793 of file ComputePme.C.
References PmeGrid::block1, PmeGrid::block2, PmePencil< CBase_PmeZPencil >::data, PmeGrid::dim3, PmePencil< CBase_PmeZPencil >::evir, ComputePmeMgr::fftw_plan_lock, fftwf_malloc, PmePencilInitMsgData::grid, PmePencil< CBase_PmeZPencil >::initdata, PmeGrid::K1, PmeGrid::K2, PmeGrid::K3, NAMD_die(), PmePencil< CBase_PmeZPencil >::order_init(), PmePencilInitMsgData::pmeNodeProxy, Node::simParameters, simParams, PmePencil< CBase_PmeZPencil >::work, and PmePencilInitMsgData::zBlocks.
void PmeZPencil::forward_fft | ( | ) |
Definition at line 5217 of file ComputePme.C.
References CKLOOP_CTRL_PME_FORWARDFFT, PmePencil< CBase_PmeZPencil >::data, PmeGrid::dim3, PmePencil< CBase_PmeZPencil >::evir, PmePencilInitMsgData::grid, PmePencil< CBase_PmeZPencil >::initdata, PmeGrid::K3, Node::Object(), PmeXZPencilFFT(), Node::simParameters, SimParameters::useCkLoop, PmePencil< CBase_PmeZPencil >::work, PmePencilInitMsgData::xBlocks, and PmePencilInitMsgData::yBlocks.
Referenced by node_process_grid().
void PmeZPencil::node_process_grid | ( | PmeGridMsg * | msg | ) |
Definition at line 6321 of file ComputePme.C.
References ComputePmeMgr::fftw_plan_lock, forward_fft(), PmeGridMsg::hasData, PmePencil< CBase_PmeZPencil >::hasData, PmePencil< CBase_PmeZPencil >::imsg, recv_grid(), send_trans(), and ResizeArray< Elem >::size().
Referenced by NodePmeMgr::recvZGrid().
void PmeZPencil::node_process_untrans | ( | PmeUntransMsg * | msg | ) |
Definition at line 6356 of file ComputePme.C.
References backward_fft(), PmePencil< CBase_PmeZPencil >::data, PmeGrid::dim3, PmePencil< CBase_PmeZPencil >::evir, ComputePmeMgr::fftw_plan_lock, PmePencilInitMsgData::grid, PmePencil< CBase_PmeZPencil >::hasData, PmePencil< CBase_PmeZPencil >::imsgb, PmePencil< CBase_PmeZPencil >::initdata, NAMD_bug(), recv_untrans(), send_all_ungrid(), and PmePencilInitMsgData::zBlocks.
Referenced by recvNodeAck(), and NodePmeMgr::recvZUntrans().
void PmeZPencil::recv_grid | ( | const PmeGridMsg * | msg | ) |
Definition at line 5166 of file ComputePme.C.
References ResizeArray< Elem >::begin(), PmePencil< CBase_PmeZPencil >::data, PmeGrid::dim3, PmeGridMsg::fgrid, PmePencilInitMsgData::grid, PmeGridMsg::hasData, PmePencil< CBase_PmeZPencil >::imsg, PmePencil< CBase_PmeZPencil >::initdata, PmeGridMsg::lattice, PmePencil< CBase_PmeZPencil >::lattice, PmeGridMsg::qgrid, PmeGridMsg::sequence, PmePencil< CBase_PmeZPencil >::sequence, PmeGridMsg::zlist, and PmeGridMsg::zlistlen.
Referenced by node_process_grid().
void PmeZPencil::recv_untrans | ( | const PmeUntransMsg * | msg | ) |
Definition at line 6152 of file ComputePme.C.
References PmeGrid::block3, PmePencil< CBase_PmeZPencil >::data, PmeGrid::dim3, PmePencil< CBase_PmeZPencil >::evir, PmePencilInitMsgData::grid, PmePencil< CBase_PmeZPencil >::imsg, PmePencil< CBase_PmeZPencil >::initdata, PmeUntransMsg::ny, PmeUntransMsg::qgrid, and PmeUntransMsg::sourceNode.
Referenced by node_process_untrans().
void PmeZPencil::recvNodeAck | ( | PmeAckMsg * | msg | ) |
Definition at line 6351 of file ComputePme.C.
References node_process_untrans().
void PmeZPencil::send_all_ungrid | ( | ) |
Definition at line 6248 of file ComputePme.C.
References CKLOOP_CTRL_PME_SENDUNTRANS, PmePencil< CBase_PmeZPencil >::initdata, Node::Object(), PmeZPencilSendUngrid(), send_subset_ungrid(), Node::simParameters, ResizeArray< Elem >::size(), SimParameters::useCkLoop, PmePencilInitMsgData::xBlocks, and PmePencilInitMsgData::yBlocks.
Referenced by node_process_untrans().
void PmeZPencil::send_subset_trans | ( | int | fromIdx, |
int | toIdx | ||
) |
Definition at line 5278 of file ComputePme.C.
References PmeGrid::block3, PmePencil< CBase_PmeZPencil >::data, PmeTransMsg::destElem, PmeGrid::dim3, PmePencilInitMsgData::grid, PmeTransMsg::hasData, PmePencil< CBase_PmeZPencil >::hasData, PmePencil< CBase_PmeZPencil >::initdata, PmeTransMsg::lattice, PmePencil< CBase_PmeZPencil >::lattice, PmeTransMsg::nx, PME_TRANS_PRIORITY, PmePencilInitMsgData::pmeNodeProxy, PRIORITY_SIZE, PmeTransMsg::qgrid, PmePencil< CBase_PmeZPencil >::send_order, PmeTransMsg::sequence, PmePencil< CBase_PmeZPencil >::sequence, SET_PRIORITY, PmeTransMsg::sourceNode, PmePencilInitMsgData::ym, PmePencilInitMsgData::yPencil, and PmePencilInitMsgData::zBlocks.
Referenced by PmeZPencilSendTrans().
void PmeZPencil::send_subset_ungrid | ( | int | fromIdx, |
int | toIdx | ||
) |
Definition at line 6262 of file ComputePme.C.
References send_ungrid().
Referenced by PmeZPencilSendUngrid(), and send_all_ungrid().
void PmeZPencil::send_trans | ( | ) |
Definition at line 5330 of file ComputePme.C.
References PmeGrid::block3, CKLOOP_CTRL_PME_SENDTRANS, PmePencil< CBase_PmeZPencil >::data, PmeTransMsg::destElem, PmeGrid::dim3, PmePencilInitMsgData::grid, PmeTransMsg::hasData, PmePencil< CBase_PmeZPencil >::hasData, PmePencil< CBase_PmeZPencil >::initdata, PmeTransMsg::lattice, PmePencil< CBase_PmeZPencil >::lattice, PmeTransMsg::nx, Node::Object(), PME_TRANS_PRIORITY, PmePencilInitMsgData::pmeNodeProxy, PmeZPencilSendTrans(), PRIORITY_SIZE, PmeTransMsg::qgrid, PmePencil< CBase_PmeZPencil >::send_order, PmeTransMsg::sequence, PmePencil< CBase_PmeZPencil >::sequence, SET_PRIORITY, Node::simParameters, PmeTransMsg::sourceNode, SimParameters::useCkLoop, PmePencilInitMsgData::xBlocks, PmePencilInitMsgData::yBlocks, PmePencilInitMsgData::ym, PmePencilInitMsgData::yPencil, and PmePencilInitMsgData::zBlocks.
Referenced by node_process_grid().
void PmeZPencil::send_ungrid | ( | PmeGridMsg * | msg | ) |
Definition at line 6269 of file ComputePme.C.
References PmePencil< CBase_PmeZPencil >::data, PmeGrid::dim3, PmeGridMsg::fgrid, PmePencilInitMsgData::grid, PmeGridMsg::hasData, PmePencil< CBase_PmeZPencil >::hasData, PmePencil< CBase_PmeZPencil >::initdata, NAMD_bug(), PmePencil< CBase_PmeZPencil >::offload, PME_OFFLOAD_UNGRID_PRIORITY, PME_UNGRID_PRIORITY, PmePencilInitMsgData::pmeNodeProxy, PmePencilInitMsgData::pmeProxy, PRIORITY_SIZE, PmeGridMsg::qgrid, PmePencil< CBase_PmeZPencil >::sequence, SET_PRIORITY, PmeGridMsg::sourceNode, PmePencilInitMsgData::yBlocks, PmeGridMsg::zlist, and PmeGridMsg::zlistlen.
Referenced by send_subset_ungrid().