SlideShare a Scribd company logo
ソフトウェアエンジニアと高位合成
満田 賢一郎, 大和田 浩司, 山本 真司
(株)システム計画研究所/ISP
2016/11/29
デザインガイア2016 -VLSI設計の新しい大地-
於 立命館大学大阪いばらきキャンパス
はじめに:ISPがHLSでFPGA開発をする背景
■ 所属:(株)システム計画研究所/ISP
■ 1977年創業の独立系研究開発型のソフトウェア開発会社です。
はじめに:ISPがHLSでFPGA開発をする背景
■ 所属:(株)システム計画研究所/ISP
■ 1977年創業の独立系研究開発型のソフトウェア開発会社です。
■ ISPの事業分野
■ 医療情報・Webアプリケーションシステム事業
■ 通信・ネットワーク・制御・宇宙システム事業
■ AIシステム事業
■ 画像処理システム事業
■ 独自の画像処理アルゴリズム開発:ROBUSKEY等
■ アトラクションシステム開発:赤外線通信ボードの製作(FPGA込み)
はじめに:ISPがHLSでFPGA開発をする背景
■ 所属:(株)システム計画研究所/ISP
■ 1977年創業の独立系研究開発型のソフトウェア開発会社です。
■ ISPの事業分野
■ 医療情報・Webアプリケーションシステム事業
■ 通信・ネットワーク・制御・宇宙システム事業
■ AIシステム事業
■ 画像処理システム事業
■ 独自の画像処理アルゴリズム開発:ROBUSKEY等
■ アトラクションシステム開発:赤外線通信ボードの製作(FPGA込み)
画像処理でFPGAを用いたアルゴリズムの高速処理に関心
ソフトウェアエンジニアとFPGA
FPGAに手を出しやすくなってきた?
SWエンジニアがFPGA開発を始めやすくなった要因
■ 安価なボードの登場
■ 1~5万円程度の評価ボードの登場
■ Raspberry PiのようなSBCの感覚で使おうとする
■ 開発環境の低価格化と進化
■ 高位合成を含む設計ツールの無償化(デバイスの制限あり)
■ Xilinx SDSoCやSDAccelの様な、SW/HW統合開発環境
■ FPGA開発に関する情報の増加
■ FPGAマガジンの創刊(2013年)
■ FPGAエクストリーム・コンピューティング(2013年)
世間でのFPGAに関する話題
■ ここ2年の間に「FPGA」という言葉が一気に浸透
■ FPGA関連でソフトウェアエンジニアの印象に残ったニュースタイトル
2014年6月 MSがデータセンターにFPGAを投入 Bing検索を高速化へ
2014年9月 BaiduもデータセンターにFPGA導入か、ディープラーニング
でAlteraと提携
2014年11月 ニコニコ動画をFPGA/ASICで高速化、ネット企業のドワンゴ
がハード技術者を募集
2015年6月 米インテル、アルテラ買収を発表
2016年10月 iPhone 7 に搭載の「謎のチップ」 VR機能に活用の可能性
FPGAがデータセンターで使われる!?
■ FPGAで機械学習やDLのアルゴリズム処理を実装
■ これまでCPUやGPGPUで行っていた処理を肩代わり?
FPGA
世間でのFPGAに関する話題
■ ここ2年の間に「FPGA」という言葉が一気に浸透
■ FPGA関連でソフトウェアエンジニアの印象に残ったニュースタイトル
2014年6月 MSがデータセンターにFPGAを投入 Bing検索を高速化へ
2014年9月 BaiduもデータセンターにFPGA導入か、ディープラーニング
でAlteraと提携
2014年11月 ニコニコ動画をFPGA/ASICで高速化、ネット企業のドワンゴ
がハード技術者を募集
2015年6月 米インテル、アルテラ買収を発表
2016年10月 iPhone 7 に搭載の「謎のチップ」 VR機能に活用の可能性
FPGAに興味を持つ人が急増!?
■ FPGAエクストリームコンピューティングへの参加申込者数
■ エンジニア(HW/SWとも)の間で高い関心
■ SWエンジニアはFPGAに幻想を抱いている?
回数 開催時期@会場 申込者数/定員
第4回 2013/11/10(日)@ニフティ 64/80人 (0.8倍)
第5回 2014/03/10(月)@ニフティ 72/80人 (0.9倍)
第6回 2015/02/01(日)@ドワンゴ 230/80人 (2.9倍)
第7回 2015/08/02(日)@ドワンゴ 274/80人 (3.4倍)
第8回 2016/08/24(水)@ドワンゴ 229/90人 (2.5倍)
世間でのFPGAに関する話題
■ ここ2年の間に「FPGA」という言葉が一気に浸透
■ FPGA関連でソフトウェアエンジニアの印象に残ったニュースタイトル
2014年6月 MSがデータセンターにFPGAを投入 Bing検索を高速化へ
2014年9月 BaiduもデータセンターにFPGA導入か、ディープラーニング
でAlteraと提携
2014年11月 ニコニコ動画をFPGA/ASICで高速化、ネット企業のドワンゴ
がハード技術者を募集
2015年6月 米インテル、アルテラ買収を発表
2016年10月 iPhone 7 に搭載の「謎のチップ」 VR機能に活用の可能性
FPGAがPCやサーバでも使われる!?
■ 将来、FPGAで様々なアプリケーションを処理?
■ これは、ポストムーアへの布石?
■ 非ノイマン型ができないとSWエンジニアも仕事がなくなる!?
FPGA
世間でのFPGAに関する話題
■ ここ2年の間に「FPGA」という言葉が一気に浸透
■ FPGA関連でソフトウェアエンジニアの印象に残ったニュースタイトル
2014年6月 MSがデータセンターにFPGAを投入 Bing検索を高速化へ
2014年9月 BaiduもデータセンターにFPGA導入か、ディープラーニング
でAlteraと提携
2014年11月 ニコニコ動画をFPGA/ASICで高速化、ネット企業のドワンゴ
がハード技術者を募集
2015年6月 米インテル、アルテラ買収を発表
2016年10月 iPhone 7 に搭載の「謎のチップ」 VR機能に活用の可能性
FPGAがスマートフォンにまで!?
■ Forbes JAPANの記事
■ ラティスのFPGA「ICE5LP4K」
■ 現状ではさすがに……。でも将来はあるかも。
FPGA
こんなニュースが流れること自体、FPGAへの期待度の現れ!
私と高位合成によるFPGA開発
アジェンダ:ISPのFPGA開発の歩み
■ 年表
時期 トピックス
2012年頃~ FPGA開発環境の整備を開始
2013年11月 満田が参画
2013年12月 ZedBoardでLチカ、RTL設計に限界を感じ引退
2014年 2月 Xilinxの公式HLSトレーニングを受講
2014年8月~10月 ROBUSKEYのFPGA化
2015年2月~ SDSoCでの開発に着手
現在~ HLS/SDSoCを使うための課題
講演者の略歴
■ 通信・ネットワーク・制御・宇宙システム事業の部署に配属
主に通信システム開発に従事
■ 無線通信装置の制御ファームウェア開発
■ Wi-Fiから4Gまで通信関連の規格調査を経験
■ 各種ドキュメントからの規格の調査を経験
講演者の略歴
■ 通信・ネットワーク・制御・宇宙システム事業の部署に配属
主に通信システム開発に従事
■ 無線通信装置の制御ファームウェア開発
■ Wi-Fiから4Gまで通信関連の規格調査を経験
■ 2013年11月に画像処理システム事業の部署へ異動
■ 目的:FPGAで自社の画像処理アルゴリズムの高速化
■ AVNET製ZYNQ搭載ボードZedBoardを渡され、手探りで着手
講演者の略歴
■ 通信・ネットワーク・制御・宇宙システム事業の部署に配属
主に通信システム開発に従事
■ 無線通信装置の制御ファームウェア開発
■ Wi-Fiから4Gまで通信関連の規格調査を経験
■ 2013年11月に画像処理システム事業の部署へ異動
■ 目的:FPGAで自社の画像処理アルゴリズムの高速化
■ 近年は画像処理システム事業、AIシステム事業に携わる
■ 主に、組み込みシステムの応用に従事
ZedBoardを手にした当時の私の状況
■ HW/FPGAについては全くの初心者
■ RTL設計(VHDL/VerilogHDL)未経験
■ 組み込みLinux/ARM cpuは多少知っている程度
ZedBoardを手にした当時の私の状況
■ HW/FPGAについては全くの初心者
■ とりあえずZedBoardを使ってみよう!
■ USBにキーボード、マウスを接続
■ HDMIにディスプレイを接続
■ 付属のSDカードを挿入
■ 電源ON
画面に2羽のペンギンが映るだけでなにも起こらない…
ZedBoardを手にした当時の私の状況
■ HW/FPGAについては全くの初心者
■ RTL設計(VHDL/VerilogHDL)未経験
■ 組み込みLinux/ARM cpuは多少知っている程度
■ とりあえずZedBoardを使ってみよう!
■ USBにキーボード、マウスを接続
■ HDMIにディスプレイを接続
■ 付属のSDカードを挿入
■ 電源ON
画面に2羽のペンギンが映るだけでなにも起こらない…
まずはドキュメントを読んで、チュートリアルで勉強開始
はじめてのFPGA、RTL設計との出会いと別れ
■ 年表
時期 トピックス
2012年頃~ FPGA開発環境の整備を開始
2013年11月 満田が参画
2013年12月 ZedBoardでLチカ、RTL設計に限界を感じ引退
2014年 2月 Xilinxの公式HLSトレーニングを受講
2014年8月~10月 ROBUSKEYのFPGA化
2015年2月~ SDSoCでの開発に着手
現在~ HLS/SDSoCを使うための課題
まずはプラットフォーム部分の勉強
■ ZedBoard.org & Digilentの公式ドキュメントを一通り読む
■ そもそも、ZYNQってどんなSoC FPGA?
■ ZedBoardってどんな機能が使えるの?
■ 開発環境、ソフトウェア(OS、ライブラリ)
ZYNQ
● VIVADO
● SDK
● VIVADO HLS
FPGA開発の基礎の基礎を勉強(しようとした)
■ ZedBoard.org & Digilentの公式ドキュメントを一通り読む
■ VHDLの教科書も読んで勉強
■ ほとんどの本は「順序回路」の解説後、簡単なアプリの例で終了
誰でも分かるVHDL入門
誰にでも分かる範囲の事
が書いてある
1ヶ月後、ZedBoardでLチカ
■ ZedBoard.org & Digilentの公式ドキュメントを一通り読む
■ この間、VHDLの教科書も読んで勉強
■ Digilentのチュートリアルを改造してLチカ(2013年12月)
■ ISE 14.4でVHDLを書いて以下の機能を作成
■ LED点滅(PWM)周期をubuntu LinuxのコンソールのGPIOから設定
■ OLEDに弊社ロゴを表示
ZedBoardでLチカを実装して得た結論
■ ZedBoard.org & Digilentの公式ドキュメントを一通り読む
■ この間、VHDLの教科書も読んで勉強
■ Digilentのチュートリアルを改造してLチカ(2013年12月)
やはり、既存のソフトウェアからHLSで開発するしかない?
画像処理のアルゴリズ
ム実装までのギャップ
が埋められない……
高位合成に挑戦
■ 年表
時期 トピックス
2012年頃~ FPGA開発環境の整備を開始
2013年11月 満田が参画
2013年12月 ZedBoardでLチカ、RTL設計に限界を感じ引退
2014年 2月 Xilinxの公式HLSトレーニングを受講
2014年8月~10月 ROBUSKEYのFPGA化
2015年2月~ SDSoCでの開発に着手
現在~ HLS/SDSoCを使うための課題
HLSはじめの一歩
■ まず、XilinxのUG902を読み、UG871(チュートリアル)を実施
■ UG902:Vivadoユーザガイド 高位合成
■ 高位合成とは何か?
■ ディレクティブ記述方法、ライブラリのリファレンスガイド
まずは、やってみよう
HLSはじめの一歩
■ まず、XilinxのUG902を読み、UG871(チュートリアル)を実施
■ UG902:Vivadoユーザガイド 高位合成
■ 高位合成とは何か?
■ ディレクティブ記述方法、ライブラリのリファレンスガイド
■ UGは「バイブル」ではあるが、「入門書」ではない
これだけではまだ自分
でできる気がしない
HLSはじめの一歩
■ まず、XilinxのUG902を読み、UG871(チュートリアル)を実施
■ しかし、これだけではまだ自分でできる気がしなかった
■ Xilinx All Programmable Day 7thでトレーニングを受講
「Cコードベース設計:Vivado HLSを使用した高位合成」
■ 担当の私とHW技術者が受講
■ 高位合成の基礎・基本の理解
■ Vivado HLSの使い方を実体験
■ HLSで生成されるI/Fについての理解
■ もらえる教科書がUGよりとっつきやすい
この受講をきっかけに、HLSで色々と試すことになった
高位合成に挑戦
■ 年表
時期 トピックス
2012年頃~ FPGA開発環境の整備を開始
2013年11月 満田が参画
2013年12月 ZedBoardでLチカ、RTL設計に限界を感じ引退
2014年 2月 Xilinxの公式HLSトレーニングを受講
2014年8月~10月 ROBUSKEYのFPGA化
2015年2月~ SDSoCでの開発に着手
現在~ HLS/SDSoCを使うための課題
ROBUSKEYアルゴリズムのHW化への課題
ROBUSKEYアルゴリズムをFPGAで動かすための課題
1. アルゴリズムそのもののHLSによるIP化
■ もともとの実装は、Visual C++で実装
■ 主な処理は非常に複雑な数値演算
2. IPを組み込んで動作させるためのプラットフォーム作成
■ 展示会で実動作するデモシステムを作る
■ 入力:民生品のビデオカメラからHDMI入力(1080p)
■ 出力:PC用のディスプレイにデジタル出力(FullHD)
■ 展示中のPC接続は無し。(起動時のパラメータ設定などはOK)
■ 品質としては展示中に動いてさえいれば良い
IP版ROBUSKEYと周辺回路あわせたHW一式を作る
ROBUSKEYアルゴリズムを高位合成しデモ展示
■ 2014/8/E~10/Eで開発
■ 担当:私&HW技術者
■ InterBEEに参考出品
■ 実装した機能
■ グリーンバック対応
■ HDMI入出力(1080p)
■ 入力はビデオカメラ
■ 出力はPCディスプレイ
■ Xilinx社製 ZC706で動作
■ 弊社「技ラボ」にて報告
ROBUSKEY:ISP独自の高品位クロマキー合成アルゴリズム
ROBUSKEYデモ作成から感じた事
■ HLSはやはりFPGA実装の強力なツール
■ 特にソフトウェアの機能をHW化(IP化)する場合に有効
■ ただしリソースや速度面で良い設計になるとは限らない
■ ソフトウェア技術者がFPGAを使うことへの障壁を引き下げた
HLSは使えるという確かな手ごたえを得た!
ROBUSKEYデモ作成から感じた事
■ HLSはやはりFPGA実装の強力なツール
■ 特にソフトウェアの機能をHW化(IP化)する場合に有効
■ ただしリソースや速度面で良い設計になるとは限らない
■ ソフトウェア技術者がFPGAを使うことへの障壁を引き下げた
HLSは使えるという確かな手ごたえを得た
■ ZYNQプラットフォームはSW技術者には取っつきやすい
■ ZYNQではSWもHWも動作するため最初のハードルが低い
■ CPUとFPGAが一体のため、制御用SWも作りやすい
■ ただしCPU/FPGAの協調処理をする場合などはそれなりに難しい
高位合成があればFPGA開発は簡単?
ROBUSKEYデモ作成で行った作業
■ 全体の作業フロー
a. Vivado IPIで対象アルゴリズムを組み込むプラットフォームの設計
b. PC上でSW実装のアルゴリズムから、HW化する処理を抽出
c. Vivado HLS上で、抽出した処理の移植(ディレクティブも挿入)
d. Vivado HLSでアルゴリズムのcsim/CoSimで確認しIP化
e. Vivado IPIで作成したIPを結合し合成、インプリメンテーション
f. SDKでアプリケーションSW、BSP、Bootの作成
周辺回路やIPといった部品から作成し、それらを統合して最後に
SWを書くという点で作業工程は「ボトムアップ型」
高位合成でのIP作成は作業のごく一部
■ 高位合成に関する作業はIP作成部分のみ
a. Vivado IPIで対象アルゴリズムを組み込むプラットフォームの設計
b. PC上でSW実装のアルゴリズムから、HW化する処理を抽出
c. Vivado HLS上で、抽出した処理の移植(ディレクティブも挿入)
d. Vivado HLSでアルゴリズムのcsim/CoSimで確認しIP化
e. Vivado IPIで作成したIPを結合し合成、インプリメンテーション
f. SDKでアプリケーションSW、BSP、Bootの作成
作業的にはc,dで1ヶ月、その他a,b,e,fで計1ヶ月
そもそも、高位合成でのIPを作成以外にもSWエンジニアにとって
はハードルの高い作業が沢山ある。
SWエンジニアが感じる、高位合成以外の課題
■ プラットフォームの扱いが難しい
■ 作成したIPを試用・評価するためのプラットフォームをどうするか?
■ ROBUSKEYのプラットフォーム作成にも2週間程度試行錯誤
SWエンジニアが感じた高位合成以外の課題
■ プラットフォームの扱いが難しい
■ 作成したIPを試用・評価するためのプラットフォームをどうするか?
■ ROBUSKEYのプラットフォーム作成にも2週間程度試行錯誤
■ 複数のツールを使うなど、開発手順が煩雑
■ Vivado HLS→Vivado(IPI)→SDKと3種類のツールが必要
■ 各ツールごとにプロジェクトを管理する必要がある
SWエンジニアが感じた高位合成以外の課題
■ プラットフォームの扱いが難しい
■ 作成したIPを試用・評価するためのプラットフォームをどうするか?
■ ROBUSKEYのプラットフォーム作成にも2週間程度試行錯誤
■ 複数のツールを使うなど、開発手順が煩雑
■ Vivado HLS→Vivado(IPI)→SDKと3種類のツールが必要
■ 各ツールごとにプロジェクトを管理する必要がある
■ 「ボトムアップ型」の開発手順に戸惑う
■ SWの設計ではシステム全体から詳細への「トップダウン型」
SWエンジニアが感じた高位合成以外の課題
■ プラットフォームの扱いが難しい
■ 作成したIPを試用・評価するためのプラットフォームをどうするか?
■ ROBUSKEYのプラットフォーム作成にも2週間程度試行錯誤
■ 複数のツールを使うなど、開発手順が煩雑
■ Vivado HLS→Vivado(IPI)→SDKと3種類のツールが必要
■ 各ツールごとにプロジェクトを管理する必要がある
■ 「ボトムアップ型」の開発手順に戸惑う
■ SWの設計ではシステム全体から詳細への「トップダウン型」
これらの課題は、ツールベンダ側でも認識
より高度なツールによる課題解決
■ プラットフォームの扱いが難しい
■ 複数のツールを使うなど、開発手順が煩雑
■ 「ボトムアップ型」の開発手順に戸惑う
より高度なツールによる課題解決
■ プラットフォームの扱いが難しい
■ 複数のツールを使うなど、開発手順が煩雑
■ 「ボトムアップ型」の開発手順に戸惑う
これらの問題を解決するさまざまなツールが登場
ツールの例
・SDSoC™ , SDAccel™(Xilinx)
・Visual System Integrator(SystemView)
ISPではSDSoCを導入。
SWベースのアルゴリズムオフロードでの効果を発揮
SDSoCでの作業フローの実際
■ SW実装済みアルゴリズムをアクセラレーションする場合
PC上のgcc処理系で対象SWを実装
SDSoCでZYNQ PS向けに移植
オフロード対象を選定
SDSoCでZYNQ PL部にオフロード
オフロード後の機能、性能をテスト
1
2
3
4
5
大きな修正
普通のチューニング
Vivado HLSで作業
ゴールデンデータ作成
SDSoC導入の効果
■ プラットフォームの扱いは簡単になったか?
■ サポート済みボードZC702を使っている分にはあまり困らない!
SDSoC導入の効果
■ プラットフォームの扱いは簡単になったか?
■ サポート済みボードZC702を使っている分にはあまり困らない!
■ 開発手順の煩雑さは解消されたか?
■ 各ツールのレポートはSDSoCから参照可能
■ VIvado HLSはHW化対象の処理をDebugするために使用
■ ベースとなるSWの作成にはPC上のC/C++開発環境の方が便利
SDSoC導入の効果
■ プラットフォームの扱いは簡単になったか?
■ サポート済みボードZC702を使っている分にはあまり困らない!
■ 開発手順の煩雑さは解消されたか?
■ 各ツールのレポートはSDSoCから参照可能
■ VIvado HLSはHW化対象の処理をDebugするために使用
■ ベースとなるSWの作成にはPC上のC/C++開発環境の方が便利
■ SWと同様の「トップダウン型」の開発フローでOKか?
■ 個人的には「トップダウン型」で行けていると思う
【率直な感想】
「SW実装されたアルゴリズムをHW化する」ための良いツール
SWからの高位合成で考慮すること
■ 大前提:元のアルゴリズムの機能を担保すること
■ ただし、実現不可な機能や本質的で無い機能は整理する
■ ダイナミックに確保されるメモリなど必要量を決めて固定化
■ SWの柔軟性に資するパラメータなどは整理してなるべく固定化
■ アクセラレータによる「目標性能」をどうするか
■ HW化によって達成すべき性能は決まっているか?
■ 決まっている場合、その目標は妥当か?
■ 決まっていない場合はどうするか?
実際の作業としては、アルゴリズムの機能を常に確認しながら、
性能のチューニングを行う
SWから高位合成で開発を行った例
■ 元のSW:ある種の画像に対して、数値処理を繰り返す
■ SWから高位合成では①をベースに③を開発する作業
①元のSW実装
● VS2013で実装
● C++11
● IntelCPUに最適化
● 高い保守性、柔軟性
③高位合成対応の実装
● Vivado HLS2016.2
● C++0x
● HWに最適化(性能面)
②本来のアルゴリズム
● 画像をベースに数値処理
SWから高位合成の例 Step1
■ SW実装を高位合成が可能なソースコードに書き換える
■ この例では、ここで固定小数点化も実施
■ 高位合成の結果(Vivado HLSの見積もり値)
■ ターゲットに対して、BRAMリソースがオーバー
■ この実装でZynq PS部での動作速度: 約150fps
■ PSは667MHzで動作
BRAM DSP FF LUT
消費量 400 24 17350 28100
リソース 280 220 106400 53200
SWから高位合成の例 Step2
■ Step1のコードを、元のアルゴリズムベースで還元
■ データとパラメータの保持方法などを再検討
■ 演算タスクの粒度を見直しし、リソース最小化を図る
■ これでターゲットのリソースに収まった
■ この実装でZynq PS部での動作速度:約150fps→270fps
■ この実装でZynq PL部での動作速度:約150fps
■ PSは667MHz, PLは100MHzで動作
■ アルゴリズムベースの実装に還元した結果、SWも高速化
BRAM DSP FF LUT
消費量 400→145 24→6 17350→4450 28100→5377
リソース 280 220 106400 53200
SWから高位合成の例 Step3
■ Step2のコードから、並列化による速度向上
■ サイクル数をベースに各演算タスクの並列度と目標性能を設定
■ リソースの余裕をみて、微調整を繰り返す
■ 演算並列化の結果、DSPの消費の増加率が最も高い
■ この実装でZynq PS部での動作速度:約270fps→173fps
■ この実装でZynq PL部での動作速度:約150fps→7400fps
■ PSは667MHz, PLは100MHzで動作
■ HW向けに最適化したコードは元のSW実装と全く別物
BRAM DSP FF LUT
消費量 145→219 6→55 4450→9771 5377→14257
リソース 280 220 106400 53200
高位合成で良い回路を設計するために必要な事
■ 森岡澄夫氏の言葉を引用 (FPGAマガジンNo.10 pp.9より)
『回路設計では、達成すべき速度性能・クロック周波数・面積が明確な数値
目標として決まっているのが普通で、回路設計者は機能だけでなく性能を
いかに達成するかに腐心しています。』
■ HLSでは性能面のチューニングが直接的ではない
■ C/C++言語では「クロック」や「面積」「並列度」を記述できない
■ HLSでは指示子を用いて性能面のコントロールを行う
■ 指示子の意図が反映されるかは処理系次第
HWの知識を前提に、HLSのテクニックに熟知することが重要
SWから高位合成で良い回路を作る道筋
■ SWから高位合成では①をベースに②に立ち返り、
改めて③を開発する作業とすべき
①元のSW実装
● CPUに最適化
● 保守性、柔軟性
● そこそこの性能
③高位合成対応の実装
● HWに最適化(性能面)
● 設計された機能
● 設計された性能
②本来のアルゴリズム
● 機能(処理内容)
● 性能(速度、効率)
SWエンジニアは高位合成を使いこなせるのか?
■ SWエンジニアが高位合成/FPGAを使う際の課題
■ よく「高位合成はHWを知らないと使えない」と言われる
■ ここでの「HW」とは、まずは以下の2つと考えられる
1. FPGAおよびFPGAを構成する要素技術とその特性
2. 非ノイマン型のアーキテクチャに関する理解
■ なぜ、「HW」に関する2つの事を知る必要があるのか?
これらを理解しないと、HLSで良い設計ができないから
SWエンジニアが感じる高位合成での違和感
■ SWエンジニアには「物理リソース」の感覚が無い
■ 例1)HLS_Cで記述した関数の引数 W,X,Y,Zは「何になるのか」
void dut(din_t W, din_t X, dout_t *Y, dout_t Z[5])
■ データポート?
■ メモリ(FIFO/BRAM)?
■ プロトコルは?
SWエンジニアが感じる高位合成での違和感
■ SWエンジニアには「物理リソース」の感覚が無い
■ 例1)HLS_Cで記述した関数の引数 W,X,Y,Zは「何になるのか」
void dut(din_t W, din_t X, dout_t *Y, dout_t Z[5])
■ SWエンジニアには「面積」の感覚が無い
■ 例2)階層化された関数は、どのように「配置されるのか」?
dut(…){
A(…); //sub関数A
B(…); //sub関数B
C(…); //sub関数C
D(…); //sub関数D
…
}
SWエンジニアが感じる高位合成での違和感
■ SWエンジニアには「物理リソース」の感覚が無い
■ 例1)HLS_Cで記述した関数の引数 W,X,Y,Zは「何になるのか」
void dut(din_t W, din_t X, dout_t *Y, dout_t Z[5])
■ SWエンジニアには「面積」の感覚が無い
■ 例2)階層化された関数は、どのように「配置されるのか」
時間軸で展開
A B C D
A
B
D
C
空間的に展開
「SWエンジニアは処理を時間軸で、HWエンジニアは処理を空間に配置」
SWエンジニアが感じる高位合成での違和感
■ SWエンジニアには「物理リソース」の感覚が無い
■ 例1)HLS_Cで記述した関数の引数 W,X,Y,Zは「何になるのか」
void dut(din_t W, din_t X, dout_t *Y, dout_t Z[5])
■ SWエンジニアには「面積」の感覚が無い
■ 処理をSWエンジニアは時間軸で、HWエンジニアは空間に配置
→高位合成は、新しいプログラミング言語を学ぶのとは違う
SWエンジニアが高位合成を使うために学びたい事
■ はじめて高位合成を経験したエンジニアへのヒアリング
■ 中堅SWエンジニア
■ 画像処理アプリケーションの一部をオフロードする
■ タスク分割やデータは事前に検討済み
■ SDSoC 2016.2を使用
SWエンジニアが高位合成を使うために学びたい事
■ はじめて高位合成を経験したエンジニアへのヒアリング
■ 最も困った点「自分が書いたものが、どうなっているか分からない」
■ ソースコードで意図したとおりに、HWが出来ているか判断できない
■ ビルド時のメッセージが大量で複雑
■ 各種レポートを見るのに慣れるまで時間がかかる
■ 高位合成の結果、リソース消費が問題となった場合の対策
■ 「要因は何か?」
■ 「どこをどう直すのか?」
SWエンジニアが高位合成を使うために学びたい事
■ はじめて高位合成を経験したエンジニアへのヒアリング
■ 最も困った点「自分が書いたものが、どうなっているか分からない」
■ ソースコードで意図したとおりに、HWが出来ているか判断できない
■ ビルド時のメッセージが大量で複雑
■ 各種レポートを見るのに慣れるまで時間がかかる
■ 高位合成の結果、リソース消費が問題となった場合の対策
■ 「要因は何か?」
■ 「どこをどう直すのか?」
■ 事前に学んでおきたい点は以下に集約
■ FPGAを構成する要素技術や動作の特性
■ 非ノイマン型のアーキテクチャに関する理解
SWエンジニアが高位合成を使うために学びたい事
■ はじめて高位合成を経験したエンジニアへのヒアリング
■ 最も困った点「自分が書いたものが、どうなっているか分からない」
■ ソースコードで意図したとおりに、HWが出来ているか判断できない
■ 高位合成の結果、リソース消費が問題となった場合、
■ 「要因は何か?」「どこをどう直すのか?」
■ あまり気にならなかった点
■ ディレクティブを含む、HLS独特のコード記述法
■ 違和感があったところをリファクタリングしてみたら、エラーになった。
■ エラーになる理由は不明だが、「そういうものか」と自分を納得させた。
■ ツールのlook&feel(SDSoC)
SWエンジニアは「おまじない」を受け入れる事には慣れている
SWエンジニアにHWを学ぶ場はあるか?
■ 一般的に理解を進めるための理想的な環境
■ 基礎についての講義ができる先生がいる
■ 全く知らない概念を、本やwebだけ独学するのは厳しい
■ 先生は必ずしも身の回りに居なくても良い
■ 座学で学んだ知識を実践で体感できる
■ 自由に評価ボード、ツールを使用して体感することで技術が身につく
■ 体感したことを共感し確認できる仲間・メンターがいる
■ 思った通りうまく行ったことは自慢したい
■ うまく行かなかったことは相談し、解決したい
■ 身に着けた知識・技術を活用できること
■ 自分が先生になるのも良い
■ もちろん、仕事に活かせるのが一番良い
SWエンジニアにHWを学ぶ場が無い場合…
■ これは複数の方の話を合わせた結果ですが
■ 基礎についての講義ができる先生がいるか?
■ 有償トレーニングを受ける機会は無かった
■ webの情報で何とかなると思ってた
■ 座学で学んだ知識を実践で体感できたか?
■ リファレンスデザインが古いバージョンのツールしか対応していなかった
■ 使ったサードパーティのボードはリファレンスデザインが少なかった
■ 体感したことを共感し確認できる仲間・メンターがいるか?
■ ネットで見かけた人たちも、みんなうまく行ってなかった。
■ 「うまくいかないねー」っという話で飲み会が盛り上がった
■ 身に着けた知識・技術を活用できること?
■ ……
まとめ:SWエンジニアでも高位合成を使うべき
■ SWエンジニアも高位合成を使いたい
■ SWエンジニアでもちゃんと目的を持っている
■ アプリケーションの動作速度を上げたい
■ MSやBaiduの例でも明らか
■ 自分のアプリケーションが動くプラットフォームを増やしたい
■ 弊社のROBUSKEYがPC以外で動くことを熱望
まとめ:SWエンジニアでも高位合成を使うべき
■ SWエンジニアも高位合成を使いたい
■ SWエンジニアでもちゃんと目的を持っている
■ アプリケーションの動作速度を上げたい
■ 自分のアプリケーションが動くプラットフォームを増やしたい
■ FPGAという選択肢を持つことによる技術の発展
■ これまで無理だと思っていたニーズに応えられる可能性
■ ニーズから新たな研究のシーズへ転換
■ これまで知らなかったシーズを元に、新たなニーズを創出
■ Xilinx公式のトレーニングを受講する
■ 無料版のVivado_HLxやSDSoCにはTCが無い。でも行く価値あり!
■ Xilinxが発信する一次情報を探す
■ ドキュメント、Webのデザインハブ、フォーラムの回答
■ 本などで勉強
■ FPGAマガジン No.10, No.14, No.6など CQ出版
■ 天野英晴 編(2016)『FPGAの原理と構成』 オーム社
■ 森岡澄夫(2002)『HDLによる高性能ディジタル回路設計』 CQ出版
■ 森岡澄夫(2012)『LSI/FPGAの回路アーキテクチャ設計法』 CQ出版
■ 各種イベント、技術者交流会での情報交換
参考:SW技術者がHLSをつかうためのヒント

More Related Content

What's hot

Node-RED導入時の効果的な開発を考える
Node-RED導入時の効果的な開発を考えるNode-RED導入時の効果的な開発を考える
Node-RED導入時の効果的な開発を考える
Makoto SAKAI
 
GitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみたGitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみた
富士通クラウドテクノロジーズ株式会社
 
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?
Makoto SAKAI
 
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
Koichi ITO
 
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 - 新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
Makoto SAKAI
 
PYNQ単体でUIを表示してみる(PYNQまつり)
PYNQ単体でUIを表示してみる(PYNQまつり)PYNQ単体でUIを表示してみる(PYNQまつり)
PYNQ単体でUIを表示してみる(PYNQまつり)
Kenta IDA
 
Infrastructure as Code自身のテストを考える
Infrastructure as Code自身のテストを考えるInfrastructure as Code自身のテストを考える
Infrastructure as Code自身のテストを考える
辰徳 斎藤
 
PYNQで○○してみた!
PYNQで○○してみた!PYNQで○○してみた!
PYNQで○○してみた!
aster_ism
 
明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化
Taiji Tsuchiya
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンスKaoru NAKAMURA
 
Fortranが拓く世界、VSCodeが架ける橋
Fortranが拓く世界、VSCodeが架ける橋Fortranが拓く世界、VSCodeが架ける橋
Fortranが拓く世界、VSCodeが架ける橋
智啓 出川
 
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
Shingo Kitayama
 
