This commit is contained in:
HailoRT-Automation
2024-01-31 18:22:00 +02:00
committed by GitHub
parent 35d9282f36
commit e6984f5eab
39 changed files with 66 additions and 46 deletions

View File

@@ -31,7 +31,7 @@ endif()
# Set firmware version # Set firmware version
add_definitions( -DFIRMWARE_VERSION_MAJOR=4 ) add_definitions( -DFIRMWARE_VERSION_MAJOR=4 )
add_definitions( -DFIRMWARE_VERSION_MINOR=16 ) add_definitions( -DFIRMWARE_VERSION_MINOR=16 )
add_definitions( -DFIRMWARE_VERSION_REVISION=0 ) add_definitions( -DFIRMWARE_VERSION_REVISION=1 )
if(HAILO_BUILD_SERVICE) if(HAILO_BUILD_SERVICE)
add_definitions( -DHAILO_SUPPORT_MULTI_PROCESS ) add_definitions( -DHAILO_SUPPORT_MULTI_PROCESS )
endif() endif()

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
set(HAILORT_MAJOR_VERSION 4) set(HAILORT_MAJOR_VERSION 4)
set(HAILORT_MINOR_VERSION 16) set(HAILORT_MINOR_VERSION 16)
set(HAILORT_REVISION_VERSION 0) set(HAILORT_REVISION_VERSION 1)
# Add the cmake folder so the modules there are found # Add the cmake folder so the modules there are found
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})

View File

@@ -8,7 +8,7 @@ if(NOT CMAKE_HOST_UNIX)
message(FATAL_ERROR "Only unix hosts are supported, stopping build") message(FATAL_ERROR "Only unix hosts are supported, stopping build")
endif() endif()
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
# GST_PLUGIN_DEFINE needs PACKAGE to be defined # GST_PLUGIN_DEFINE needs PACKAGE to be defined
set(GST_HAILO_PACKAGE_NAME "hailo") set(GST_HAILO_PACKAGE_NAME "hailo")

View File

