GStreamer parallel inference

Thank you for your reply. It might be the issue that I ran multiple pipelines in the same process, which is why I did not need the service.

In order to run multiple pipelines in multiple processes I wrote a yocto recipe for hailort_service, since I couldn’t find any in meta-hailo.

Here are my files in case other people are having the same issue.
(tested on kirkstone)
hailortservice_4.17.1.bb

DESCRIPTION = "hailort_service - Multi-Process Service enables the ability to manage and share a \
               Hailo device between multiple processes, thus providing the ability to use multi-process inference"

LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://hailort/LICENSE;md5=48b1c947c88868c23e4fb874890be6fc \
                    file://hailort/LICENSE-3RD-PARTY.md;md5=f491a052559dbcdae697362cd5a13c96"

SRC_URI = "git://[email protected]/hailo-ai/hailort.git;protocol=https;branch=master"
SRCREV = "e2190aeda847ab22057d162d08b516c39ac36ab8"

S = "${WORKDIR}/git"

inherit systemd
inherit hailort-base
inherit cmake

EXTRA_OECMAKE += "-DHAILO_BUILD_SERVICE=1"

RDEPENDS:${PN} += "libhailort"
OECMAKE_TARGET_COMPILE = "hailort_service"
SYSTEMD_SERVICE:${PN} = "hailort.service"

do_install:append() {

    install -d ${D}${systemd_unitdir}/system
    install -m 0644 ${S}/hailort/hailort_service/hailort.service ${D}${systemd_unitdir}/system/

    install -d ${D}/etc/default/
    install -m 0644 ${S}/hailort/hailort_service/hailort_service ${D}/etc/default/

    echo "d /var/log/hailo 0755 - - -" > ${S}/hailortservice.conf

    install -d ${D}/usr/lib/tmpfiles.d/
    install -m 0644 ${S}/hailortservice.conf ${D}/usr/lib/tmpfiles.d/

    install -d ${D}/usr/local/bin
    install -m 0755 ${S}/../bin/hailort_service ${D}/usr/local/bin
}

FILES:${PN} += " \
  ${base_libdir}/systemd \
  /usr/local/bin/hailort_service \
  /etc/default/hailort_service \
  /usr/lib/tmpfiles.d/hailortservice.conf \
    "

and libhailort_%.bbappend

EXTRA_OECMAKE += "-DHAILO_BUILD_SERVICE=1"
2 Likes