第4回 SoftLayer勉強会 資料
第4回 SoftLayer勉強会 資料第4回 SoftLayer勉強会 資料
第4回 SoftLayer勉強会 資料Naoki Shibata
 
Node-REDで簡単プロトタイピング
Node-REDで簡単プロトタイピングNode-REDで簡単プロトタイピング
Node-REDで簡単プロトタイピング
rina0521
 
DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所
Hidetoshi Hirokawa
 
Node-REDのフローをバックアップしよう
Node-REDのフローをバックアップしようNode-REDのフローをバックアップしよう
Node-REDのフローをバックアップしよう
Kota Suizu
 
ネットワーク構築訓練 入門
ネットワーク構築訓練 入門ネットワーク構築訓練 入門
ネットワーク構築訓練 入門
株式会社 NTTテクノクロス
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
MITSUNARI Shigeo
 
Dockerコミュニティ近況
Dockerコミュニティ近況Dockerコミュニティ近況
Dockerコミュニティ近況
Akihiro Suda
 
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
Takeshi HASEGAWA
 

What's hot (20)

Node-RED導入時の効果的な開発を考える
Node-RED導入時の効果的な開発を考えるNode-RED導入時の効果的な開発を考える
Node-RED導入時の効果的な開発を考える
 
GitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみたGitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみた
 
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?
 
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
 
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 - 新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
 
