My Project
basicparallel.hpp
1 
20 #ifndef _BASICPARALLEL_HPP_
21 #define _BASICPARALLEL_HPP_ 1
22 
23 
24 #include "kernel.hpp"
25 #include "port_info.hpp"
26 #include "fifo.hpp"
27 #include "allocate.hpp"
28 #include "schedule.hpp"
29 #include <set>
30 #include <iostream>
31 
32 class Map;
33 
35 struct stats
36 {
37  std::uint16_t occ_in = 0;
38  float service_rate = static_cast< float >( 0 );
39  friend std::ostream& operator << ( std::ostream &stream, stats &s )
40  {
41  stream << "occupancy count: " << s.occ_in << "\n";
42  stream << "service rate: " << s.service_rate << "\n";
43  return( stream );
44  }
45 };
46 
47 
49 {
50 public:
51  basic_parallel( Map &map,
52  Allocate &alloc,
53  Schedule &sched,
54  volatile bool &exit_para );
55 
56  virtual ~basic_parallel() = default;
57  virtual void start();
58 
59 
60 protected:
62  kernelkeeper &source_kernels;
63  kernelkeeper &all_kernels;
64  Allocate &alloc;
65  Schedule &sched;
66  volatile bool &exit_para;
67 };
68 
69 #endif /* END _BASICPARALLEL_HPP_ */
basic_parallel(Map &map, Allocate &alloc, Schedule &sched, volatile bool &exit_para)
Definition: basicparallel.cpp:29
Definition: basicparallel.hpp:48
virtual void start()
Definition: basicparallel.cpp:44
Definition: map.hpp:47
Definition: allocate.hpp:54
Definition: basicparallel.hpp:35
Definition: schedule.hpp:34
kernelkeeper & source_kernels
Definition: basicparallel.hpp:62