@@ -50,6 +50,7 @@ enum
PROP_NMS_IOU_THRESHOLD, PROP_NMS_IOU_THRESHOLD,
PROP_NMS_MAX_PROPOSALS_PER_CLASS, PROP_NMS_MAX_PROPOSALS_PER_CLASS,
PROP_INPUT_FROM_META, PROP_INPUT_FROM_META,
PROP_NO_TRANSFORM,
PROP_MULTI_PROCESS_SERVICE, PROP_MULTI_PROCESS_SERVICE,
// Deprecated // Deprecated
@@ -269,20 +270,22 @@ static hailo_status gst_hailonet2_configure(GstHailoNet2 *self)
// In RGB formats, Gstreamer is padding each row to 4. // In RGB formats, Gstreamer is padding each row to 4.
for (const auto &input_name : self->infer_model->get_input_names()) { for (const auto &input_name : self->infer_model->get_input_names()) {
// TODO (HRT-12492): change transformations to be togglable if(self->props.m_no_transform.get()) {
if (self->props.m_input_from_meta.get()) { // In case transformation is disabled - format order will be the same as we get from the HW (stream info).
// do not apply transformations when taking input from meta auto input_stream_infos = self->infer_model->hef().get_stream_info_by_name(input_name, HAILO_H2D_STREAM);
self->infer_model->input(input_name)->set_format_order(HAILO_FORMAT_ORDER_NHCW); CHECK_EXPECTED_AS_STATUS(input_stream_infos);
self->infer_model->input(input_name)->set_format_order(input_stream_infos.value().format.order);
} else if (self->infer_model->input(input_name)->format().order == HAILO_FORMAT_ORDER_NHWC) { } else if (self->infer_model->input(input_name)->format().order == HAILO_FORMAT_ORDER_NHWC) {
self->infer_model->input(input_name)->set_format_order(HAILO_FORMAT_ORDER_RGB4); self->infer_model->input(input_name)->set_format_order(HAILO_FORMAT_ORDER_RGB4);
} }
} }
if (self->props.m_input_from_meta.get()) { if (self->props.m_no_transform.get()) {
for (const auto &output_name : self->infer_model->get_output_names()) { for (const auto &output_name : self->infer_model->get_output_names()) {
// TODO (HRT-12492): change transformations to be togglable // In case transformation is disabled - format order will be the same as we get from the HW (stream info).
// do not apply transformations when taking output to meta auto output_stream_infos = self->infer_model->hef().get_stream_info_by_name(output_name, HAILO_D2H_STREAM);
self->infer_model->output(output_name)->set_format_order(HAILO_FORMAT_ORDER_NHCW); CHECK_EXPECTED_AS_STATUS(output_stream_infos);
self->infer_model->output(output_name)->set_format_order(output_stream_infos.value().format.order);
} }
} }
@@ -567,6 +570,12 @@ static void gst_hailonet2_set_property(GObject *object, guint property_id, const
} }
self->props.m_input_from_meta = g_value_get_boolean(value); self->props.m_input_from_meta = g_value_get_boolean(value);
break; break;
case PROP_NO_TRANSFORM:
if (self->is_configured) {
g_warning("The network was already configured so disabling the transformation will not take place!");
}
self->props.m_no_transform = g_value_get_boolean(value);
break;
case PROP_MULTI_PROCESS_SERVICE: case PROP_MULTI_PROCESS_SERVICE:
if (self->is_configured) { if (self->is_configured) {
g_warning("The network was already configured so changing the multi-process-service property will not take place!"); g_warning("The network was already configured so changing the multi-process-service property will not take place!");
@@ -647,6 +656,9 @@ static void gst_hailonet2_get_property(GObject *object, guint property_id, GValu
case PROP_INPUT_FROM_META: case PROP_INPUT_FROM_META:
g_value_set_boolean(value, self->props.m_input_from_meta.get()); g_value_set_boolean(value, self->props.m_input_from_meta.get());
break; break;
case PROP_NO_TRANSFORM:
g_value_set_boolean(value, self->props.m_no_transform.get());
break;
case PROP_MULTI_PROCESS_SERVICE: case PROP_MULTI_PROCESS_SERVICE:
g_value_set_boolean(value, self->props.m_multi_process_service.get()); g_value_set_boolean(value, self->props.m_multi_process_service.get());
break; break;
@@ -746,6 +758,9 @@ static void gst_hailonet2_class_init(GstHailoNet2Class *klass)
g_object_class_install_property(gobject_class, PROP_INPUT_FROM_META, g_object_class_install_property(gobject_class, PROP_INPUT_FROM_META,
g_param_spec_boolean("input-from-meta", "Enable input from meta", "Take network input from metadata instead of video frame.", false, g_param_spec_boolean("input-from-meta", "Enable input from meta", "Take network input from metadata instead of video frame.", false,
(GParamFlags)(G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); (GParamFlags)(G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
g_object_class_install_property(gobject_class, PROP_NO_TRANSFORM,
g_param_spec_boolean("no-transform", "Disable transformations", "Format will remain the same as the HW format.", false,
(GParamFlags)(G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
g_object_class_install_property(gobject_class, PROP_NMS_SCORE_THRESHOLD, g_object_class_install_property(gobject_class, PROP_NMS_SCORE_THRESHOLD,
g_param_spec_float("nms-score-threshold", "NMS score threshold", "Threshold used for filtering out candidates. Any box with score<TH is suppressed.", g_param_spec_float("nms-score-threshold", "NMS score threshold", "Threshold used for filtering out candidates. Any box with score<TH is suppressed.",

View File

@@ -72,7 +72,7 @@ public:
m_scheduler_threshold(HAILO_DEFAULT_SCHEDULER_THRESHOLD), m_scheduler_priority(HAILO_SCHEDULER_PRIORITY_NORMAL), m_scheduler_threshold(HAILO_DEFAULT_SCHEDULER_THRESHOLD), m_scheduler_priority(HAILO_SCHEDULER_PRIORITY_NORMAL),
m_input_format_type(HAILO_FORMAT_TYPE_AUTO), m_output_format_type(HAILO_FORMAT_TYPE_AUTO), m_input_format_type(HAILO_FORMAT_TYPE_AUTO), m_output_format_type(HAILO_FORMAT_TYPE_AUTO),
m_nms_score_threshold(0), m_nms_iou_threshold(0), m_nms_max_proposals_per_class(0), m_input_from_meta(false), m_nms_score_threshold(0), m_nms_iou_threshold(0), m_nms_max_proposals_per_class(0), m_input_from_meta(false),
m_multi_process_service(HAILO_DEFAULT_MULTI_PROCESS_SERVICE), m_no_transform(false), m_multi_process_service(HAILO_DEFAULT_MULTI_PROCESS_SERVICE),
m_vdevice_key(DEFAULT_VDEVICE_KEY) m_vdevice_key(DEFAULT_VDEVICE_KEY)
{} {}
@@ -107,6 +107,7 @@ public:
HailoElemProperty<gfloat> m_nms_iou_threshold; HailoElemProperty<gfloat> m_nms_iou_threshold;
HailoElemProperty<guint32> m_nms_max_proposals_per_class; HailoElemProperty<guint32> m_nms_max_proposals_per_class;
HailoElemProperty<gboolean> m_input_from_meta; HailoElemProperty<gboolean> m_input_from_meta;
HailoElemProperty<gboolean> m_no_transform;
HailoElemProperty<gboolean> m_multi_process_service; HailoElemProperty<gboolean> m_multi_process_service;
// Deprecated // Deprecated

View File

@@ -1488,7 +1488,7 @@ class HailoFormatFlags(_pyhailort.FormatFlags):
SUPPORTED_PROTOCOL_VERSION = 2 SUPPORTED_PROTOCOL_VERSION = 2
SUPPORTED_FW_MAJOR = 4 SUPPORTED_FW_MAJOR = 4
SUPPORTED_FW_MINOR = 16 SUPPORTED_FW_MINOR = 16
SUPPORTED_FW_REVISION = 0 SUPPORTED_FW_REVISION = 1
MEGA_MULTIPLIER = 1000.0 * 1000.0 MEGA_MULTIPLIER = 1000.0 * 1000.0

View File

@@ -69,6 +69,6 @@ if __name__ == "__main__":
"linux_aarch64", "linux_aarch64",
], ],
url="https://hailo.ai/", url="https://hailo.ai/",
version="4.16.0", version="4.16.1",
zip_safe=False, zip_safe=False,
) )

View File

@@ -49,7 +49,7 @@ set_target_properties(_pyhailort PROPERTIES
# VISIBILITY_INLINES_HIDDEN YES # VISIBILITY_INLINES_HIDDEN YES
) )
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
target_link_libraries(_pyhailort PRIVATE HailoRT::libhailort) target_link_libraries(_pyhailort PRIVATE HailoRT::libhailort)
if(WIN32) if(WIN32)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
SET_SOURCE_FILES_PROPERTIES(data_quantization_example.c PROPERTIES LANGUAGE C) SET_SOURCE_FILES_PROPERTIES(data_quantization_example.c PROPERTIES LANGUAGE C)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
SET_SOURCE_FILES_PROPERTIES(infer_pipeline_example.c PROPERTIES LANGUAGE C) SET_SOURCE_FILES_PROPERTIES(infer_pipeline_example.c PROPERTIES LANGUAGE C)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
SET_SOURCE_FILES_PROPERTIES(multi_device_example.c PROPERTIES LANGUAGE C) SET_SOURCE_FILES_PROPERTIES(multi_device_example.c PROPERTIES LANGUAGE C)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
SET_SOURCE_FILES_PROPERTIES(multi_network_vstream_example.c PROPERTIES LANGUAGE C) SET_SOURCE_FILES_PROPERTIES(multi_network_vstream_example.c PROPERTIES LANGUAGE C)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
SET_SOURCE_FILES_PROPERTIES(notification_callback_example.c PROPERTIES LANGUAGE C) SET_SOURCE_FILES_PROPERTIES(notification_callback_example.c PROPERTIES LANGUAGE C)

View File

@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.0.0) cmake_minimum_required(VERSION 3.0.0)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
SET_SOURCE_FILES_PROPERTIES(power_measurement_example.c PROPERTIES LANGUAGE C) SET_SOURCE_FILES_PROPERTIES(power_measurement_example.c PROPERTIES LANGUAGE C)

View File

@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.0.0) cmake_minimum_required(VERSION 3.0.0)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
SET_SOURCE_FILES_PROPERTIES(raw_async_streams_single_thread_example.c PROPERTIES LANGUAGE C) SET_SOURCE_FILES_PROPERTIES(raw_async_streams_single_thread_example.c PROPERTIES LANGUAGE C)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
SET_SOURCE_FILES_PROPERTIES(raw_streams_example.c PROPERTIES LANGUAGE C) SET_SOURCE_FILES_PROPERTIES(raw_streams_example.c PROPERTIES LANGUAGE C)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
SET_SOURCE_FILES_PROPERTIES(switch_network_groups_example.c PROPERTIES LANGUAGE C) SET_SOURCE_FILES_PROPERTIES(switch_network_groups_example.c PROPERTIES LANGUAGE C)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
SET_SOURCE_FILES_PROPERTIES(switch_network_groups_manually_example.c PROPERTIES LANGUAGE C) SET_SOURCE_FILES_PROPERTIES(switch_network_groups_manually_example.c PROPERTIES LANGUAGE C)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
SET_SOURCE_FILES_PROPERTIES(vstreams_example.c PROPERTIES LANGUAGE C) SET_SOURCE_FILES_PROPERTIES(vstreams_example.c PROPERTIES LANGUAGE C)

View File

@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.0.0) cmake_minimum_required(VERSION 3.0.0)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
add_executable(cpp_async_infer_example async_infer_example.cpp) add_executable(cpp_async_infer_example async_infer_example.cpp)
target_link_libraries(cpp_async_infer_example PRIVATE HailoRT::libhailort) target_link_libraries(cpp_async_infer_example PRIVATE HailoRT::libhailort)

View File

@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.0.0) cmake_minimum_required(VERSION 3.0.0)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
add_executable(cpp_async_infer_functionality_example async_infer_functionality_example.cpp) add_executable(cpp_async_infer_functionality_example async_infer_functionality_example.cpp)
target_link_libraries(cpp_async_infer_functionality_example PRIVATE HailoRT::libhailort) target_link_libraries(cpp_async_infer_functionality_example PRIVATE HailoRT::libhailort)

View File

@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.0.0) cmake_minimum_required(VERSION 3.0.0)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
add_executable(cpp_infer_pipeline_example infer_pipeline_example.cpp) add_executable(cpp_infer_pipeline_example infer_pipeline_example.cpp)
target_link_libraries(cpp_infer_pipeline_example PRIVATE HailoRT::libhailort) target_link_libraries(cpp_infer_pipeline_example PRIVATE HailoRT::libhailort)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
add_executable(cpp_multi_device_example multi_device_example.cpp) add_executable(cpp_multi_device_example multi_device_example.cpp)
target_link_libraries(cpp_multi_device_example PRIVATE HailoRT::libhailort Threads::Threads) target_link_libraries(cpp_multi_device_example PRIVATE HailoRT::libhailort Threads::Threads)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
add_executable(cpp_multi_network_vstream_example multi_network_vstream_example.cpp) add_executable(cpp_multi_network_vstream_example multi_network_vstream_example.cpp)
target_link_libraries(cpp_multi_network_vstream_example PRIVATE HailoRT::libhailort Threads::Threads) target_link_libraries(cpp_multi_network_vstream_example PRIVATE HailoRT::libhailort Threads::Threads)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
add_executable(cpp_multi_process_example multi_process_example.cpp) add_executable(cpp_multi_process_example multi_process_example.cpp)
target_link_libraries(cpp_multi_process_example PRIVATE HailoRT::libhailort Threads::Threads) target_link_libraries(cpp_multi_process_example PRIVATE HailoRT::libhailort Threads::Threads)

View File

@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.0.0) cmake_minimum_required(VERSION 3.0.0)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
add_executable(cpp_notification_callback_example notification_callback_example.cpp) add_executable(cpp_notification_callback_example notification_callback_example.cpp)
target_link_libraries(cpp_notification_callback_example PRIVATE HailoRT::libhailort) target_link_libraries(cpp_notification_callback_example PRIVATE HailoRT::libhailort)

View File

@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.0.0) cmake_minimum_required(VERSION 3.0.0)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
add_executable(cpp_power_measurement_example power_measurement_example.cpp) add_executable(cpp_power_measurement_example power_measurement_example.cpp)
target_link_libraries(cpp_power_measurement_example PRIVATE HailoRT::libhailort) target_link_libraries(cpp_power_measurement_example PRIVATE HailoRT::libhailort)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
add_executable(cpp_raw_async_streams_multi_thread_example raw_async_streams_multi_thread_example.cpp) add_executable(cpp_raw_async_streams_multi_thread_example raw_async_streams_multi_thread_example.cpp)
target_link_libraries(cpp_raw_async_streams_multi_thread_example PRIVATE HailoRT::libhailort Threads::Threads) target_link_libraries(cpp_raw_async_streams_multi_thread_example PRIVATE HailoRT::libhailort Threads::Threads)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
add_executable(cpp_raw_async_streams_single_thread_example raw_async_streams_single_thread_example.cpp) add_executable(cpp_raw_async_streams_single_thread_example raw_async_streams_single_thread_example.cpp)
target_link_libraries(cpp_raw_async_streams_single_thread_example PRIVATE HailoRT::libhailort Threads::Threads) target_link_libraries(cpp_raw_async_streams_single_thread_example PRIVATE HailoRT::libhailort Threads::Threads)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
add_executable(cpp_raw_streams_example raw_streams_example.cpp) add_executable(cpp_raw_streams_example raw_streams_example.cpp)
target_link_libraries(cpp_raw_streams_example PRIVATE HailoRT::libhailort Threads::Threads) target_link_libraries(cpp_raw_streams_example PRIVATE HailoRT::libhailort Threads::Threads)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
add_executable(cpp_switch_network_groups_example switch_network_groups_example.cpp) add_executable(cpp_switch_network_groups_example switch_network_groups_example.cpp)
target_link_libraries(cpp_switch_network_groups_example PRIVATE HailoRT::libhailort Threads::Threads) target_link_libraries(cpp_switch_network_groups_example PRIVATE HailoRT::libhailort Threads::Threads)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
add_executable(cpp_switch_network_groups_manually_example switch_network_groups_manually_example.cpp) add_executable(cpp_switch_network_groups_manually_example switch_network_groups_manually_example.cpp)
target_link_libraries(cpp_switch_network_groups_manually_example PRIVATE HailoRT::libhailort Threads::Threads) target_link_libraries(cpp_switch_network_groups_manually_example PRIVATE HailoRT::libhailort Threads::Threads)

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0.0)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(HailoRT 4.16.0 EXACT REQUIRED) find_package(HailoRT 4.16.1 EXACT REQUIRED)
add_executable(cpp_vstreams_example vstreams_example.cpp) add_executable(cpp_vstreams_example vstreams_example.cpp)
target_link_libraries(cpp_vstreams_example PRIVATE HailoRT::libhailort Threads::Threads) target_link_libraries(cpp_vstreams_example PRIVATE HailoRT::libhailort Threads::Threads)

View File

@@ -223,7 +223,8 @@ VDeviceClient::VDeviceClient(std::unique_ptr<HailoRtRpcClient> client, VDeviceId
m_client(std::move(client)), m_client(std::move(client)),
m_identifier(std::move(identifier)), m_identifier(std::move(identifier)),
m_devices(std::move(devices)), m_devices(std::move(devices)),
m_is_listener_thread_running(false) m_is_listener_thread_running(false),
m_should_use_listener_thread(false)
{} {}
VDeviceClient::~VDeviceClient() VDeviceClient::~VDeviceClient()
@@ -288,6 +289,7 @@ hailo_status VDeviceClient::after_fork_in_parent()
hailo_status VDeviceClient::after_fork_in_child() hailo_status VDeviceClient::after_fork_in_child()
{ {
HailoRtRpcClientUtils::get_instance().after_fork_in_child(); HailoRtRpcClientUtils::get_instance().after_fork_in_child();
auto listener_status = start_listener_thread(m_identifier); auto listener_status = start_listener_thread(m_identifier);
CHECK_SUCCESS(listener_status); CHECK_SUCCESS(listener_status);
@@ -347,6 +349,7 @@ Expected<ConfiguredNetworkGroupVector> VDeviceClient::configure(Hef &hef,
// Init listener thread only in case configure happens with async api // Init listener thread only in case configure happens with async api
if ((configure_params.size() > 0) && if ((configure_params.size() > 0) &&
configure_params.begin()->second.stream_params_by_name.begin()->second.flags == HAILO_STREAM_FLAGS_ASYNC) { configure_params.begin()->second.stream_params_by_name.begin()->second.flags == HAILO_STREAM_FLAGS_ASYNC) {
m_should_use_listener_thread = true;
auto init_status = start_listener_thread(m_identifier); auto init_status = start_listener_thread(m_identifier);
CHECK_SUCCESS_AS_EXPECTED(init_status); CHECK_SUCCESS_AS_EXPECTED(init_status);
} }
@@ -356,7 +359,7 @@ Expected<ConfiguredNetworkGroupVector> VDeviceClient::configure(Hef &hef,
hailo_status VDeviceClient::start_listener_thread(VDeviceIdentifier identifier) hailo_status VDeviceClient::start_listener_thread(VDeviceIdentifier identifier)
{ {
if (m_is_listener_thread_running) { if (!m_should_use_listener_thread || m_is_listener_thread_running) {
return HAILO_SUCCESS; return HAILO_SUCCESS;
} }

View File

@@ -179,6 +179,7 @@ private:
AsyncThreadPtr<hailo_status> m_cb_listener_thread; AsyncThreadPtr<hailo_status> m_cb_listener_thread;
std::atomic_bool m_is_listener_thread_running; std::atomic_bool m_is_listener_thread_running;
std::atomic_bool m_should_use_listener_thread; // True only on async inference
}; };
#endif // HAILO_SUPPORT_MULTI_PROCESS #endif // HAILO_SUPPORT_MULTI_PROCESS

View File

@@ -2,7 +2,7 @@
@ECHO OFF @ECHO OFF
set BASE_URI=https://hailo-hailort.s3.eu-west-2.amazonaws.com set BASE_URI=https://hailo-hailort.s3.eu-west-2.amazonaws.com
set HRT_VERSION=4.16.0 set HRT_VERSION=4.16.1
set FW_DIR=Hailo8/%HRT_VERSION%/FW set FW_DIR=Hailo8/%HRT_VERSION%/FW
set FW=hailo8_fw.%HRT_VERSION%_eth.bin set FW=hailo8_fw.%HRT_VERSION%_eth.bin

View File

@@ -2,7 +2,7 @@
set -e set -e
readonly BASE_URI="https://hailo-hailort.s3.eu-west-2.amazonaws.com" readonly BASE_URI="https://hailo-hailort.s3.eu-west-2.amazonaws.com"
readonly HRT_VERSION=4.16.0 readonly HRT_VERSION=4.16.1
readonly FW_AWS_DIR="Hailo8/${HRT_VERSION}/FW" readonly FW_AWS_DIR="Hailo8/${HRT_VERSION}/FW"
readonly FW="hailo8_fw.${HRT_VERSION}_eth.bin" readonly FW="hailo8_fw.${HRT_VERSION}_eth.bin"

View File

@@ -1,7 +1,7 @@
:: cmd :: cmd
@ECHO OFF @ECHO OFF
set BASE_URI=https://hailo-hailort.s3.eu-west-2.amazonaws.com set BASE_URI=https://hailo-hailort.s3.eu-west-2.amazonaws.com
set HRT_VERSION=4.16.0 set HRT_VERSION=4.16.1
set REMOTE_HEF_DIR=Hailo8/%HRT_VERSION%/HEFS set REMOTE_HEF_DIR=Hailo8/%HRT_VERSION%/HEFS
set LOCAL_EXAMPLES_HEF_DIR=..\libhailort\examples\hefs set LOCAL_EXAMPLES_HEF_DIR=..\libhailort\examples\hefs
set LOCAL_TUTORIALS_HEF_DIR=..\libhailort\bindings\python\platform\hailo_tutorials\hefs set LOCAL_TUTORIALS_HEF_DIR=..\libhailort\bindings\python\platform\hailo_tutorials\hefs

View File

@@ -2,7 +2,7 @@
set -e set -e
readonly BASE_URI="https://hailo-hailort.s3.eu-west-2.amazonaws.com" readonly BASE_URI="https://hailo-hailort.s3.eu-west-2.amazonaws.com"
readonly HRT_VERSION=4.16.0 readonly HRT_VERSION=4.16.1
readonly REMOTE_HEF_DIR="Hailo8/${HRT_VERSION}/HEFS" readonly REMOTE_HEF_DIR="Hailo8/${HRT_VERSION}/HEFS"
readonly LOCAL_EXAMPLES_HEF_DIR="../libhailort/examples/hefs" readonly LOCAL_EXAMPLES_HEF_DIR="../libhailort/examples/hefs"
readonly LOCAL_TUTORIALS_HEF_DIR="../libhailort/bindings/python/platform/hailo_tutorials/hefs" readonly LOCAL_TUTORIALS_HEF_DIR="../libhailort/bindings/python/platform/hailo_tutorials/hefs"