PYNQ単体でUIを表示してみる(PYNQまつり)
PYNQ単体でUIを表示してみる(PYNQまつり)PYNQ単体でUIを表示してみる(PYNQまつり)
PYNQ単体でUIを表示してみる(PYNQまつり)
 
Infrastructure as Code自身のテストを考える
Infrastructure as Code自身のテストを考えるInfrastructure as Code自身のテストを考える
Infrastructure as Code自身のテストを考える
 
PYNQで○○してみた!
PYNQで○○してみた!PYNQで○○してみた!
PYNQで○○してみた!
 
明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
Fortranが拓く世界、VSCodeが架ける橋
Fortranが拓く世界、VSCodeが架ける橋Fortranが拓く世界、VSCodeが架ける橋
Fortranが拓く世界、VSCodeが架ける橋
 
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
 
第4回 SoftLayer勉強会 資料
第4回 SoftLayer勉強会 資料第4回 SoftLayer勉強会 資料
第4回 SoftLayer勉強会 資料
 
Node-REDで簡単プロトタイピング
Node-REDで簡単プロトタイピングNode-REDで簡単プロトタイピング
Node-REDで簡単プロトタイピング
 
DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所
 
Node-REDのフローをバックアップしよう
Node-REDのフローをバックアップしようNode-REDのフローをバックアップしよう
Node-REDのフローをバックアップしよう
 
ネットワーク構築訓練 入門
ネットワーク構築訓練 入門ネットワーク構築訓練 入門
ネットワーク構築訓練 入門
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
 
Dockerコミュニティ近況
Dockerコミュニティ近況Dockerコミュニティ近況
Dockerコミュニティ近況
 
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
 

Similar to ソフトウェアエンジニアと高位合成

DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃Teruo Adachi
 
鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料
Takashi Aoe
 
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
Insight Technology, Inc.
 
20150312 html5とか勉強会-lt-開発者に知ってほしいi pv6のこと
20150312 html5とか勉強会-lt-開発者に知ってほしいi pv6のこと20150312 html5とか勉強会-lt-開発者に知ってほしいi pv6のこと
20150312 html5とか勉強会-lt-開発者に知ってほしいi pv6のこと
v6app
 
コミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということコミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということKazuho Oku
 
OSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSC
Daisuke Nishino
 
20161114 lazurite open
20161114 lazurite open20161114 lazurite open
20161114 lazurite open
Naotaka Saito
 
企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)
takanori suzuki
 
基幹業務もHadoopで!! -ローソンにおける店舗発注業務への Hadoop + Hive導入と その取り組みについて-
基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-
基幹業務もHadoopで!! -ローソンにおける店舗発注業務への Hadoop + Hive導入と その取り組みについて-
Keigo Suda
 
