Next-generation tracing for CV workflows

January 11, 2023
 · 
3 min read
Featured Image

Advances in computer vision and AI platforms and frameworks continue to make it easier for “non-experts” to build vision solutions. While a proof-of-concept is relatively easy to accomplish in many cases, inexperienced engineers can quickly get in over their head when it comes to building production quality and scalable applications.

In most cases, the primary focus is on the algorithm or network training and accuracy performance. There are so many more components that need to be understood and taken into account for a complete application-level performance review.

One of the things that vision engineers struggle with is understanding how application behavior impacts the things that are important to them. For example, network packet loss can tank accuracy, and machine-local CPU contention can bottleneck throughput.

Unfortunately, drop-in support for application-level profiling is markedly absent from most AI/ML libraries.

FØCAL is working to change that.

FØCAL Computer Vision Tracing

Today we’re releasing our first contribution in the form of a dev-ready distribution of LTTng — “Linux Tracing Toolkit, next generation”

First, let me just take a moment to give all credit to the LTTng project. The core dev team is a group of world-class system profiling ninjas with an incredible codebase under them. They’ve successfully tied a bunch of Linux cats together, put them under one roof, AND made them high-performance. Check out their academic cred if you need further proof of pedigree. Bottom line: LTTng is the way forward.

You can consume the LTTng code however you want — it’s FOSS after all — but FØCAL has chosen to repackage it with Conan because, frankly, that’s how system engineers will want it.

If you’re not familiar with Conan, it’s a peer-based (think `git`-like) binary package manager that’s specialized for development workflows. Unlike `apt` or `yum`, `conan` packages are sandboxed by default.

Don’t like how something was compiled? Conan will rebuild it from source, with zero additional work for the end user.

Conan provides the ease-of-use of `pip` but for C++, and we’ll be leveraging it heavily for our code releases going forward. There’s already a community-maintained OpenCV package available via Conan and we suggest everyone start using it.

Quick start

LLTng Conan package is currently only supported on Linux.

python3 -m venv _venv
source _venv/bin/activate
pip install --upgrade pip
pip install conan
conan remote add f0cal https://api.bintray.com/conan/f0cal/conan
conan install lttng-ust/2.10@f0cal/testing
conan install lttng-tools/2.10@f0cal/testing

What’s Next

In the coming weeks, look out for our next Conan package drop: A fork of the community OpenCV recipe with LTTng tracing support built right in!

Visit www.f0cal.com and subscribe to keep up with the latest announcements.

logo_bxg-1

Home
Benefits
Pricing
Blog

© 2023 RAMRAY, LLC.

Boston, MA
info@ramray.io