Public Member Functions | Public Attributes | Private Attributes | List of all members
dune::ReorderFacility Class Reference

#include <FelixReordererFacility.hh>

Public Member Functions

 ReorderFacility (bool force_no_avx=false)
 
bool do_reorder (uint8_t *dst, const uint8_t *src, const unsigned num_frames)
 
void do_reorder_start (unsigned num_frames)
 
unsigned reorder_final_size ()
 
bool do_reorder_part (uint8_t *dst, const uint8_t *src, const unsigned frames_start, const unsigned frames_stop, const unsigned num_frames)
 
std::string get_info ()
 

Public Attributes

unsigned m_num_faulty_frames
 
unsigned m_num_frames
 

Private Attributes

bool m_force_no_avx
 

Detailed Description

Definition at line 21 of file FelixReordererFacility.hh.

Constructor & Destructor Documentation

dune::ReorderFacility::ReorderFacility ( bool  force_no_avx = false)
inline

Definition at line 23 of file FelixReordererFacility.hh.

23 : m_force_no_avx(force_no_avx) {}

Member Function Documentation

bool dune::ReorderFacility::do_reorder ( uint8_t *  dst,
const uint8_t *  src,
const unsigned  num_frames 
)
inline

Definition at line 25 of file FelixReordererFacility.hh.

25  {
26  if (m_force_no_avx) {
27  return FelixReorder::do_reorder(dst, src, num_frames,
29  }
31  return FelixReorder::do_avx512_reorder(dst, src, num_frames,
33  }
35  return FelixReorder::do_avx_reorder(dst, src, num_frames,
37  }
38  return FelixReorder::do_reorder(dst, src, num_frames, &m_num_faulty_frames);
39  }
static bool do_avx512_reorder(uint8_t *dst, const uint8_t *src, const unsigned &num_frames, unsigned *num_faulty) noexcept
static const bool avx512_available
static const bool avx_available
static bool do_reorder(uint8_t *dst, const uint8_t *src, const unsigned &num_frames, unsigned *num_faulty) noexcept
METHODS ///.
static bool do_avx_reorder(uint8_t *dst, const uint8_t *src, const unsigned &num_frames, unsigned *num_faulty) noexcept
bool dune::ReorderFacility::do_reorder_part ( uint8_t *  dst,
const uint8_t *  src,
const unsigned  frames_start,
const unsigned  frames_stop,
const unsigned  num_frames 
)
inline

Definition at line 51 of file FelixReordererFacility.hh.

52  {
53  if (m_force_no_avx) {
54  return FelixReorder::do_reorder_part(dst, src, frames_start, frames_stop,
55  num_frames, &m_num_faulty_frames);
56  }
58  return FelixReorder::do_avx512_reorder_part(dst, src, frames_start,
59  frames_stop, num_frames,
61  }
63  return FelixReorder::do_avx_reorder_part(dst, src, frames_start,
64  frames_stop, num_frames,
66  }
67  return FelixReorder::do_reorder_part(dst, src, frames_start, frames_stop,
68  num_frames, &m_num_faulty_frames);
69  }
static bool do_reorder_part(uint8_t *dst, const uint8_t *src, const unsigned frames_start, const unsigned frames_stop, const unsigned &num_frames, unsigned *num_faulty) noexcept
static const bool avx512_available
static const bool avx_available
static bool do_avx512_reorder_part(uint8_t *dst, const uint8_t *src, const unsigned frames_start, const unsigned frames_stop, const unsigned &num_frames, unsigned *num_faulty) noexcept
static bool do_avx_reorder_part(uint8_t *dst, const uint8_t *src, const unsigned frames_start, const unsigned frames_stop, const unsigned &num_frames, unsigned *num_faulty) noexcept
void dune::ReorderFacility::do_reorder_start ( unsigned  num_frames)
inline

Definition at line 41 of file FelixReordererFacility.hh.

41  {
43  m_num_frames = num_frames;
44  }
std::string dune::ReorderFacility::get_info ( )
inline

Definition at line 71 of file FelixReordererFacility.hh.

71  {
72  if (m_force_no_avx) {
73  return "Forced by config to not use AVX.";
74  }
76  return "Going to use AVX512.";
77  }
79  return "Going to use AVX2.";
80  }
81  return "Going to use baseline.";
82  }
static const bool avx512_available
static const bool avx_available
unsigned dune::ReorderFacility::reorder_final_size ( )
inline

Definition at line 46 of file FelixReordererFacility.hh.

46  {
49  }
static unsigned calculate_reordered_size(unsigned num_frames, unsigned num_faulty)

Member Data Documentation

bool dune::ReorderFacility::m_force_no_avx
private

Definition at line 88 of file FelixReordererFacility.hh.

unsigned dune::ReorderFacility::m_num_faulty_frames

Definition at line 84 of file FelixReordererFacility.hh.

unsigned dune::ReorderFacility::m_num_frames

Definition at line 85 of file FelixReordererFacility.hh.


The documentation for this class was generated from the following file: