Submit Search
Upload
Fpga online seminar by fixstars (1st)
•
2 likes
•
437 views
Fixstars Corporation
Follow
フィックスターズによる FPGA オンラインセミナー(第一回)の掲載用資料
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 40
Download now
Download to read offline
Recommended
cvpaper.challenge の メタサーベイ発表スライドです。 cvpaper.challengeはコンピュータビジョン分野の今を映し、トレンドを創り出す挑戦です。論文サマリ作成・アイディア考案・議論・実装・論文投稿に取り組み、凡ゆる知識を共有します。 http://xpaperchallenge.org/cv/
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
2021/4/28 に東京大学で開催された<AIセミナーシリーズ> 「Arm CPUにおけるSIMDを用いた高速計算入門」講演会で使用した資料になります。
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
https://math-coding.connpass.com/event/147508/ Math&coding#6 の発表資料
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
TensorFlow User Group HW部(2017年2月27日)で使ったスライドです。講演後、一部加筆・修正しています。
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
Hiroki Nakahara
ResNetに代表されるSkip Connectionについて理論と有効性をまとめました。
Skip Connection まとめ(Neural Network)
Skip Connection まとめ(Neural Network)
Yamato OKAMOTO
言語処理学会第28回年次大会(NLP2022)のチュートリアルでの講演資料です。 https://www.anlp.jp/nlp2022/#tutorial
ゼロから始める転移学習
ゼロから始める転移学習
Yahoo!デベロッパーネットワーク
2021年10月29日開催「いまさら聞けない!CUDA高速化入門」セミナー資料です。
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
発表場所:Shibuya synapse 現在の強化学習に何が足りないのか?
報酬設計と逆強化学習
報酬設計と逆強化学習
Yusuke Nakata
Recommended
cvpaper.challenge の メタサーベイ発表スライドです。 cvpaper.challengeはコンピュータビジョン分野の今を映し、トレンドを創り出す挑戦です。論文サマリ作成・アイディア考案・議論・実装・論文投稿に取り組み、凡ゆる知識を共有します。 http://xpaperchallenge.org/cv/
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
2021/4/28 に東京大学で開催された<AIセミナーシリーズ> 「Arm CPUにおけるSIMDを用いた高速計算入門」講演会で使用した資料になります。
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
https://math-coding.connpass.com/event/147508/ Math&coding#6 の発表資料
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
TensorFlow User Group HW部(2017年2月27日)で使ったスライドです。講演後、一部加筆・修正しています。
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
Hiroki Nakahara
ResNetに代表されるSkip Connectionについて理論と有効性をまとめました。
Skip Connection まとめ(Neural Network)
Skip Connection まとめ(Neural Network)
Yamato OKAMOTO
言語処理学会第28回年次大会(NLP2022)のチュートリアルでの講演資料です。 https://www.anlp.jp/nlp2022/#tutorial
ゼロから始める転移学習
ゼロから始める転移学習
Yahoo!デベロッパーネットワーク
2021年10月29日開催「いまさら聞けない!CUDA高速化入門」セミナー資料です。
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
発表場所:Shibuya synapse 現在の強化学習に何が足りないのか?
報酬設計と逆強化学習
報酬設計と逆強化学習
Yusuke Nakata
最適輸送問題(Wasserstein 距離)を解く方法についてのさまざまなアプローチ・アルゴリズムを紹介します。 線形計画を使った定式化の基礎からはじめて、以下の五つのアルゴリズムを紹介します。 1. ネットワークシンプレックス法 2. ハンガリアン法 3. Sinkhorn アルゴリズム 4. ニューラルネットワークによる推定 5. スライス法 このスライドは第三回 0x-seminar https://sites.google.com/view/uda-0x-seminar/home/0x03 で使用したものです。自己完結するよう心がけたのでセミナーに参加していない人にも役立つスライドになっています。 『最適輸送の理論とアルゴリズム』好評発売中! https://www.amazon.co.jp/dp/4065305144 Speakerdeck にもアップロードしました: https://speakerdeck.com/joisino/zui-shi-shu-song-nojie-kifang
最適輸送の解き方
最適輸送の解き方
joisino
2022年1月28日開催の「CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編」セミナー資料です。
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
画像センシングシンポジウム (SSII 2019) の企画セッション「深層学習の高速化 〜 高速チップ、分散学習、軽量モデル 〜」の講演資料です。 深層学習モデルを高速化する下記6種類の手法の解説です。 - 畳み込みの分解 (Factorization) - 枝刈り (Pruning) - アーキテクチャ探索 (Neural Architecture Search; NAS) - 早期終了、動的計算グラフ (Early Termination, Dynamic Computation Graph) - 蒸留 (Distillation) - 量子化 (Quantization)
モデル高速化百選
モデル高速化百選
Yusuke Uchida
GPUを利用して汎用演算を行う技術であるGPGPUを用いて、プログラムを高速化する技法についてまとめました。高速化の具体例も適宜用いて解説しています。 CPU編はこちら https://www.slideshare.net/KMC_JP/ss-45855264
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
京大 マイコンクラブ
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう @PyCon JP 2015 (2015年10月11日) #pyconjp
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
Shinya Takamaeda-Y
2021/05/28 Deep Learning JP: http://deeplearning.jp/seminar-2/
[DL輪読会]Pay Attention to MLPs (gMLP)
[DL輪読会]Pay Attention to MLPs (gMLP)
Deep Learning JP
Python をつかった FPGA 入門。Python 初心者でも大丈夫。関数が書ければすぐにできる。
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
ryos36
物体検出やセグメンテーションタスクに利用可能な階層的Vision Transformerのサーベイ
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
Yusuke Uchida
第一回 Singularity勉強会
Singularityで分散深層学習
Singularityで分散深層学習
Hitoshi Sato
本資料は、以下のイベントにて発表した資料です。 第1回 TensorFlow内部構造 勉強会(2019.3.4) https://tensorflowinternal.connpass.com/event/115653/ TensorFlowの内部で行われている計算グラフ最適化処理について、ソースコードから調べてみました。
TensorFlow計算グラフ最適化処理
TensorFlow計算グラフ最適化処理
Atsushi Nukariya
2022/06/03 Deep Learning JP: http://deeplearning.jp/seminar-2/
【DL輪読会】"A Generalist Agent"
【DL輪読会】"A Generalist Agent"
Deep Learning JP
↓↓↓↓訂正あります。↓↓↓↓ 2018/07/02に株式会社エフコード社内で行われた勉強会のスライドです。 訂正版(随時更新中): https://docs.google.com/presentation/d/15HOMfAbtdWwO48njcB8IdkN3kVAMu3wsmZo0O3S-f_4/edit?usp=sharing 専門家による資料・専門家向けの資料ではありません。自分自身で学習し、論文・文献等を読解してまとめた内容となります。間違い等あるかもしれませんが、あれば是非コメント頂ければと思います。 【訂正事項】 スライド16: 誤:たった一つのプロセスが故障しただけでも有限時間で合意できない 正:たった一つのプロセスが故障しうるだけでも有限時間で合意できない スライド20: 誤: 重要: あるschedule σ1, σ2 がdisjoint (nodeが被ってない) なら可換 正: 重要: あるschedule σ1, σ2 がdisjoint (processが被ってない) なら可換 スライド24, 34 誤: “分散システムについて語らせてくれ” 熊崎宏樹 NTTデータテクノロジーカンファレンス2017 #2 正: “分散システムについて語らせてくれ” 熊崎宏樹 NTT Tech Conference #2
分散システムの限界について知ろう
分散システムの限界について知ろう
Shingo Omura
以下の二つの論文の紹介を中心に、グラフニューラルネットワークとグラフ組合せ問題の交わりについて解説しました。 SIG-FPAI での招待講演の内容に少し修正を加えたものです。 * Learning Combinatorial Optimization Algorithm over Graphs (NIPS 2017) * Approximation Ratios of Graph Neural Networks for Combinatorial Problems (NeurIPS 2019)
グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題
joisino
2021年8月5日開催「いまさら聞けないarmを使ったNEONの基礎と活用事例」セミナー資料です。
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
2021/09/17 Deep Learning JP: http://deeplearning.jp/seminar-2/
[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論
Deep Learning JP
ACRiルームが提供する新しいコンテンツとして、今年8月より「ACRi HLSチャレンジ」がスタートしました。与えられたお題に対し、より高速なハードウェア回路を目指してパズル感覚で高位合成ツールを学んで頂けるサイトです。既に多くの方が参加(HLSのコードを投稿)してくれていますが、ランキング上位の方のコードを解説しながら、幾つかお奨めの高速化テクニックを紹介します。
ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介
Jun Ando
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
PFNは,「現実世界を計算可能にする」をVisionとして,膨大な計算量を必要とするシミュレーションや深層学習などの計算ワークロードを実行するためのオンプレML基盤を持っています. この取り組みについて、「使いやすい環境」、「リソースの効率的かつフェアな利用」、「信頼性・運用省力化」の観点から紹介します。 本イベント「オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜」では、オンプレミスの Kubernetes クラスタ上に構築された機械学習基盤を持つ PFN とヤフーのエンジニアが自社での取り組みについて語り尽くします! イベントサイト: https://ml-kubernetes.connpass.com/event/239859/
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
Shunji Umetani
電子情報通信学会画像工学研究会(IE)招待講演
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
Norishige Fukushima
ALGYAN主催DragonBoard+IoTアプリコンテストのスライドです。 https://algyan.connpass.com/event/60886/
Snapdragon-SCORER
Snapdragon-SCORER
Satoshi Toriumi
Apache cloudstack4.0インストール
Apache cloudstack4.0インストール
Yasuhiro Arai
More Related Content
What's hot
最適輸送問題(Wasserstein 距離)を解く方法についてのさまざまなアプローチ・アルゴリズムを紹介します。 線形計画を使った定式化の基礎からはじめて、以下の五つのアルゴリズムを紹介します。 1. ネットワークシンプレックス法 2. ハンガリアン法 3. Sinkhorn アルゴリズム 4. ニューラルネットワークによる推定 5. スライス法 このスライドは第三回 0x-seminar https://sites.google.com/view/uda-0x-seminar/home/0x03 で使用したものです。自己完結するよう心がけたのでセミナーに参加していない人にも役立つスライドになっています。 『最適輸送の理論とアルゴリズム』好評発売中! https://www.amazon.co.jp/dp/4065305144 Speakerdeck にもアップロードしました: https://speakerdeck.com/joisino/zui-shi-shu-song-nojie-kifang
最適輸送の解き方
最適輸送の解き方
joisino
2022年1月28日開催の「CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編」セミナー資料です。
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
画像センシングシンポジウム (SSII 2019) の企画セッション「深層学習の高速化 〜 高速チップ、分散学習、軽量モデル 〜」の講演資料です。 深層学習モデルを高速化する下記6種類の手法の解説です。 - 畳み込みの分解 (Factorization) - 枝刈り (Pruning) - アーキテクチャ探索 (Neural Architecture Search; NAS) - 早期終了、動的計算グラフ (Early Termination, Dynamic Computation Graph) - 蒸留 (Distillation) - 量子化 (Quantization)
モデル高速化百選
モデル高速化百選
Yusuke Uchida
GPUを利用して汎用演算を行う技術であるGPGPUを用いて、プログラムを高速化する技法についてまとめました。高速化の具体例も適宜用いて解説しています。 CPU編はこちら https://www.slideshare.net/KMC_JP/ss-45855264
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
京大 マイコンクラブ
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう @PyCon JP 2015 (2015年10月11日) #pyconjp
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
Shinya Takamaeda-Y
2021/05/28 Deep Learning JP: http://deeplearning.jp/seminar-2/
[DL輪読会]Pay Attention to MLPs (gMLP)
[DL輪読会]Pay Attention to MLPs (gMLP)
Deep Learning JP
Python をつかった FPGA 入門。Python 初心者でも大丈夫。関数が書ければすぐにできる。
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
ryos36
物体検出やセグメンテーションタスクに利用可能な階層的Vision Transformerのサーベイ
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
Yusuke Uchida
第一回 Singularity勉強会
Singularityで分散深層学習
Singularityで分散深層学習
Hitoshi Sato
本資料は、以下のイベントにて発表した資料です。 第1回 TensorFlow内部構造 勉強会(2019.3.4) https://tensorflowinternal.connpass.com/event/115653/ TensorFlowの内部で行われている計算グラフ最適化処理について、ソースコードから調べてみました。
TensorFlow計算グラフ最適化処理
TensorFlow計算グラフ最適化処理
Atsushi Nukariya
2022/06/03 Deep Learning JP: http://deeplearning.jp/seminar-2/
【DL輪読会】"A Generalist Agent"
【DL輪読会】"A Generalist Agent"
Deep Learning JP
↓↓↓↓訂正あります。↓↓↓↓ 2018/07/02に株式会社エフコード社内で行われた勉強会のスライドです。 訂正版(随時更新中): https://docs.google.com/presentation/d/15HOMfAbtdWwO48njcB8IdkN3kVAMu3wsmZo0O3S-f_4/edit?usp=sharing 専門家による資料・専門家向けの資料ではありません。自分自身で学習し、論文・文献等を読解してまとめた内容となります。間違い等あるかもしれませんが、あれば是非コメント頂ければと思います。 【訂正事項】 スライド16: 誤:たった一つのプロセスが故障しただけでも有限時間で合意できない 正:たった一つのプロセスが故障しうるだけでも有限時間で合意できない スライド20: 誤: 重要: あるschedule σ1, σ2 がdisjoint (nodeが被ってない) なら可換 正: 重要: あるschedule σ1, σ2 がdisjoint (processが被ってない) なら可換 スライド24, 34 誤: “分散システムについて語らせてくれ” 熊崎宏樹 NTTデータテクノロジーカンファレンス2017 #2 正: “分散システムについて語らせてくれ” 熊崎宏樹 NTT Tech Conference #2
分散システムの限界について知ろう
分散システムの限界について知ろう
Shingo Omura
以下の二つの論文の紹介を中心に、グラフニューラルネットワークとグラフ組合せ問題の交わりについて解説しました。 SIG-FPAI での招待講演の内容に少し修正を加えたものです。 * Learning Combinatorial Optimization Algorithm over Graphs (NIPS 2017) * Approximation Ratios of Graph Neural Networks for Combinatorial Problems (NeurIPS 2019)
グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題
joisino
2021年8月5日開催「いまさら聞けないarmを使ったNEONの基礎と活用事例」セミナー資料です。
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
2021/09/17 Deep Learning JP: http://deeplearning.jp/seminar-2/
[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論
Deep Learning JP
ACRiルームが提供する新しいコンテンツとして、今年8月より「ACRi HLSチャレンジ」がスタートしました。与えられたお題に対し、より高速なハードウェア回路を目指してパズル感覚で高位合成ツールを学んで頂けるサイトです。既に多くの方が参加(HLSのコードを投稿)してくれていますが、ランキング上位の方のコードを解説しながら、幾つかお奨めの高速化テクニックを紹介します。
ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介
Jun Ando
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
PFNは,「現実世界を計算可能にする」をVisionとして,膨大な計算量を必要とするシミュレーションや深層学習などの計算ワークロードを実行するためのオンプレML基盤を持っています. この取り組みについて、「使いやすい環境」、「リソースの効率的かつフェアな利用」、「信頼性・運用省力化」の観点から紹介します。 本イベント「オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜」では、オンプレミスの Kubernetes クラスタ上に構築された機械学習基盤を持つ PFN とヤフーのエンジニアが自社での取り組みについて語り尽くします! イベントサイト: https://ml-kubernetes.connpass.com/event/239859/
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
Shunji Umetani
電子情報通信学会画像工学研究会(IE)招待講演
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
Norishige Fukushima
What's hot
(20)
最適輸送の解き方
最適輸送の解き方
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
モデル高速化百選
モデル高速化百選
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
[DL輪読会]Pay Attention to MLPs (gMLP)
[DL輪読会]Pay Attention to MLPs (gMLP)
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
Singularityで分散深層学習
Singularityで分散深層学習
TensorFlow計算グラフ最適化処理
TensorFlow計算グラフ最適化処理
【DL輪読会】"A Generalist Agent"
【DL輪読会】"A Generalist Agent"
分散システムの限界について知ろう
分散システムの限界について知ろう
グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論
ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
Similar to Fpga online seminar by fixstars (1st)
ALGYAN主催DragonBoard+IoTアプリコンテストのスライドです。 https://algyan.connpass.com/event/60886/
Snapdragon-SCORER
Snapdragon-SCORER
Satoshi Toriumi
Apache cloudstack4.0インストール
Apache cloudstack4.0インストール
Yasuhiro Arai
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
Yasuhiro Yoshimura
ネットワークコマンド入力に対応したツール事例
ネットワークコマンド入力に対応したツール事例
fumoto kazuhiro
CloudStack Advent Calendar jp: 2012 企画! http://atnd.org/events/34309
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
Yasuhiro Arai
NVIDIA Japan Seminar 2012
NVIDIA Japan Seminar 2012
Takuro Iizuka
2022年3月4日開催の「CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編」セミナー資料です。
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
Fixstars Corporation
http://www.wankuma.com/seminar/20100313nagoya12/ わんくま同盟 名古屋勉強会 #12での発表資料。
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
You&I
2012/06/17 に開催された、OSC 2012 Hokkaido での、セミナーのプレゼン資料。
OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料
Shin-ya Koga
INF-001_詳説 Azure IaaS ~私はインフラが好きだ~
INF-001_詳説 Azure IaaS ~私はインフラが好きだ~
INF-001_詳説 Azure IaaS ~私はインフラが好きだ~
decode2016
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
Yukio Saito
Xilinx SDSoC (2016.2)が生成するソフトウェアを解析したものです。 It analyzes software generated by Xilinx SDSoC (2016.2). SDSoC勉強会 (2017/1/28:土)で発表した資料の(2016.2版)です。
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Mr. Vengineer
わんくま同盟名古屋勉強会#19での発表資料。
OpenCLに触れてみよう
OpenCLに触れてみよう
You&I
DLLAB DAY 2018 Track3 15:00-15:40
マイクロソフトが考えるAI活用のロードマップ
マイクロソフトが考えるAI活用のロードマップ
Deep Learning Lab(ディープラーニング・ラボ)
Microsoft Open Tech Night #1
インフラ野郎AzureチームProX
インフラ野郎AzureチームProX
Toru Makabe
オープンソースになったマイコン開発環境 .NET Micro Frameworkの新プラットフォームへの移植手順を解説。 IoT時代の組み込みOSの主役 ドットNETまいくろバンザイ倶楽部
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
Tremaで試すFirewall - FW運用の理想と現実およびテストツール試作について -, 2013-11-16, Trema Day #4
Tremaで試すFirewall
Tremaで試すFirewall
M Hagiwara
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
一路 川染
Published on March 2015.
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
Takuma Usui
第3回ACRiウェビナー:Softwareエンジニアにも使って欲しいFPGAの実力 招待講演:オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム 東京大学 大学院情報理工学系研究科 准教授 高前田 伸也 様
2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen
直久 住川
Similar to Fpga online seminar by fixstars (1st)
(20)
Snapdragon-SCORER
Snapdragon-SCORER
Apache cloudstack4.0インストール
Apache cloudstack4.0インストール
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
ネットワークコマンド入力に対応したツール事例
ネットワークコマンド入力に対応したツール事例
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
NVIDIA Japan Seminar 2012
NVIDIA Japan Seminar 2012
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料
INF-001_詳説 Azure IaaS ~私はインフラが好きだ~
INF-001_詳説 Azure IaaS ~私はインフラが好きだ~
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
OpenCLに触れてみよう
OpenCLに触れてみよう
マイクロソフトが考えるAI活用のロードマップ
マイクロソフトが考えるAI活用のロードマップ
インフラ野郎AzureチームProX
インフラ野郎AzureチームProX
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Tremaで試すFirewall
Tremaで試すFirewall
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen
More from Fixstars Corporation
2022年3月23日に開催の、「量子コンピュータ時代の製造業におけるDXセミナー~最適化の中身を覗いてみよう~」の当日資料です。 本セミナーでは生産計画最適化について解説しました。
製造業向け量子コンピュータ時代のDXセミナー_生産計画最適化_20220323.pptx
製造業向け量子コンピュータ時代のDXセミナー_生産計画最適化_20220323.pptx
Fixstars Corporation
2022年2月24日に開催された「製造業向け量子コンピュータ時代のDXセミナー~最適化の中身を覗いてみよう~」の当日資料です。
製造業向け量子コンピュータ時代のDXセミナー~ 最適化の中身を覗いてみよう~
製造業向け量子コンピュータ時代のDXセミナー~ 最適化の中身を覗いてみよう~
Fixstars Corporation
2022年1月26日に開催された「製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~」の当日使用資料です。
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
Fixstars Corporation
株式会社フィックスターズの会社説明資料(抜粋)です。
株式会社フィックスターズの会社説明資料(抜粋)
株式会社フィックスターズの会社説明資料(抜粋)
Fixstars Corporation
2021年11月4日開催「Jetson活用セミナー ROS2自律走行実現に向けて ~自律移動ロボット用-自己位置推定のCUDA高速化~」セミナー資料です
Jetson活用セミナー ROS2自律走行実現に向けて
Jetson活用セミナー ROS2自律走行実現に向けて
Fixstars Corporation
2021年10月14日開催「量子コンピュータ時代の製造業におけるDXセミナー~生産工程効率化に向けた新たなご提案~」にて使用した資料です。
量子コンピュータ時代の製造業におけるDXセミナー~生産工程効率化に向けた新たなご提案~
量子コンピュータ時代の製造業におけるDXセミナー~生産工程効率化に向けた新たなご提案~
Fixstars Corporation
2021年9月16日開催「金融業界向け 量子コンピュータ時代を見据えた組合せ最適化」セミナー資料です。
金融業界向けセミナー 量子コンピュータ時代を見据えた組合せ最適化
金融業界向けセミナー 量子コンピュータ時代を見据えた組合せ最適化
Fixstars Corporation
株式会社フィックスターズの会社説明資料(抜粋)です。 P2 会社概要 P5 事業紹介 P9 文化・制度 P13 成長支援 P15 開発環境 P18 キャリアパス P20 選考の流れ
株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)
Fixstars Corporation
株式会社フィックスターズの会社説明資料(抜粋)です。
株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)
Fixstars Corporation
2021年1月18日に、AI・IoTのエッジデバイス選定をするアーキテクト向けに、AI・IoTエッジデバイスを選ぶ際、どこに気を付けるべきかを紹介するウェビナーを開催しました。デバイスの特性とワークロードごとの相性などを踏まえた上で、注目すべきメトリクスを分かりやすく解説したほか、 アプリをエッジデバイスごとに自動最適化してベンチマーク比較を行うフィックスターズのSaaS「Genesis DevEnv」も紹介しています。 講演内容 ・AI・IoTエッジデバイスの現状 ・ソフトウェアの高速化とは ・デバイス選定時の重要なメトリクス ・画像処理用DSL「Halide」を利用した多デバイス向けのソフトウェア高速化 ・エッジAIデバイス向けベンチマークSaaS「Genesis DevEnv」のご紹介 ・質問応答 発表者 丸岡 晃(株式会社フィックスターズ, Genesis事業部ディレクター)
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
Fixstars Corporation
本資料は、2020/07/02〜04に開催されたMLSE2020内のオンライン講演会「本当に使えるAIチップに必要なものは何か?」へ登壇した際の発表資料になります。
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
Fixstars Corporation
株式会社フィックスターズの会社説明資料(抜粋)です。
株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)
Fixstars Corporation
第8回社内プログラミングコンテスト結果発表会で使用した資料です。
第8回社内プログラミングコンテスト 結果発表会
第8回社内プログラミングコンテスト 結果発表会
Fixstars Corporation
第8回社内プログラミングコンテストで第1位となったtaiyoさんの発表資料です。
第8回社内プログラミングコンテスト 第1位 taiyo
第8回社内プログラミングコンテスト 第1位 taiyo
Fixstars Corporation
第8回社内プログラミングコンテストで第2位となったfy999さんの発表資料です。
第8回社内プログラミングコンテスト 第2位 fy999
第8回社内プログラミングコンテスト 第2位 fy999
Fixstars Corporation
第8回社内プログラミングコンテスト結果発表会で第3位となったlogicmachineさんの発表資料です。
第8回社内プログラミングコンテスト 第3位 logicmachine
第8回社内プログラミングコンテスト 第3位 logicmachine
Fixstars Corporation
株式会社フィックスターズの会社説明資料(抜粋)です。
株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)
Fixstars Corporation
2019年10月15日 - 2019年10月17日 で開催された7th OpenFOAM Conferenceでの発表資料になります。
A challenge for thread parallelism on OpenFOAM
A challenge for thread parallelism on OpenFOAM
Fixstars Corporation
2019/09/28(土) に開催された 第二回 Deep Learning Acceleration 勉強会(DLAccel #2)( https://idein.connpass.com/event/139074/ ) にて発表した資料になります。
マルチレイヤコンパイラ基盤による、エッジ向けディープラーニングの実装と最適化について
マルチレイヤコンパイラ基盤による、エッジ向けディープラーニングの実装と最適化について
Fixstars Corporation
DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化
DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化
DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化
Fixstars Corporation
More from Fixstars Corporation
(20)
製造業向け量子コンピュータ時代のDXセミナー_生産計画最適化_20220323.pptx
製造業向け量子コンピュータ時代のDXセミナー_生産計画最適化_20220323.pptx
製造業向け量子コンピュータ時代のDXセミナー~ 最適化の中身を覗いてみよう~
製造業向け量子コンピュータ時代のDXセミナー~ 最適化の中身を覗いてみよう~
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
株式会社フィックスターズの会社説明資料(抜粋)
株式会社フィックスターズの会社説明資料(抜粋)
Jetson活用セミナー ROS2自律走行実現に向けて
Jetson活用セミナー ROS2自律走行実現に向けて
量子コンピュータ時代の製造業におけるDXセミナー~生産工程効率化に向けた新たなご提案~
量子コンピュータ時代の製造業におけるDXセミナー~生産工程効率化に向けた新たなご提案~
金融業界向けセミナー 量子コンピュータ時代を見据えた組合せ最適化
金融業界向けセミナー 量子コンピュータ時代を見据えた組合せ最適化
株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)
第8回社内プログラミングコンテスト 結果発表会
第8回社内プログラミングコンテスト 結果発表会
第8回社内プログラミングコンテスト 第1位 taiyo
第8回社内プログラミングコンテスト 第1位 taiyo
第8回社内プログラミングコンテスト 第2位 fy999
第8回社内プログラミングコンテスト 第2位 fy999
第8回社内プログラミングコンテスト 第3位 logicmachine
第8回社内プログラミングコンテスト 第3位 logicmachine
株式会社フィックスターズ 会社説明資料(抜粋)
株式会社フィックスターズ 会社説明資料(抜粋)
A challenge for thread parallelism on OpenFOAM
A challenge for thread parallelism on OpenFOAM
マルチレイヤコンパイラ基盤による、エッジ向けディープラーニングの実装と最適化について
マルチレイヤコンパイラ基盤による、エッジ向けディープラーニングの実装と最適化について
DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化
DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化
Recently uploaded
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Toru Miyahara
下記の会の感想 https://kichijojipm.connpass.com/event/315276/presentation/
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
Masatsugu Matsushita
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
Toru Miyahara
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
Toru Miyahara
人的資本経営[1]を実現するには,生産性とQoW(Quality of Work,働き方の質)を同時に改善し続けていくことが有効である.そのための課題は多岐に渡るため,DX(Digital Transformation)的発想が求められる。一方、情報の約60~80%が位置情報に関連していることが報告されている.本稿では,地理空間情報と他の情報とを連携させて課題解決を支援する地理空間インテリジェンス(GSI)でDXを促進し,製造現場やサービス現場で人的資本経営を支援することに資する筆者らの一連の取り組みについて紹介する.
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
Kurata Takeshi
Solana Developer Hub Online #6 https://lu.ma/evx8jtpi
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
K Kinzal
ビジュアルプログラミングIoTLT17資料です。
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
miyp
スタートアップCTO経験から キャリアについて再考する DIGGLE 株式会社 取締役CTO 水上駿 こちらのイベントでの登壇資料です。 https://rosca.connpass.com/event/319175/
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
mizukami4
Recently uploaded
(8)
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
Fpga online seminar by fixstars (1st)
1.
Copyright © Fixstars
Group フィックスターズによる FPGAオンラインセミナー(第一回) Aug 20,2021 Copyright © Fixstars Group
2.
Copyright © Fixstars
Group Intel FPGA OpenCLフレームワークを 使ったシステム開発実践 18:05
3.
Copyright © Fixstars
Group 写真 Ryuji NISHIDA 西田 竜之 ソリューション第一事業部 シニアエンジニア
4.
Copyright © Fixstars
Group 自己紹介 ● 西田竜之 ○ FPGAを用いたシステム開発に従事 ○ ハードウェア開発をメインに担当 ○ 略歴 ■ 半導体ベンダ ● サーバー向けASIC開発 ■ 映像事務機メーカー ● 高画質エンジンLSI 映像機器向けFPGA開発 ■ フィックスターズ ● FPGAを用いた高速取引金融システム ● OpenCLによるアプリの高速化
5.
Copyright © Fixstars
Group アジェンダ ● Intel FPGA OpenCLフレームワークについて ● サンプルシステム ○ Optical Flowアプリケーション ○ システム構成 ● 実装解説 ○ OpenCLカーネル実装 ○ hostプログラム実装 ○ pythonアプリ実装 ● デモ実行 ● まとめ
6.
Copyright © Fixstars
Group Intel FPGA OpenCL ● FPGAアクセラレーションを実現するフレームワーク ● FPGAハードウェア :OpenCLカーネル ... Cベースの高位合成で実装 ● hostからのFPGA制御 :hostプログラム ... OpenCL APIを利用して行う ● FPGAボード … BSP(ボード・サポート・ パッケージ)が準備された 対応ボード上で動作可能
7.
Copyright © Fixstars
Group ● サンプルありか <Install-Path>/intelFPGA_xxx/<version>/hld/ examples_aoc/optical_flow ● ファイル 構成 Optical Flowアプリケーション ※サンプル中ドキュメントより抜粋 Source: Lucas_Kanade_optical_flow_with_OpenCL.pdf ● Optical Flow ○ 2枚の画像フレームから 物体の動き、速度を検出 ○ 速度情報は速さ、向きに 応じて色付けして表示する
8.
Copyright © Fixstars
Group ● レイヤ& ブロック図 システム構成 ❏ pythonからhostプログラムを 呼び出す pybind11を使用 ❏ hostとFPGA間の画像データの読 み書きはPCIe経由でボード上 DRAMに配置して行う ❏ 画処理プロセスにはストリームで データを流し込む ※LSU … Load Store Unit
9.
Copyright © Fixstars
Group ● OpenCLカーネル ソースコード内容 ハードウェア実装 カーネルの関数定義部 Global Memoryへの ポインタを引数に設定 シフトレジスタで 画素データを順に送る Global Memoryのポインタ にアクセスして画素データ を取得 ここがLSU(DMAC)動作になる ... … ... 全画素データに対して繰り返す ストリーム処理のための基本のループ optical_flow.cl
10.
Copyright © Fixstars
Group ハードウェア実装 ● OpenCLカーネル ソースコード内容 Optical flow演算コード (フィルタ演算ライクな処理) … … タイル状の画素データが保持で きていれば、それを組み合わせ た演算はCと同等に記述できる 複雑な演算でも比較的容易に実 装可能 ※サンプル中ドキュメントより抜粋 Source: Lucas_Kanade_optical_flow_with_OpenCL.pdf Global Memoryに結果データを格納 LSU(DMAC)動作 ストリーム処理の 基本ループ終了
11.
Copyright © Fixstars
Group ● hostプログラムの構成 ○ カーネル引数のパラメータ設定 ○ 入力データをメモリに流し込む ○ カーネル起動→FPGAで処理 ○ 結果データをメモリから回収 ⇒ OpenCL APIを用いて実現 hostプログラム実装 ● 提供されるサンプルプログラム ○ Cライクな記述 テストコードになっている ● C++ class化してアプリケーションとして 使いやすい形に整える
12.
Copyright © Fixstars
Group hostプログラム実装 ● hostプログラム ソースコード修正概要 … pybind11 ヘッダファイルをイン クルード main関数を削除 全体をclass定義でくくる グローバル変数はメンバ変数に、 サブルーチン関数はメンバ関数になる
13.
Copyright © Fixstars
Group hostプログラム実装 ● hostプログラム ソースコード修正概要 … … host側の初期化を分離 (初回一回だけ実行するため) アクセラレーション実行用の run()関数はpublic指定 入出力画像データのインターフェー スとしてnumpy配列を引数に入れる (pybind11で準備されている) Copyright © Fixstars Group
14.
Copyright © Fixstars
Group hostプログラム実装 ● hostプログラム ソースコード修正概要 初期化ルーチンはコンストラクタに、 終了ルーチンはデストラクタに入れておく pybind11用のラッパを追加 定型の記述方法を踏襲
15.
Copyright © Fixstars
Group pythonアプリ実装 ● Optical Flowアプリケーションpythonコード ○ OpenCVチュートリアルコードを流用 ○ Optical Flow処理メソッドをOpenCLに差し替える Source: http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_video/py_lucas_kanade/py_lucas_kanade.html
16.
Copyright © Fixstars
Group pythonアプリ実装 ● python コード OpenCLのクラスを インスタンス OpenCLプログラムに 差し替えて実行 ※前後処理(リサイズ、 表示色調整)はpython 内で実行 optical-flow.py Copyright © Fixstars Group
17.
Copyright © Fixstars
Group デモ実行 ● 実行環境 ○ CentOS 7.9 ○ Quartus Prime Pro 19.3 ○ gcc 6.3.0 ○ python 3.6 ○ ターゲットボード: Stratix10 GX 評価ボード Source: https://www.intel.co.jp/content/www/jp/ja/programmable/products/ boards_and_kits/dev-kits/altera/kit-s10-fpga.html
18.
Copyright © Fixstars
Group デモ実行 ● エミュレーション実行 ※カーネルコードをCPU実行 ○ ハードウェアビルド ○ ソフトウェアビルド ○ アプリ実行 $ aoc -DWINDOW_SIZE=7 -march=emulator device/optical_flow.cl 提供されている Makefile を編集し、 pybind11 用オプションを追加、変更 ・変更:TARGET := OpticalFlowLib`python3-config --extension-suffix` ・追加:PYBINDFLAGS := `python3 -m pybind11 --includes` -shared ・追加: -o $(TARGET_DIR)/$(TARGET) に以下を追加 $(PYBINDFLAGS) -o $(TARGET_DIR)/$(TARGET) $ make → ./bin以下に .so が生成される $ cd ./bin/ $ python optical-flow.py ※画像サイズを1/16(320x200)、 WINDOW7x7に縮小して実行 ■ いずれも数秒で完了する
19.
Copyright © Fixstars
Group デモ実行 ● 実機実行 ○ ハードウェアビルド ■ 合成結果(2hour程度で完了) ○ ソフトウェアビルド、 アプリ実行手順は、 エミュレーションと同等 $ aoc device/optical_flow.cl ALUTs : 57639 Registers : 125,439 Logic utilization : 70,999 / 933,120 ( 8 % ) I/O pins : 165 / 1,152 ( 14 % ) DSP blocks : 43 / 5,760 ( < 1 % ) RAM blocks : 393 / 11,721 ( 3 % ) Actual clock freq : 463.333333333 ※画像サイズ 1280x800 WINDOW52x52
20.
Copyright © Fixstars
Group まとめ ● Optical Flowのサンプルアプリを用いて、Intel FPGA OpenCLフレームワーク を利用したシステム開発の実践的な方法について解説した。 ● ハードウェア設計の知識を駆使することで、ハードウェア性能を引き出すこと ができ、かつ検証、システム結合までシームレスに開発可能。 ● hostプログラムとOpenCLカーネル実装の両方を一人の開発者が手がけることが 可能で、TAT、性能ともに高い効率でシステム開発ができる。 ● hostプログラムまで実装できれば、アプリケーションに組み込む方法は 各種あり情報も多い。手法の概略イメージさえあれば、調査しながら 実現することは可能。
21.
Copyright © Fixstars
Group 高位合成によるFPGA開発のすすめ 〜高速化入門〜
22.
Copyright © Fixstars
Group Yuki MATSUDA 松田 裕貴 ソリューション第一事業部 リードエンジニア 写真
23.
Copyright © Fixstars
Group 自己紹介 ● 松田 裕貴 ● 高速化エンジニア ○ 主に FPGA開発 (Vivado/Vitis HLS, Verilog-HDL) ○ CPU / GPU (CUDA) 高速化を行うこともあり ● 略歴 ○ 2016年 4月 フィックスターズ入社 ■ FPGA による高解像度の画像処理システム開発、 ネットワーク処理のオフロードなどに着手 ■ ACRiブログ にて「FPGAで始めるエッジディープラーニング 」を執筆 (全10回)
24.
Copyright © Fixstars
Group 高位合成 (HLS: High Level Synthesis) による開発とは ● RTL 開発には時間がかかる ○ 演算のスケジューリング設計 ○ RTL ベースの検証は遅い ● HLS を用いて開発すると、 大幅に時間の短縮が可能となる ● Q. よく HLS だとソフトウェアと同じように FPGA 開発が可能と言われるが、実際はどうなのか...? ○ A. なんとなく動く回路を作るだけなら、十分可能 ○ A. FPGA の性能を十分引き出すには、 FPGA の内部アーキテクチャを意識した設計やコーディングが必要になることが多い Source: https://www.legupcomputing.com/blog/index.php/benefits-of-high-level-synthesis-for-fpga-design/
25.
Copyright © Fixstars
Group 本セミナーの内容 ● FPGA の RAM アーキテクチャの特徴が良く出る例として、 二次元フィルタの HLS 実装を紹介 ● 二次元フィルタ処理の HLS 実装を通して、 ○ FPGA のメモリアーキテクチャの柔軟性を理解する ○ HLS による実装時に考慮すべきポイントを理解する
26.
Copyright © Fixstars
Group 二次元フィルタ処理とは ● 各画素に対して、周辺画素の情報から出力画素を決定する処理 Source: https://www.imaginationtech.com/blog/heterogeneous-co mpute-case-study-image-convolution-filtering/
27.
Copyright © Fixstars
Group 二次元フィルタ処理 (cont.) ● コードとして書くと、以下のような4次ループになる ○ 以下は単なる移動平均フィルタ (box filter) の場合 for (int y = 0; y < HEIGHT; y++) { // Y ループ for (int x = 0; x < WIDTH; x++) { // X ループ int sum = 0; // 総和レジスタの初期化 for (int dy = 0; dy < FSIZE; dy++) { for (int dx = 0; dx < FSIZE; dx++) { sum += src[y+dy-FSIZE/2][x+dx-FSIZE/2]; // } } dst[y][x] = sum / (FSIZE * FSIZE); // 平均値の計算 } } ループ方向
28.
Copyright © Fixstars
Group 二次元フィルタにおけるメモリアクセス ● 基本は、1ピクセルに対して周辺ピクセルを取得して計算する ○ DRAM に対するランダムアクセスが発生するので、効率が悪い ● CPU/GPU ではキャッシュやシェアードメモリ等のローカルメモリを用い、 画像の一部 (タイル) をローカルメモリに格納することで高速化する ○ DRAM に対するブロック単位アクセス、ローカルメモリに対するランダムアクセスが発生 メモリアクセスのイメージ ローカルメモリを使って高速化した際のイメージ (赤枠全てをキャッシュ )
29.
Copyright © Fixstars
Group FPGA 内部のメモリアーキテクチャ ● FPGA の内部メモリアーキテクチャは、 独立して使用可能な SRAM を大量に持つことができるのが特徴 ○ SRAM 毎にアクセスパターンを任意に設定可能 ○ メモリ周りは CPU/GPU よりもかなり柔軟な設計が可能 ● 例えば Alveo U250 アクセラレータカード内の FPGA だと、 ○ BRAM (36bit x1024) 2688個, URAM (72bit x4096) 1280個を独立して使用可能 ○ 公称値では、総容量54MB, 総スループット 38Tb/s ■ Source: https://japan.xilinx.com/products/boards-and-kits/alveo/u250.html#specifications ● いかに SRAM を上手に扱うかが FPGA 開発では重要
30.
Copyright © Fixstars
Group 2D Sliding Window ● FPGA で 2D フィルタ処理を実装する際は、 2D Sliding Window というアーキテクチャが良く用いられる ● Sliding Window ではフィルタ処理に必要な周辺行のみをラインバッファ (SRAM) に格納する ● 不必要になったデータは捨てられていく 2D Sliding Window ラインバッファとウィンドウに 格納する範囲
31.
Copyright © Fixstars
Group 2D Sliding Window のメリット ● アクセスパターンがシーケンシャルで効率が良い ● 複数の処理を組み合わせても外部メモリアクセスが増えない Source: https://www.xilinx.com/support/documentation/i p_documentation/dpu/v3_3/pg338-dpu.pdf 2D フィルタ処理 カメラ入出力を使用したシステムでの処理例
32.
Copyright © Fixstars
Group Vitis HLS による 2D Sliding Window の実装 ● HLS で回路を作る際には、基本的にはブロック図に書いたリソースを そのまま C コード上で定義していくことが重要 ○ 今回の例では、Line Buffer や Window の定義、その間のデータの流し方を書く ● レジスタによるタイミング調整はツールが自動で行うのであまり考慮しない ○ タイミングを満たさない場合には、計算方式の再検討が必要な場合もある ※簡単のため、今回の実装では入力画像は予めフィルタサイズ分のボーダーがつけられていると仮定
33.
Copyright © Fixstars
Group 2D Sliding Window の実装: 全体の構成 ● まずはカーネル関数を定義する ○ ストリーム入出力のため、インターフェースにはストリーム型を置く ● フィルタのループ内には、#pragma HLS pipeline を書く (optional) ○ フィルタモジュールが毎サイクル データを入出力できるようにする void box_filter_hls(hls::stream<uint8_t>& src, hls::stream<uint8_t>& dst) { // リソース定義: ラインバッファ・ウィンドウ ... for (int y = 0; y < HEIGHT; y++) { for (int x = 0; x < WIDTH; x++) { #pragma HLS pipeline II=1 // ラインバッファ・ウィンドウの更新 ... // 計算処理 ... } } } }
34.
Copyright © Fixstars
Group 2D Sliding Window の実装: リソース定義 ● Line Buffer, Window を配列として定義する ● Line Buffer はフィルタサイズ (FSIZE) - 1 個の SRAM として定義する ○ #pragma HLS array_partition complete dim=1 ● Window は全てレジスタに展開する ○ 1 サイクルに9個の値全てを使用したいため ○ #pragma HLS array_partition complete dim=0 void box_filter_hls(hls::stream<uint8_t>& src, hls::stream<uint8_t>& dst) { // リソース定義: ラインバッファ (FSIZE-1個) static uint8_t linebuf[FSIZE - 1][WIDTH]; #pragma HLS array_partition variable=linebuf complete dim=1 // リソース定義: ウィンドウレジスタ static uint8_t window[FSIZE][FSIZE]; #pragma HLS array_partition variable=window complete dim=0 for (int y = 0; y < HEIGHT; y++) { for (int x = 0; x < WIDTH; x++) { … } } }
35.
Copyright © Fixstars
Group 2D Sliding Window の実装: データフローの記載 ● 定義したリソース間の データフローを書いていく ○ ラインバッファの更新は省略 ● HLS にはノンブロッキング代入が ないので、更新順には注意が必要 void box_filter_hls(hls::stream<uint8_t>& src, hls::stream<uint8_t>& dst) { ... for (int y = 0; y < HEIGHT; y++) { for (int x = 0; x < WIDTH; x++) { // スライディングウィンドウを進める処理(末尾以外) for (int dy = 0; dy < FSIZE; dy++) { for (int dx = 0; dx < FSIZE-1; dx++) { window[dy][dx] = window[dy][dx+1]; } } // スライディングウィンドウを進める処理(末尾) for (int dy = 0; dy < FSIZE; dy++) { if (dy == FSIZE - 1) { // 入力画素を入れる window[dy][FSIZE-1] = src_pix; } else { // ラインバッファ先頭の画素を入れる window[dy][FSIZE-1] = line_tops[dy]; } } // ラインバッファ更新処理 ... ...
36.
Copyright © Fixstars
Group 2D Sliding Window の実装: フィルタ計算 ● 計算部は、単純にウィンドウ内の総和を取るだけ ● 毎サイクル FSIZE x FSIZE 回の加算が行われるよう、 自動で演算器は展開される ○ ループ外の pipeline で指示しているため ● タイミング制約を満たすための レジスタ追加は、HLSが自動で行う void box_filter_hls(hls::stream<uint8_t>& src, hls::stream<uint8_t>& dst) { ... for (int y = 0; y < HEIGHT; y++) { for (int x = 0; x < WIDTH; x++) { #pragma HLS pipeline II=1 ... // 計算処理 int sum = 0; for (int dy = 0; dy < FSIZE; dy++) { for (int dx = 0; dx < FSIZE; dx++) { sum += window[dy][dx]; } } sum /= (FSIZE * FSIZE); // 平均の計算 ... } } }
37.
Copyright © Fixstars
Group 2D Sliding Window の実装: コード全体 ● 今回書いたコードは 74行だけなので、 アーキテクチャを意識して書くといっても RTL よりは大幅に楽に開発が可能
38.
Copyright © Fixstars
Group 2D Sliding Window の実装: 高位合成結果 ● モジュールパラメータ ○ 画像サイズ: 1920x1080 ○ フィルタサイズ: 5x5 ○ 動作周波数: 300MHz (target: xcvu9p-flga2104-2L-e) ● 1 pixel/cycle の処理性能のため理論性能は 約300Mpix/sec -> 144.7 fps ● ベクトル化により pixel/cycle を向上すれば、更に性能向上も可能 シミュレーション波形 入力 出力 合成結果
39.
Copyright © Fixstars
Group まとめ ● HLS による開発を行う際には、 どのような回路を作りたいのか事前にイメージするのが大事 ○ HLS は優秀なので、回路をあまり意識せず書いたコードでも(効率は悪いが) 動いてしまう ○ あくまで C/C++ を使って HW を書くイメージ ● 効率の良い回路を作るための最適化指示詞を知っておくのも大事 ○ 処理性能を向上させるための指示詞(pipeline, unroll, dataflow, etc.) ○ リソースの構成に対する指示詞(array_partition, bind_storage, bind_op, etc.) ○ 詳細は UG1399 などを参照 ● どうしても HLS では書けない処理もあるので、 設計段階での見極めも大事
40.
Copyright © Fixstars
Group Thank you for your participation ご参加いただきありがとうございました
Download now