主な機能

テンプレート

GENESISでのアプリ開発は、ウェブ画面上でアプリケーション(プロジェクト)を作るところから始まります。

「新規プロジェクト追加」ボタンを押すと、いくつかのテンプレートを選択できます。これらのテンプレートプログラムに独自の処理を追加したり、パラメーターを変更したりして独自のアプリを簡単に開発できます。

ビルディングブロック

GENESISではアプリケーションを「ビルディングブロック」と呼ぶ機能単位に分けて用意しています。

ブロックにはフィルタ処理、深度推定、物体認識、SLAM、各種I/Oなど多種多様なものが予め開発されており、ウェブ画面上で組み合わせてアプリケーションを開発できます。デバイスごとの違いにはビルディングブロックが自動で対応するため、コーディングする開発では特別な対応が必要なデバイス向けにも同じようにアプリを作れます。

ブロックのリストからドラッグ&ドロップして必要な機能を選び、ブロック間のデータ入出力を矢印で結合してアプリを開発していきます。

パラメータ

GENESISのビルディングブロックにはパラメーターが設定できるものがあります。開発したいアプリに合わせてブロックのパラメーターを設定したら完成です。

構成中のアプリの動作は、プレビュー機能を通じて確認できます。プレビュー機能は個々のビルディングブロック、または、アプリ全体の出力を確認できます。

ベンチマークレポート

開発したアプリは、クラウドに接続されたフィックスターズが管理するデバイス上で実行され、性能評価した結果を確認できます。開発したアプリを十分に動作させられるデバイスが簡単に分かります。

レポートのサマリーは、アプリケーションの実行時間や、消費電力、スループット、性能コストをハードウェアごとに確認できます。各数値はアプリケーション単位だけでなく、ビルディングブロックごとに確認することもできます。

レポートを確認した結果、変更を加えたい場合は、プロジェクト画面に戻り、先ほど組み立てたビルディングブロックを変更したり、ビルディングブロックのプロパティを変更したりした後、再度レポートを作成することができます。ソースコードを書き換えながらこの試行錯誤を繰り返すことは膨大な時間と知識を必要とする作業ですが、GENESISを使うことで圧倒的に速く効率的に行うことができます。

最適化パターン

一般的に、ハードウェアにはCPUやGPUや専用アクセラレーターなどいくつかの異なるプロセッサが載っています。どの処理にいつどのプロセッサを使うかが、ソフトウェア最適化での重要なポイントです。

「最適化パターン」は、各処理を各プロセッサをいつ何に使ったかというスケジューリング結果で、一つのデバイスに複数のパターンが自動的に生成されます。

同じデバイスでも、パターンによって実行速度に優れたもの、消費電力に優れたものなどがあります。GENESISはその候補をすべて試し、最適なものを選んでデプロイできます。

デプロイ

GENESISで開発したアプリは、開発者の手元にあるデバイスにデプロイして動かせます。

デプロイに必要な実行コードは、ベンチマークレポートで生成された最適化パターンごとに実行コードが提供されます。手元のデバイスをインターネットに接続し、提供されたコードを直接実行することでデプロイできます。実行コードはファイルとしてダウンロードすることもできます。

*ご利用のビルディングブロックの種類によっては、依存ライブラリを事前にユーザーのデバイス上にインストールしておく必要があります。