.. _building_pipelines: Developing End-to-End Applications on MLSoC ########################################### This guide aims to assist developers in building applications on an MLSoC (System on Chip) by leveraging its specialized hardware capabilities. It provides a structured approach to porting applications from traditional x86/Mac architectures to SiMa.ai's MLSoC environment, debugging and testing with GStreamer for high performance and efficiency. This guide focuses on porting a classification application to run optimized for MLSoC. Advanced sections will focus on how to communicate with external systems, camera inputs, video decode/encode, etc. What you will learn =================== * How to integrate a model compiled for SiMa.ai's MLA into an application and run inference * What graphs and capabilities are available for the EV74 DSP to be used with pre and post-processing * What hardware-accelerated APIs, libraries and plugins are available to build an application with the MLSoC * How to develop end-to-end pipelines using Python and Gstreamer on the MLSoC Prerequisites ============= .. list-table:: :widths: 21 79 :header-rows: 1 * - Requirement Type - Requirement Details * - Palette and MLSOC Firmware - - Palette: |var_palette_reqs_version| - MLSoC Firmware: |var_palette_reqs_mlsoc_fw_version| Development environment setup ============================= * On your host development machine, follow the instructions to ensure Palette is fully installed by following the Palette :ref:`palette installation` guide. * Have an MLSoC device or development kit available with the latest firmware installed as specified in the prerequisites. * Have ``ssh`` access to the development kit set up. Development journey =================== When developing applications, it is recommended to follow to main steps: #. Develop a GStreamer pipeline using ``gst-launch`` to debug the application and build it step by step. #. Once the application is working as expect it, create an MPK project to package it as an ``mpk`` and be able to deploy to any MLSoC device. .. toctree:: :maxdepth: 1 :caption: Contents: developing_gstreamer_apps/main.rst developing_gstreamer_apps/hw_sw_overview.rst developing_gstreamer_apps/ml_app_overview.rst developing_gstreamer_apps/reference_app.rst developing_gstreamer_apps/modelsdk_compile.rst developing_gstreamer_apps/gstreamer_app_overview.rst developing_gstreamer_apps/compiling_plugins.rst developing_gstreamer_apps/gstreamer_inputsrc_a65.rst developing_gstreamer_apps/gstreamer_preproc_cvu.rst developing_gstreamer_apps/gstreamer_inference_mla.rst developing_gstreamer_apps/gstreamer_postproc_cvu.rst developing_gstreamer_apps/gstreamer_argmaxprint.rst developing_mpk_apps/developing_mpk_app.rst