3 # NOTE purpose of this file is static analysis only
4 # new official preset will be added when new programs are ready
8 function preset_configure()
12 REQUIRED_UNITS+=("angkor" "cwrap" "pepper-str" "pepper-strcast" "pp")
13 REQUIRED_UNITS+=("oops" "pepper-assert" "pepper-csv2vec" "foder" "crew")
14 REQUIRED_UNITS+=("souschef")
15 REQUIRED_UNITS+=("safemain")
16 REQUIRED_UNITS+=("arser")
17 REQUIRED_UNITS+=("vconone")
18 # Hermes Logging Framework
19 REQUIRED_UNITS+=("hermes" "hermes-std")
20 # loco IR and related utilities
21 REQUIRED_UNITS+=("loco" "locop" "locomotiv" "logo-core" "logo")
23 REQUIRED_UNITS+=("mio-tflite" "mio-tflite260" "mio-circle")
24 # Circle compiler library (.circle -> .circle)
25 REQUIRED_UNITS+=("luci")
27 REQUIRED_UNITS+=("tflite2circle" "circle2circle" "tflchef" "circlechef")
28 REQUIRED_UNITS+=("circle-tensordump" "circledump")
29 REQUIRED_UNITS+=("tf2tfliteV2" "luci-interpreter" "circle-verify")
30 REQUIRED_UNITS+=("luci-eval-driver")
31 REQUIRED_UNITS+=("record-minmax" "circle-quantizer" "rawdata2hdf5")
32 REQUIRED_UNITS+=("circle-partitioner")
33 REQUIRED_UNITS+=("one-cmds")
34 REQUIRED_UNITS+=("bcq-tools")
36 NPROC=${NPROC:-$(cat /proc/cpuinfo | grep -c processor)}
38 # TODO Use "nncc configure" and "nncc build"
40 -DCMAKE_INSTALL_PREFIX="${NNCC_INSTALL_PREFIX}" \
41 -DCMAKE_BUILD_TYPE=release \
42 -DBUILD_WHITELIST=$(join_by ";" "${REQUIRED_UNITS[@]}") \
43 -DEXTERNALS_BUILD_THREADS=$((NPROC/2)) \
45 "${NNAS_PROJECT_PATH}/infra/nncc"
48 function preset_install()
50 install -t "${NNPKG_INSTALL_PREFIX}/bin" -D \
51 "${NNAS_PROJECT_PATH}/tools/nnpackage_tool/model2nnpkg/model2nnpkg.sh"
54 install -T -m 755 -D "${SCRIPT_PATH}/res/tf2nnpkg.${PRESET}" "${NNAS_INSTALL_PREFIX}/bin/tf2nnpkg"