最小構成
インストール後、まずここでNeatのセットアップが正しく接続されていることを確認します。
最初の実行は意図的に小さくしています。簡単なアプリを作成し、ヘッダーまたはインポートが解決されてビルドできることを確認してから、DevKitで実行してランタイムの応答を確認します。完了したら、アプリの実行に進み、小さなGraphアプリケーション内で実際のモデルを実行してください。
SDK内からDevKit上のコマンド(dk build/sima_neat_helloやdk hello_neat.pyなど)を直接実行するには、先にDevKitのペアリングを設定します。
必須設定: DevKit Sync
まだDevKitがない場合は、SDK内だけで実行できるモデルのコンパイルから始めてください。
最小アプリケー ション
例用の作業ディレクトリを作成し、**Python / C++**タブから使用する言語の手順を進めます。選択内容はサイト全体の言語セレクターに反映され、ほかのドキュメントでも維持されます。
2つのファイルを作成します:
-
CMakeLists.txtで、アプリのビルド方法とリンク方法をCMakeに指定します。CMakeLists.txtcmake_minimum_required(VERSION 3.16)project(sima_neat_hello LANGUAGES CXX)set(CMAKE_CXX_STANDARD 20)set(CMAKE_CXX_STANDARD_REQUIRED ON)set(CMAKE_CXX_EXTENSIONS OFF)# Supports both:# - DevKit/native installs (system paths)# - Cross builds with SYSROOT exported (SDK sysroot paths)if(DEFINED ENV{SYSROOT} AND NOT "$ENV{SYSROOT}" STREQUAL "")list(APPEND CMAKE_PREFIX_PATH"$ENV{SYSROOT}/usr""$ENV{SYSROOT}/usr/lib""$ENV{SYSROOT}/usr/lib/aarch64-linux-gnu")endif()find_package(SimaNeat REQUIRED CONFIG)find_package(PkgConfig REQUIRED)pkg_check_modules(OPENCV REQUIRED IMPORTED_TARGET opencv4)add_executable(sima_neat_hello main.cpp)target_link_libraries(sima_neat_helloPRIVATESimaNeat::sima_neatPkgConfig::OPENCV)強調表示された2か所がNeatをビルドに取り込みます。
find_package(SimaNeat REQUIRED CONFIG)はインストール済みのNeatパッケージを検出し、target_link_libraries(sima_neat_hello PRIVATE SimaNeat::sima_neat ...)は実行ファイルをパッケージへリンクします。インポートされたSimaNeat::sima_neatターゲットがNeatのヘッダーと推移的依存関係も提供するため、インクルードパスやライブラリパスを手動で設定する必要はありません。OpenCVの行は、この例で画像をデコードするためにだけ必要です。 -
main.cppには小さなNeatプログラムを記述します。main.cpp#include <iostream>#include <pipeline/TensorCore.h>int main() {auto storage = simaai::neat::make_cpu_owned_storage(64);if (!storage) {std::cerr << "Failed to allocate CPU tensor storage\n";return 1;}std::cout << "Hello from sima-neat\n";return 0;} -
作業ディレクトリは次のようになります。
sima-neat-hello/├── CMakeLists.txt└── main.cpp
例をビルドします:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
実行:
- DevKit上
./build/sima_neat_hello
- Neat SDKホスト上
dk build/sima_neat_hello
次の出力が表示されます。
Hello from sima-neat
プログラムがビルドされ、インポートを解決でき、メッセージが表示されれば、Neatのインストールは完了です。
dk / devkit-runについてdkはdevkit-runのエイリアスで、SDKコンテナ内のシェル関数です。~/devkit-sync.rcで定義され、~/.bashrcから読み込まれます。
シェル関数のため、SDKシェルでwhich devkit-runなどを実行しても何も返されない場合があります。dk <file>を使用し、ビルド済みバイナリまたはPythonエントリポイントをペアリング済みDevKitで実行してください。
次のステップ
最小アプリが動作したら、アプリの実行に進み、小さなGraphアプリケーション内で実際の物体検出モデルを実行します。