Suche senden
Hochladen
Good Arm FPGA Board Ultra96 and Google AI YOLO
•
1 gefällt mir
•
645 views
I
If_CQ
Folgen
Good Arm FPGA Board Ultra96 and Google AI YOLO
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 26
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
モーターを低速で定速で動かしてみる
モーターを低速で定速で動かしてみる
Keiichi Sakai
Isca13 study
Isca13 study
Toshiya Komoda
Chainer で Tensor コア (fp16) を使いこなす
Chainer で Tensor コア (fp16) を使いこなす
NVIDIA Japan
GR-CITRUS搭載のRubyファームウェアの説明
GR-CITRUS搭載のRubyファームウェアの説明
三七男 山本
Node-RED勉強会(20160826)追補
Node-RED勉強会(20160826)追補
Takashi Ariyama
自宅実験環境 Aug 2014
自宅実験環境 Aug 2014
Masaru Oki
IoTハンズオン資料(おうちハック)配布用
IoTハンズオン資料(おうちハック)配布用
Takashi Ariyama
Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化
Yusuke Fujimoto
Empfohlen
モーターを低速で定速で動かしてみる
モーターを低速で定速で動かしてみる
Keiichi Sakai
Isca13 study
Isca13 study
Toshiya Komoda
Chainer で Tensor コア (fp16) を使いこなす
Chainer で Tensor コア (fp16) を使いこなす
NVIDIA Japan
GR-CITRUS搭載のRubyファームウェアの説明
GR-CITRUS搭載のRubyファームウェアの説明
三七男 山本
Node-RED勉強会(20160826)追補
Node-RED勉強会(20160826)追補
Takashi Ariyama
自宅実験環境 Aug 2014
自宅実験環境 Aug 2014
Masaru Oki
IoTハンズオン資料(おうちハック)配布用
IoTハンズオン資料(おうちハック)配布用
Takashi Ariyama
Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化
Yusuke Fujimoto
あるキャッシュメモリの話
あるキャッシュメモリの話
nullnilaki
IoTハンズオン
IoTハンズオン
Takashi Ariyama
あるブートローダの話
あるブートローダの話
nullnilaki
Wakayama.rbボード ARIDA 4 説明資料
Wakayama.rbボード ARIDA 4 説明資料
三七男 山本
Using Xeon D 10GBase-T
Using Xeon D 10GBase-T
Masaru Oki
Rust で RTOS を考える
Rust で RTOS を考える
ryuz88
Wakayamarb Board 説明資料
Wakayamarb Board 説明資料
三七男 山本
Xeon d
Xeon d
Masaru Oki
Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編
Tetsuya Morizumi
ロボット用Open Source Software
ロボット用Open Source Software
たけおか しょうぞう
モータ制御基板 SAMBOU-KANとロボホンタンク
モータ制御基板 SAMBOU-KANとロボホンタンク
三七男 山本
RHEL on Azure、初めの一歩
RHEL on Azure、初めの一歩
Ryo Fujita
CMSI計算科学技術特論A (2015) 第9回
CMSI計算科学技術特論A (2015) 第9回
Computational Materials Science Initiative
Meetup 2104 my_homenutanixce_mizuta
Meetup 2104 my_homenutanixce_mizuta
Yusuke Mizuta
GR-KOZAKURA完成版Rubyによる超簡単開発環境
GR-KOZAKURA完成版Rubyによる超簡単開発環境
三七男 山本
DGX-2 を取り巻く GPU 最新技術情報
DGX-2 を取り巻く GPU 最新技術情報
NVIDIA Japan
Openhard150114
Openhard150114
たけおか しょうぞう
Getting Started with Jetson Nano
Getting Started with Jetson Nano
NVIDIA Japan
カーネルモジュールでキーロガー
カーネルモジュールでキーロガー
nemumu
Linux KVM環境におけるGPGPU活用最新動向
Linux KVM環境におけるGPGPU活用最新動向
Taira Hajime
Ultra96ボードでYOLOを高速化
Ultra96ボードでYOLOを高速化
Hiroyuki Okuhata
SDN Japan: ovs-hw
SDN Japan: ovs-hw
ykuga
Weitere ähnliche Inhalte
Was ist angesagt?
あるキャッシュメモリの話
あるキャッシュメモリの話
nullnilaki
IoTハンズオン
IoTハンズオン
Takashi Ariyama
あるブートローダの話
あるブートローダの話
nullnilaki
Wakayama.rbボード ARIDA 4 説明資料
Wakayama.rbボード ARIDA 4 説明資料
三七男 山本
Using Xeon D 10GBase-T
Using Xeon D 10GBase-T
Masaru Oki
Rust で RTOS を考える
Rust で RTOS を考える
ryuz88
Wakayamarb Board 説明資料
Wakayamarb Board 説明資料
三七男 山本
Xeon d
Xeon d
Masaru Oki
Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編
Tetsuya Morizumi
ロボット用Open Source Software
ロボット用Open Source Software
たけおか しょうぞう
モータ制御基板 SAMBOU-KANとロボホンタンク
モータ制御基板 SAMBOU-KANとロボホンタンク
三七男 山本
RHEL on Azure、初めの一歩
RHEL on Azure、初めの一歩
Ryo Fujita
CMSI計算科学技術特論A (2015) 第9回
CMSI計算科学技術特論A (2015) 第9回
Computational Materials Science Initiative
Meetup 2104 my_homenutanixce_mizuta
Meetup 2104 my_homenutanixce_mizuta
Yusuke Mizuta
GR-KOZAKURA完成版Rubyによる超簡単開発環境
GR-KOZAKURA完成版Rubyによる超簡単開発環境
三七男 山本
DGX-2 を取り巻く GPU 最新技術情報
DGX-2 を取り巻く GPU 最新技術情報
NVIDIA Japan
Openhard150114
Openhard150114
たけおか しょうぞう
Getting Started with Jetson Nano
Getting Started with Jetson Nano
NVIDIA Japan
カーネルモジュールでキーロガー
カーネルモジュールでキーロガー
nemumu
Linux KVM環境におけるGPGPU活用最新動向
Linux KVM環境におけるGPGPU活用最新動向
Taira Hajime
Was ist angesagt?
(20)
あるキャッシュメモリの話
あるキャッシュメモリの話
IoTハンズオン
IoTハンズオン
あるブートローダの話
あるブートローダの話
Wakayama.rbボード ARIDA 4 説明資料
Wakayama.rbボード ARIDA 4 説明資料
Using Xeon D 10GBase-T
Using Xeon D 10GBase-T
Rust で RTOS を考える
Rust で RTOS を考える
Wakayamarb Board 説明資料
Wakayamarb Board 説明資料
Xeon d
Xeon d
Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編
ロボット用Open Source Software
ロボット用Open Source Software
モータ制御基板 SAMBOU-KANとロボホンタンク
モータ制御基板 SAMBOU-KANとロボホンタンク
RHEL on Azure、初めの一歩
RHEL on Azure、初めの一歩
CMSI計算科学技術特論A (2015) 第9回
CMSI計算科学技術特論A (2015) 第9回
Meetup 2104 my_homenutanixce_mizuta
Meetup 2104 my_homenutanixce_mizuta
GR-KOZAKURA完成版Rubyによる超簡単開発環境
GR-KOZAKURA完成版Rubyによる超簡単開発環境
DGX-2 を取り巻く GPU 最新技術情報
DGX-2 を取り巻く GPU 最新技術情報
Openhard150114
Openhard150114
Getting Started with Jetson Nano
Getting Started with Jetson Nano
カーネルモジュールでキーロガー
カーネルモジュールでキーロガー
Linux KVM環境におけるGPGPU活用最新動向
Linux KVM環境におけるGPGPU活用最新動向
Ähnlich wie Good Arm FPGA Board Ultra96 and Google AI YOLO
Ultra96ボードでYOLOを高速化
Ultra96ボードでYOLOを高速化
Hiroyuki Okuhata
SDN Japan: ovs-hw
SDN Japan: ovs-hw
ykuga
20140310 fpgax
20140310 fpgax
funadasatoshi
最近遊んだLinuxボードたち
最近遊んだLinuxボードたち
t n
ESP8266をはじめよう
ESP8266をはじめよう
Kei Yoshimura
Cmc cmd slim
Cmc cmd slim
Shinji Shimojo
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
MITSUNARI Shigeo
20120519 #qpstudy インターフェース入門
20120519 #qpstudy インターフェース入門
Hiyou Shinnonome
20apr2012 kernelvm7-main
20apr2012 kernelvm7-main
Shotaro Uchida
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
Hiroki Nakahara
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
yaegashi
CPUの同時実行機能
CPUの同時実行機能
Shinichiro Niiyama
「Windows Azure でスーパーコンピューティング!」for Microsoft MVP camp 2014 大阪会場
「Windows Azure でスーパーコンピューティング!」for Microsoft MVP camp 2014 大阪会場
幸智 Yukinori 黒田 Kuroda
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
Hiroki Nakahara
シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議
Shinra_Technologies
Trema day 1
Trema day 1
ykuga
[DL Hacks]FPGA入門
[DL Hacks]FPGA入門
Deep Learning JP
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
Yahoo!デベロッパーネットワーク
NSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow Logging
順也 山口
Ähnlich wie Good Arm FPGA Board Ultra96 and Google AI YOLO
(20)
Ultra96ボードでYOLOを高速化
Ultra96ボードでYOLOを高速化
SDN Japan: ovs-hw
SDN Japan: ovs-hw
20140310 fpgax
20140310 fpgax
最近遊んだLinuxボードたち
最近遊んだLinuxボードたち
ESP8266をはじめよう
ESP8266をはじめよう
Cmc cmd slim
Cmc cmd slim
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
20120519 #qpstudy インターフェース入門
20120519 #qpstudy インターフェース入門
20apr2012 kernelvm7-main
20apr2012 kernelvm7-main
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
CPUの同時実行機能
CPUの同時実行機能
「Windows Azure でスーパーコンピューティング!」for Microsoft MVP camp 2014 大阪会場
「Windows Azure でスーパーコンピューティング!」for Microsoft MVP camp 2014 大阪会場
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議
Trema day 1
Trema day 1
[DL Hacks]FPGA入門
[DL Hacks]FPGA入門
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
NSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow Logging
Mehr von If_CQ
Ifcq o smeetup20190517_tokyo_nuttx
Ifcq o smeetup20190517_tokyo_nuttx
If_CQ
Ifcq o smeetup20190517_tokyo_8esp32iot
Ifcq o smeetup20190517_tokyo_8esp32iot
If_CQ
Making pseudo quantum computer
Making pseudo quantum computer
If_CQ
speech signal processing
speech signal processing
If_CQ
IT agri choujugaitaisaku
IT agri choujugaitaisaku
If_CQ
IoTAgrisensingcontrol
IoTAgrisensingcontrol
If_CQ
Raspi multispectrumcamera enya
Raspi multispectrumcamera enya
If_CQ
Mehr von If_CQ
(7)
Ifcq o smeetup20190517_tokyo_nuttx
Ifcq o smeetup20190517_tokyo_nuttx
Ifcq o smeetup20190517_tokyo_8esp32iot
Ifcq o smeetup20190517_tokyo_8esp32iot
Making pseudo quantum computer
Making pseudo quantum computer
speech signal processing
speech signal processing
IT agri choujugaitaisaku
IT agri choujugaitaisaku
IoTAgrisensingcontrol
IoTAgrisensingcontrol
Raspi multispectrumcamera enya
Raspi multispectrumcamera enya
Kürzlich hochgeladen
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Kürzlich hochgeladen
(12)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Good Arm FPGA Board Ultra96 and Google AI YOLO
1.
Ultra96ボードで YOLOを高速化 奥畑 宏之 (@HiroyukiOkuhata)
2.
自己紹介 • 大阪出身 • 以前:株式会社シンセシス •
産学連携で ASIC, FPGA 設計・開発 • 輝度補正・超解像などの画像処理 IP • 現在:株式会社ソリトンシステムズ • ライブ中継用 H.265/HEVC コーデック • マルチリンク通信ライブラリ
3.
インターフェース2019年1月号 第3部 最強FPGAボードで人工知能カリカリ画像認識 第1章 組み込み人工知能にピッタリ!最強Arm
FPGAボード「Ultra96」 64ビットCortex-A/GPU/FPGAチップ搭載で3万円 第2章 最強ArmコアFPGAボードUltra96の基本的な使い方 開発環境の準備からLinux&My回路生成まで 第3章 はじめての行列演算ハードウェア化 画像認識人工知能高速化のために 第4章 映像認識人工知能のカリカリ高速化に挑戦 画像処理&行列計算チューンナップ技法の研究 第5章 リアルタイム物体検出に挑戦 精度よりリアルタイム性がほしいときのために
4.
発表内容 • Ultra96ボード • YOLO •
開発フロー • PetaLinux • Vivado HLS • PSとPL • PLを用いた高速化 • HLSのクロック周波数設定 • キャッシュコヒーレンシ • PL以外での高速化 • NEON • GPU Mali
5.
Ultra96ボードの概要 • XCZU3EG (PS
+ PL) • Cortex-A53 1.5GHz • Cortex-R5 600MHz • Mali-400 MP2 667MHz • 16nm UltraScale+ PL • Mini-Display Port • Wi-Fi/Bluetooth • 2GB LPDDR4 • USB 3.0 • 拡張コネクタ お手頃価格:29,800円(税別)
6.
YOLO v3 によるオブジェクトの識別・検出 入力画像
結果画像 位置と種別を正しく 識別・検出 YOLOとは • リアルタイム物体識別および検出のAIアルゴリズム • ニューラルネットDarknetを用いる • バージョン3 (v3) が 2018年4月に公開
7.
YOLO 処理時間比較 213.6 115.9 18.1 9.14 0 50 100 150 200 250 ラズパイ3
Ultra96ボード (高速化前) Ultra96ボード (高速化後) Core i7 4GHz YOLOv3で画像1枚(608×608)の推論にかかる時間 (秒)
8.
YOLO 処理時間 内訳 •
gprofによる推論処理 のプロファイリング • gemm (行列乗算)が 処理時間の91%を占 める 浮動小数点の行列乗算 をPLでオフロード
9.
Ultra96 開発フロー 概略 ・Vivado
HLS & Vivado で PLの設計 ・OSはPetaLinuxを使う
10.
PetaLinux Build Guide
for Ultra96 ・このWebページの通り進めると、お手軽に動く
11.
PetaLinuxツール • ビルド時間 • 少し変更してカーネルビルドするのに10分強
(i7-4790K @ 4.00GHz) • ディスク容量 • ビルド後のプロジェクトフォルダ 44GB • aptがほしい • 一応、パッケージ管理システムDNFが使える (パッケージは少ない) • 記事ではバージョン2018.02を使用 • Ubuntu16.04でないとうまく動かない • 最新バージョンは2018.03だが • Ultra96用のBSPがまだない • 2018.02のBSPを使うとsystem-top.dtb周りでエラー • 試される忍耐力
12.
Vivado HLS • gemm
(行列乗算) のC記述をVivado HLSで高位合成 • Xilinxアプリケーションノートを流用 • 行列サイズ32×32の単精度浮動小数点(FP32)の乗算 • AXI4-Streamで入出力 • 高位合成の利点 → アーキテクチャの探索 • 行列のサイズ:32×32, 64×64, 128×128 • 演算の種類:C=A×B, C=A×B+C • データバス幅 • 動作周波数とサイクル数 • 注意点 • 生成回路のサイクル数、回路規模
13.
ビバド! ゲーム「Tokyo 7th シスターズ」(略称ナナシス)
から引用
14.
PSとPLの接続 • AXI4-Stream ⇔
AXIバス • Xilinx AXI DMA IP を利用 • Linuxメモリの連続領域確保 • udmabuf (@ikwzmさん) を利用 udmabuf AXI DMA IP 行列乗算IP PS PL YOLO (darknet) • 接続してUltra96でYOLOを実行 処理時間:115.9秒
15.
高速化 1. Vivado HLSのクロック周波数設定 2.
キャッシュコヒーレンシ 3. AXIバス幅の拡張 4. ダブルバッファリング
16.
高速化 1. Vivado
HLSのクロック周波数設定 • Vivado HLS 設定クロック周波数≠生成回路の動作可能周波数 • 条件厳しめに高位合成される印象 • Uncertainty 12.5%が付加 • 余裕のありすぎる回路 • 逆にMETしない場合もあるらしい • クロック周波数とサイクル数のトレードオフ • 自動で探索してほしい (QuartusIIのDSEみたいな) • 探索結果 • Vivado HLS の設定:150MHz • Vivadoの設定:299MHz
17.
高速化 2. キャッシュコヒーレンシ •
ハードウェアによるキャッシュ同期 • 以前のZynqではACPを利用 • AR#66643 Zynq UltraScale+ MPSoCのACPインターフェイスでは、次のキャッ シュライン対応のトランザクションのみが許容されます。 (中略) ACPの代わりに、コヒーレンシと共に幅広いAXIトランザクションがサ ポートされるコヒーレンシHPCポートの使用をご検討ください。 • デフォルト設定ではHPCはキャッシュコヒーレンシではない • AR#69446 • AXIバスのAxCACHE, AxPROTを適切に設定 • ブート時にBroadcasting Inner Shareableとする • デバイスツリーの設定でdma-coherentのプロパティを追加
18.
高速化 3. AXIバス幅の拡張 •
AXI4-Streamのデータバス幅を32bitから128bitに拡張 • サイクル数 • YOLO実行時間 • 22.7秒→21.4秒 • サイクル数は削減できたが、全体の処理時間に占める割合は小 さかった 32bit 128bit データ転送サイクル数 12,289 5,122 行列乗算サイクル数 4,549 4,549 総サイクル数 16,846 9,679
19.
高速化 4. ダブルバッファリング •
Linuxメモリ内のコピーとDMA転送を同時に行う 行列B 行列C ①コピー 行列乗算IP ①DMA転送 ②DMA転送 ②コピー DMAバッファ (udmabuf) • YOLO実行時間 • 21.4秒→18.1秒 • スキャッタギャザDMAを用いれば必要ないかも
20.
高速化による時間短縮まとめ 高速化 YOLO実行時間 (秒) 行列サイズ32×32,
クロック100MHz 115.9 行列サイズ64×64, クロック299MHz 46.2 キャッシュコヒーレンシ On 22.7 AXIバス幅 32bit → 128bit 21.4 ダブルバッファリング 18.1
21.
リアルタイム 画像認識 • darknetをOpenCV付 きでコンパイル • Tiny
YOLO v3で2fps • X Window Systemの 表示が遅い
22.
PL以外での高速化 • NEONによる高速化 • GPU
Maliによる高速化
23.
NEONによるYOLO高速化 • NEONとは • ARMアーキテクチャの64ビット,
128ビットのSIMD命令セット • NEONを用いたDarknet実装 • NNPACK for Darknet (ライブラリ) • https://github.com/digitalbrain79/NNPACK-darknet • darknet-nnpack • https://github.com/digitalbrain79/darknet-nnpack • Ultra96でビルド • darknet-nnpackのReadme.mdの通り • clangは不要だった • Ultra96で実行 YOLO v3 19.4 秒 YOLO v3 tiny 1.03 秒 速い...
24.
GPU Maliによる高速化(の目論見) • Mali-400
MP • OpenCLが使えない • OpenGL Extentionが使えない → OpenGL ES 2.0 で頑張る • シェーディング言語(GLSL)で記述 バーテックス シェーダー フラグメント シェーダー 画面描画 GLSL GLSL 通常 頂点計算 テクスチャ計算 描画 GPGPU 使わない 演算 glReadPixelsで結果取得
25.
Ultra96でMaliの 動作確認 • Xilinx UG1209
チュート リアルアプリ「tricube」 がそのまま動作する
Jetzt herunterladen