template class xf::hpc::rtm::Domain3D

#include "domain3d.hpp"

Overview

Domain3D class used to partition the pressure field to maximize the kernel performance.

Parameters:

t_HalfOrder the half spatial discretization order
t_MaxDimZ the maximum dim along z-axis the kernel can process
t_MaxDimY the maximum dim along y-axis the kernel can process
t_PEZ the number of processing elements along z-axis
t_PEX the number of processing elements along x-axis
t_NumSM the number of streaming modules in the kernel
template <
    int t_MaxDimZ,
    int t_MaxDimY,
    int t_HalfOrder,
    int t_PEZ,
    int t_PEX,
    int t_NumSM
    >
class Domain3D

// fields

static const int s_DimExt
unsigned int m_x
unsigned int m_y
unsigned int m_z
unsigned int m_dataCoo
unsigned int m_dataDim
unsigned int m_extCoo
unsigned int m_extDim

Methods

mem2stream

template <typename t_InterfaceType>
void mem2stream (
    const t_InterfaceType* p_mem,
    hls::stream <t_InterfaceType>& p_str
    ) const

mem2stream reads data memory to a stream

Parameters:

t_InterfaceType the datatype in memory
p_mem the first memory port
p_str the output stream

stream2mem

template <typename t_InterfaceType>
void stream2mem (
    hls::stream <t_InterfaceType>& p_str,
    t_InterfaceType* p_mem
    ) const

stream2mem reads write alternatively to two memory addresses from a stream

Parameters:

t_InterfaceType the datatype in memory
p_mem the first memory port
p_str the input stream

memSelStream

template <typename t_InterfaceType>
void memSelStream (
    const bool p_sel,
    const t_InterfaceType* p_mem0,
    const t_InterfaceType* p_mem1,
    hls::stream <t_InterfaceType>& p_str
    ) const

mem2stream reads data memory to a stream

Parameters:

t_InterfaceType the datatype in memory
p_sel the signal to select read port
p_mem0 the first memory port
p_mem1 the second memory port
p_str the output stream

streamSelMem

template <typename t_InterfaceType>
void streamSelMem (
    const bool p_sel,
    hls::stream <t_InterfaceType>& p_str,
    t_InterfaceType* p_mem0,
    t_InterfaceType* p_mem1
    ) const

stream2mem reads write alternatively to two memory addresses from a stream

Parameters:

t_InterfaceType the datatype in memory *
p_sel the signal to select read port
p_mem0 the first memory port
p_mem1 the second memory port
p_str the input stream