template class xf::hpc::rtm::RTM3D¶
#include "rtm3d.hpp"
Overview¶
RTM3D class defines the basic operations for 3D RTM3D .
Parameters:
t_DataType | the basic wavefield datatype |
t_Order | is the spatial discretization order |
t_MaxDimZ | is the maximum dim along z-axis this kernel can process |
t_MaxDimY | is the maximum dim along y-axis this kernel can process |
t_PEZ | is the number of processing elements along z-axis |
t_PEX | is the number of processing elements along x-axis |
template < typename t_Domain, typename t_DataType, int t_Order, int t_MaxDimZ = 128, int t_MaxDimY = 128, int t_MaxB = 40, int t_PEZ = 1, int t_PEX = 1 > class RTM3D: public xf::hpc::rtm::Stencil3D // typedefs typedef Stencil3D <t_DataType, t_Order, t_MaxDimZ, t_MaxDimY, t_PEZ, t_PEX> t_StencilType typedef t_StencilType::t_PairType t_PairType typedef t_StencilType::t_DataTypeX t_DataTypeX typedef t_StencilType::t_DataTypeZ t_DataTypeZ typedef t_StencilType::t_WideType t_WideType typedef t_StencilType::t_InType t_InType typedef t_StencilType::t_PairInType t_PairInType typedef blas::WideType <t_InType, t_HalfOrder/t_PEZ> t_UpbType typedef t_UpbType::t_TypeInt t_UpbInType
Inherited Members¶
// typedefs typedef blas::WideType <t_DataType, t_PEZ> t_DataTypeZ typedef t_DataTypeZ::t_TypeInt t_InTypeZ typedef blas::WideType <t_DataType, t_PEX> t_DataTypeX typedef t_DataTypeX::t_TypeInt t_InTypeX typedef blas::WideType <t_InTypeX, t_PEZ, t_DataTypeX::t_TypeWidth> t_WideType typedef t_WideType::t_TypeInt t_InType typedef blas::WideType <t_InType, t_NumData, t_WideType::t_TypeWidth> t_PairType typedef t_PairType::t_TypeInt t_PairInType // fields static const unsigned int t_HalfOrder static const unsigned int t_NumData static const unsigned int t_FifoDepth
Methods¶
forward¶
forward overload (1)¶
void forward ( const t_DataType p_src, hls::stream <t_InType>& p_v2dt2, hls::stream <t_InType>& p_vt, hls::stream <t_InType>& p_pp0, hls::stream <t_InType>& p_p0, hls::stream <t_InType>& p_pp1, hls::stream <t_InType>& p_p1 )
forward defines the forward streaming module
Parameters:
p_src | is the source wavefield at given time stamp |
p_v2dt2 | is the pow(v * dt, 2) |
p_vt | is a copy of p_v2dt2 |
p_pp0 | is the stream of input wavefield p(t - 1) |
p_pp1 | is the stream of output wavefield p(t) |
p_p0 | is the stream of input wavefield p(t) |
p_p1 | is the stream of output wavefield p(t + 1) |
forward overload (2)¶
void forward ( const t_DataType p_src, hls::stream <t_UpbInType>& p_upb, hls::stream <t_InType>& p_v2dt2, hls::stream <t_InType>& p_vt, hls::stream <t_InType>& p_pp0, hls::stream <t_InType>& p_p0, hls::stream <t_InType>& p_pp1, hls::stream <t_InType>& p_p1 )
forward defines the forward streaming module
Parameters:
p_src | is the source wavefield at given time stamp |
p_upb | is the upper boundary to be saved |
p_v2dt2 | is the pow(v * dt, 2) |
p_vt | is a copy of p_v2dt2 |
p_pp0 | is the stream of input wavefield p(t - 1) |
p_pp1 | is the stream of output wavefield p(t) |
p_p0 | is the stream of input wavefield p(t) |
p_p1 | is the stream of output wavefield p(t + 1) |