4-05 リアルタイム性と安定性の確認
前章のシミュレーションでは画像1枚あたりの推論が11usで済んでいました。FPGAに実装してもその通りになっているか確認します。
●リアルタイム動作をオシロで測定
ZYBO上に4個ある緑色LEDには、8枚の画像の推論結果が順番に出力されます(図4-11)。同じ信号が左上のコネクタにも出力されているので、それらをオシロスコープであたってみます。 |
図4-11 LEDに推論結果を出している
オシロスコープで見ると図4-12のように、推論結果が7, 2, 1, 0, 4, 1, 4, 9と正しく出ています(オシロのプローブが2本しかないので合成してある)。時間軸の一マスは20usであり、画像1枚の推論にかかる時間は11usであることが分かります。 |
図4-12 8枚の推論結果が繰り返し出ている
●シミュレーションと同様に11us毎に推論されている
図4-13は前章で行ったシミュレーションのようすです。ANSWERが実機と一致していることが分かります。クロック周波数も同じ(シミュレーション、実機ともに100MHz,
10ns)です。 |
図4-13 前章で行ったシミュレーションを思い出す
●OSの影響を受けずに安定動作する
例えばLinux上でPythonのプログラムを走らせる場合、OSの状態(重いアプリケーションをスタートするなど)で演算にかかる時間が変動します。さらに、重いアプリを何重にも走らせたりするとOSは「フリーズ」してしまい、演算どころではなくなります。
オシロの時間軸を拡大したものを図4-14に示します。PL部に実装した専用ハードウエアで演算しているので、OSの影響はありません。この11usという間隔は、OSがフリーズしようがシャットダウンされようが常に一定です。 |
図4-14 「絶対に止まってはいけない処理」はOSよりも専用ハードが良い
●ハードウエア化により安定性や信頼性までアップする!
ディープラーニングのような重い処理をハードウエア化することにより、OS自体の負担が減り、安定したシステムを構築することが出来ます。高速化する上に安定性、信頼性も増してくることでしょう。 |
目次へ戻る
|