Add option to specify object classes list file
[tidl/tidl-api.git] / examples / common / utils.cpp
index bc0ab3e88bf95f959859ca6b7aa3fcdc6a26fe1b..04b7b97d6e1f054a1021fa67db55f07f4d29edad 100644 (file)
@@ -39,6 +39,19 @@ using std::istream;
 using std::ostream;
 using std::vector;
 
+
+// Create an Executor with the specified type and number of EOs
+Executor* CreateExecutor(DeviceType dt, int num, const Configuration& c,
+                         int layer_group_id)
+{
+    if (num == 0) return nullptr;
+
+    DeviceIds ids;
+    for (int i = 0; i < num; i++)
+        ids.insert(static_cast<DeviceId>(i));
+
+    return new Executor(dt, ids, c, layer_group_id);
+}
 static bool read_frame_helper(char* ptr, size_t size, istream& input_file);
 
 bool ReadFrame(ExecutionObject*     eo,
@@ -109,26 +122,11 @@ bool WriteFrame(const ExecutionObject* eo, ostream& output_file)
 
 void ReportTime(const ExecutionObject* eo)
 {
-    double elapsed_host   = eo->GetHostProcessTimeInMilliSeconds();
     double elapsed_device = eo->GetProcessTimeInMilliSeconds();
-    double overhead = 100 - (elapsed_device/elapsed_host*100);
 
-    std::cout << format("frame[%3d]: Time on %s: %4.2f ms, host: %4.2f ms"
-                        " API overhead: %2.2f %%\n")
+    std::cout << format("frame[%3d]: Time on %s: %4.2f ms\n")
                         % eo->GetFrameIndex() % eo->GetDeviceName()
-                        % elapsed_device % elapsed_host % overhead;
-}
-
-void ReportTime(const ExecutionObjectPipeline* eop)
-{
-    double elapsed_host   = eop->GetHostProcessTimeInMilliSeconds();
-    double elapsed_device = eop->GetProcessTimeInMilliSeconds();
-    double overhead = 100 - (elapsed_device/elapsed_host*100);
-
-    std::cout << format("frame[%3d]: Time on %s: %4.2f ms, host: %4.2f ms"
-                        " API overhead: %2.2f %%\n")
-                        % eop->GetFrameIndex() % eop->GetDeviceName()
-                        % elapsed_device % elapsed_host % overhead;
+                        % elapsed_device;
 }
 
 // Compare output against reference output
@@ -152,12 +150,6 @@ bool CheckFrame(const ExecutionObjectPipeline *eop, const char *ref_output)
     return false;
 }
 
-
-namespace tidl {
-std::size_t GetBinaryFileSize (const std::string &F);
-bool        ReadBinary        (const std::string &F, char* buffer, int size);
-}
-
 // Read file into a buffer.
 const char* ReadReferenceOutput(const string& name)
 {