.. index:: pair: namespace; rtm .. _doxid-namespacexf_1_1hpc_1_1rtm: .. _cid-xf::hpc::rtm: namespace rtm ============= .. toctree:: :hidden: class_xf_hpc_rtm_Domain3D.rst class_xf_hpc_rtm_RTM2D.rst class_xf_hpc_rtm_RTM3D.rst class_xf_hpc_rtm_Stencil2D.rst class_xf_hpc_rtm_Stencil3D.rst .. _doxid-namespacexf_1_1hpc_1_1rtm_1a086453b8b36fa58cecd44344667a6408: .. _cid-xf::hpc::rtm::wide2stream: .. _doxid-namespacexf_1_1hpc_1_1rtm_1a456ea95e5b013ea0cb7769acb469598d: .. _cid-xf::hpc::rtm::stream2wide: .. _doxid-namespacexf_1_1hpc_1_1rtm_1aad9f93faf684a59baa6df2f4e5c10145: .. _cid-xf::hpc::rtm::streamconversion: .. _doxid-namespacexf_1_1hpc_1_1rtm_1a0cac1acd220c6f8f799f99b735905c49: .. _cid-xf::hpc::rtm::conv2stream: .. _doxid-namespacexf_1_1hpc_1_1rtm_1a92f6bcbbc2449673975221688952fe91: .. _cid-xf::hpc::rtm::conv2wide: .. _doxid-namespacexf_1_1hpc_1_1rtm_1ab812b2b74e22ad0d08d7f0111c81aab7: .. _cid-xf::hpc::rtm::duplicate: .. _doxid-namespacexf_1_1hpc_1_1rtm_1ae908296b0014658a595d2f82f1cfb94f: .. _cid-xf::hpc::rtm::dataconsumer: .. ref-code-block:: cpp :class: overview-code-block // classes template < int t_MaxDimZ, int t_MaxDimY, int t_HalfOrder, int t_PEZ, int t_PEX, int t_NumSM > class :ref:`Domain3D` template < typename t_DataType, int t_Order, int t_MaxDim = 1024, int t_MaxB = 40, int t_PE = t_Order / 2 > class :ref:`RTM2D` 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 :ref:`RTM3D` template < typename t_DataType, int t_Order, int t_MaxDim = 1024, int t_PE = 1 > class :ref:`Stencil2D` template < typename t_DataType, int t_Order, int t_MaxDimZ = 128, int t_MaxDimY = 128, int t_PEZ = 1, int t_PEX = 1 > class :ref:`Stencil3D` .. FunctionSection .. _doxid-namespacexf_1_1hpc_1_1rtm_1aebf3058c974dff9074ed364d252a48d6: .. _cid-xf::hpc::rtm::memselstream: memSelStream ------------ .. code-block:: cpp #include "rtm/dataMover.hpp" .. ref-code-block:: cpp :class: title-code-block template < typename t_InterfaceType, typename t_DataType > void memSelStream ( unsigned int p_n, unsigned int p_k, t_InterfaceType* p_mem0, t_InterfaceType* p_mem1, hls::stream & p_str ) memSelStream reads data alternatively from two memory addresses to a stream .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - t_InterfaceType - is the datatype in memory * - t_DataType - is the datatype in of the stream * - p_n - is the number of data to be read * - p_k - is the selection * - p_mem0 - is the first memory port * - p_mem1 - is the second memory port * - p_str - is the output stream .. _doxid-namespacexf_1_1hpc_1_1rtm_1aadd8f66772cd45c9d425e5b2afbf5097: .. _cid-xf::hpc::rtm::streamselmem: streamSelMem ------------ .. code-block:: cpp #include "rtm/dataMover.hpp" .. ref-code-block:: cpp :class: title-code-block template < typename t_InterfaceType, typename t_DataType > void streamSelMem ( unsigned int p_n, unsigned int p_k, t_InterfaceType* p_mem0, t_InterfaceType* p_mem1, hls::stream & p_str ) streamSelMem reads write alternatively to two memory addresses from a stream .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - t_InterfaceType - is the datatype in memory * - t_DataType - is the datatype in of the stream * - p_n - is the number of data to be read * - p_k - is the selection * - p_mem0 - is the first memory port * - p_mem1 - is the second memory port * - p_str - is the input stream .. _doxid-namespacexf_1_1hpc_1_1rtm_1ab1111d3cda752c4b1ebbba9285184a39: .. _cid-xf::hpc::rtm::wide2stream-2: wide2stream ----------- .. code-block:: cpp #include "rtm/dataMover.hpp" .. ref-code-block:: cpp :class: title-code-block template < unsigned int t_DataWidth, unsigned int t_Multi > void wide2stream ( unsigned int p_n, hls::stream >& p_wide, hls::stream >& p_str ) wide2stream converts an integer of wide datawidth to an integer of base datawidth .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - t_DataWidth - is the base datawidth * - t_Multi - is the factor between two datawidth * - p_n - is the number of data to be read * - p_wide - is the input stream of wide datawidth * - p_str - is the output stream of base datawidth .. _doxid-namespacexf_1_1hpc_1_1rtm_1a6fdec1118b75dcf1c19b2b8a414c9bfc: .. _cid-xf::hpc::rtm::stream2wide-2: stream2wide ----------- .. code-block:: cpp #include "rtm/dataMover.hpp" .. ref-code-block:: cpp :class: title-code-block template < unsigned int t_DataWidth, unsigned int t_Multi > void stream2wide ( unsigned int p_n, hls::stream >& p_str, hls::stream >& p_wide ) stream2wide converts an integer of base datawidth to an integer of wide datawidth .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - t_DataWidth - is the base datawidth * - t_Multi - is the factor between two datawidth * - p_n - is the number of data to be read * - p_str - is the input stream of base datawidth * - p_wide - is the output stream of wide datawidth