L3 APIs¶
class FPGA¶
#include "fpga_xrt.hpp"
class FPGA is used to manage FPGA info
// fields xclDeviceHandle m_handle uuid_t m_xclbinId
template class BackwardKernel¶
#include "fpga_xrt.hpp"
Overview¶
class BackwardKernel is used to manage and run backward kernel on FPGA
template < typename t_DataType, unsigned int t_Order, unsigned int t_PE > class BackwardKernel // typedefs typedef WideData <t_DataType, t_PE> t_WideType typedef WideData <t_WideType, 2> t_PairType // fields static const unsigned int _4k
Methods¶
loadData¶
void loadData (const string filePath)
loadData load parameters for RTM backward kernel from given path
Parameters:
filePath | the path where parameters are stored |
run¶
double run ( unsigned int p_shot, const AlignMem <t_PairType>& p_snaps, const AlignMem <t_DataType>& p_upb, AlignMem <t_PairType>& p_p, AlignMem <t_PairType>& p_r, AlignMem <t_DataType>& p_i )
run launch the RTM backward kernel with given input parameters
Parameters:
p_shot | the shot id |
p_upb | the upper boundary data |
p_snaps | input seismic snapshot |
p_p | output seismic source wavefiled |
p_r | output seismic receiver wavefiled |
p_i | output seismic image |
before_run¶
void before_run ( unsigned int p_shot, const AlignMem <t_PairType>& p_snaps, const AlignMem <t_DataType>& p_upb, AlignMem <t_PairType>& p_p, AlignMem <t_PairType>& p_r, AlignMem <t_DataType>& p_i, AlignMem <t_PairType>& l_p0, AlignMem <t_PairType>& l_r0, AlignMem <t_DataType>& l_i0 )
run launch the RTM backward kernel with given input parameters (in order to support multi-kernel, run function is split to before run and after_run)
after_run¶
void after_run ( AlignMem <t_PairType>& p_p, AlignMem <t_PairType>& p_r, AlignMem <t_DataType>& p_i, AlignMem <t_PairType>& l_p0, AlignMem <t_PairType>& l_r0, AlignMem <t_DataType>& l_i0 )
run launch the RTM backward kernel with given input parameters (in order to support multi-kernel, run function is split to before run and after_run)
template class ForwardKernel¶
#include "fpga_xrt.hpp"
Overview¶
class ForwardKernel is used to manage and run forward kernel on FPGA
template < typename t_DataType, unsigned int t_Order, unsigned int t_PE > class ForwardKernel // typedefs typedef WideData <t_DataType, t_PE> t_WideType typedef WideData <t_WideType, 2> t_PairType // fields static const unsigned int _4k
Methods¶
loadData¶
void loadData (const string filePath)
loadData load parameters for RTM forward kernel from given path
Parameters:
filePath | the path where parameters are stored |
run¶
double run ( unsigned int p_shot, unsigned int p_sx, AlignMem <t_PairType>& p_p, AlignMem <t_DataType>& p_upb )
run launch the RTM forward kernel with given input parameters
Parameters:
p_shot | the shot id |
p_sx | the shot coordinate |
p_p | seismic snapshot |
p_upb | the upper boundary data |
before_run¶
void before_run ( unsigned int p_shot, unsigned int p_sx, AlignMem <t_PairType>& l_p0, AlignMem <t_DataType>& l_upb )
run launch the RTM forward kernel with given input parameters (in order to support multi-kernel, run function is split to before run and after_run)
after_run¶
void after_run ( AlignMem <t_PairType>& p_p, AlignMem <t_DataType>& p_upb, AlignMem <t_PairType>& l_p0, AlignMem <t_DataType>& l_upb )
run launch the RTM forward kernel with given input parameters (in order to support multi-kernel, run function is split to before run and after_run)