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自体の負担が減り、安定したシステムを構築することが出来ます。高速化する上に安定性、信頼性も増してくることでしょう。


目次へ戻る