ログ解析基盤におけるストリーム処理パイプラインについて
ログ解析基盤におけるストリーム処理パイプラインについてログ解析基盤におけるストリーム処理パイプラインについて
ログ解析基盤におけるストリーム処理パイプラインについて
cyberagent
 
OSS Market Momentum In Japan
OSS Market Momentum In JapanOSS Market Momentum In Japan
OSS Market Momentum In Japan
MKT International Inc.
 
Zabbixをもっと便利に!安全に!
Zabbixをもっと便利に!安全に!Zabbixをもっと便利に!安全に!
Zabbixをもっと便利に!安全に!
Takashi Matsunaga
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
Yasuharu Seki
 
OSC2013.Cloud@Osaka
OSC2013.Cloud@OsakaOSC2013.Cloud@Osaka
OSC2013.Cloud@Osaka
Hideki Saito
 
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
VirtualTech Japan Inc.
 
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
v6app
 
Chefのエンタープライズ事例 ossミドルウェアスタックishigakiテンプレートにおける事例-
Chefのエンタープライズ事例 ossミドルウェアスタックishigakiテンプレートにおける事例-Chefのエンタープライズ事例 ossミドルウェアスタックishigakiテンプレートにおける事例-
Chefのエンタープライズ事例 ossミドルウェアスタックishigakiテンプレートにおける事例-
賢 秋穂
 
