#!/bin/bash # NOTE purpose of this file is static analysis only # new official preset will be added when new programs are ready PRESET="20221125" function preset_configure() { REQUIRED_UNITS=() # Common Libraries REQUIRED_UNITS+=("angkor" "cwrap" "pepper-str" "pepper-strcast" "pp") REQUIRED_UNITS+=("oops" "pepper-assert" "pepper-csv2vec" "foder" "crew") REQUIRED_UNITS+=("souschef") REQUIRED_UNITS+=("safemain") REQUIRED_UNITS+=("arser") REQUIRED_UNITS+=("vconone") # Hermes Logging Framework REQUIRED_UNITS+=("hermes" "hermes-std") # loco IR and related utilities REQUIRED_UNITS+=("loco" "locop" "locomotiv" "logo-core" "logo") # Flatbuffer I/O REQUIRED_UNITS+=("mio-tflite280" "mio-circle04") # Data I/O REQUIRED_UNITS+=("dio-hdf5") # Compute REQUIRED_UNITS+=("luci-compute") # Circle compiler library (.circle -> .circle) REQUIRED_UNITS+=("luci") # Python interface for circle schema REQUIRED_UNITS+=("pics") # Tools REQUIRED_UNITS+=("tflite2circle" "circle2circle" "tflchef") REQUIRED_UNITS+=("circle-tensordump" "circledump") REQUIRED_UNITS+=("tf2tfliteV2" "luci-interpreter") REQUIRED_UNITS+=("luci-eval-driver") REQUIRED_UNITS+=("record-minmax" "circle-quantizer" "rawdata2hdf5") REQUIRED_UNITS+=("circle-eval-diff" "circle-interpreter") REQUIRED_UNITS+=("circle-partitioner" "circle-operator") REQUIRED_UNITS+=("one-cmds") REQUIRED_UNITS+=("bcq-tools") REQUIRED_UNITS+=("dalgona") REQUIRED_UNITS+=("visq") REQUIRED_UNITS+=("circle-opselector") # Dependent modules needed for build REQUIRED_UNITS+=("circlechef") REQUIRED_UNITS+=("circle-verify") NPROC=${NPROC:-$(cat /proc/cpuinfo | grep -c processor)} # TODO Use "nncc configure" and "nncc build" cmake \ -DCMAKE_INSTALL_PREFIX="${NNCC_INSTALL_PREFIX}" \ -DCMAKE_BUILD_TYPE=release \ -DBUILD_WHITELIST=$(join_by ";" "${REQUIRED_UNITS[@]}") \ -DEXTERNALS_BUILD_THREADS=$((NPROC/2)) \ ${EXTRA_OPTIONS[@]} \ "${NNAS_PROJECT_PATH}/infra/nncc" } function preset_install() { # Install tf2nnpkg install -T -m 755 -D "${SCRIPT_PATH}/res/tf2nnpkg.${PRESET}" "${NNAS_INSTALL_PREFIX}/bin/tf2nnpkg" }