Spring 12年の歴史
Spring 12年の歴史Spring 12年の歴史
Spring 12年の歴史
movmov
 
やさしくわかるIoT
やさしくわかるIoTやさしくわかるIoT
やさしくわかるIoT
softlayerjp
 
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops
裕貴 荒井
 

Similar to ソフトウェアエンジニアと高位合成 (20)

DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
 
鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料
 
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
 
20150312 html5とか勉強会-lt-開発者に知ってほしいi pv6のこと
20150312 html5とか勉強会-lt-開発者に知ってほしいi pv6のこと20150312 html5とか勉強会-lt-開発者に知ってほしいi pv6のこと
20150312 html5とか勉強会-lt-開発者に知ってほしいi pv6のこと
 
コミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということコミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということ
 
OSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSC
 
20161114 lazurite open
20161114 lazurite open20161114 lazurite open
20161114 lazurite open
 
企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)
 
基幹業務もHadoopで!! -ローソンにおける店舗発注業務への Hadoop + Hive導入と その取り組みについて-
基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-
基幹業務もHadoopで!! -ローソンにおける店舗発注業務への Hadoop + Hive導入と その取り組みについて-
 
ログ解析基盤におけるストリーム処理パイプラインについて
ログ解析基盤におけるストリーム処理パイプラインについてログ解析基盤におけるストリーム処理パイプラインについて
ログ解析基盤におけるストリーム処理パイプラインについて
 
OSS Market Momentum In Japan
OSS Market Momentum In JapanOSS Market Momentum In Japan
OSS Market Momentum In Japan
 
Zabbixをもっと便利に!安全に!
Zabbixをもっと便利に!安全に!Zabbixをもっと便利に!安全に!
Zabbixをもっと便利に!安全に!
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
 
OSC2013.Cloud@Osaka
OSC2013.Cloud@OsakaOSC2013.Cloud@Osaka
OSC2013.Cloud@Osaka
 
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
 
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
 
Chefのエンタープライズ事例 ossミドルウェアスタックishigakiテンプレートにおける事例-
Chefのエンタープライズ事例 ossミドルウェアスタックishigakiテンプレートにおける事例-Chefのエンタープライズ事例 ossミドルウェアスタックishigakiテンプレートにおける事例-
Chefのエンタープライズ事例 ossミドルウェアスタックishigakiテンプレートにおける事例-
 
Spring 12年の歴史
Spring 12年の歴史Spring 12年の歴史
Spring 12年の歴史
 
やさしくわかるIoT
やさしくわかるIoTやさしくわかるIoT
やさしくわかるIoT
 
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops
 

Recently uploaded

MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 

Recently uploaded (16)

MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 

ソフトウェアエンジニアと高位合成