過去の質問とは全く異なる質問ですがご意見など聞かせていただければと思います。
マイコンの性能やCPU、CPUの性能が上がっている今の時代、FPGAでわざわざ回路を設計しなくてもCPU,GPUをアセンブリ言語や高速化などを用いてプログラムすればFPGAで作ったパイプライン化したハードウェアの回路よりも処理速度や精度が高いように思えます。
仮に以上のことが正しいとしたらFPGAをもっと安くしないと売れないようにも思えます。
皆さんはFPGAなどを使おうと思ったことはありますか?もしあるならば是非理由を聞かせていただけると嬉しいです。
あるいはFPGAを使おうとしたがCPUの並列処理やGPUのほうが処理が速いためFPGAを使わなくなってしまったなどはありますか?
もちろんFPGAにも不得意なことがあると思うのですが、FPGAでないCPU,GPUがFPGA以上に成果や実績がある今の現代でFPGAの存在意義はあるのでしょうか?
私個人としてはFPGAはいらないような気がします。高いし(2万や3万など)、遅いし、すぐに壊れるし、他の何かと組み合わせて使うことがないため需要もほぼないです。
その割にFPGAで人工知能などを行っているのがよくわかりません。不備などがあったらデバッグも難しそうですし、物理的なハードで作っているだけあって融通が利かなそうです。
画像処理に関してはいずれはGPUを超えるなどと書いているサイトなどもありますが根拠のあるようなことは書いておらず、あくまでその人の仮説が正しいならばFPGAのほうが速いだろうという見解です。
昔のFPGAかもしれませんがメモリのRAMやROMなども外付けであったような気がするので、そのような部分を考えるとFPGA内にはメモリを作ることができても物体検出のためのデータをフリップフロップを作りそこに検出したい物体のデータを入れるというのは非現実的なので、内蔵されているCPUなどのプロセッサなどのメモリに検出したい物体のデータを入れているのかなと思いCPUに物体検出をやらせてるようで、ラズパイなどのCPUを使って物体検出するのとさほどかわらないのかなと思ってしまいます。
以上を踏まえまして、どうか皆様のマイコンやCPU,GPU,FPGAなどについてご意見いただきたいと思います。
どうかよろしくお願いいたします。
もしかしたら間違った解釈をしているかもしれません。どうかご指導お願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答12件
0
仕事でFPGA使ってます。(組み込み用途)
少量生産(数個~100)なのでそのまま製品に載せます。
FPGAとCPU、GPUの違いについてはChironianさんの意見に賛成です。
FPGAは条件分岐のない定形処理を高スループットで、高い時間精度で行うのに向いています。
例えば12bit、100MSPS(毎秒100Mサンプル)のADCでアナログ信号を読み取り、
リアルタイムで信号処理をして100MSPSのDACでアナログ信号に戻すなどです。
FPGAなら100MHzのクロックで出来ます(インターフェースによってはそこだけ高速のクロック使う)
これをCPUでやるとなると、
いちいち命令をデコードしながら、ADCの読み出し間隔(10ns)の中で信号処理をしてDACの出力を操作しなければなりません。
しかもDAC操作は精度良く10ns間隔です。
非現実的です。
定形処理に向く一方で、
複雑な(処理時間が一定にしづらく、条件分岐が存在する)処理は全然向いてません。
例えば、PCから送られてくるコマンドを読み取り、解析して、然るべきレスポンスを返したりすることです。
こういう場合は基板上にマイコンを載せてそっちに丸投げするか、
FPGA上にマイコンを作り込んでそこでやらせます。
高位合成使えねぇとか生意気言いましたが
かなり便利になってました
ソフトウェア的なロジックをハードに変換するようなものではなく
c++でハード書けるという代物なので、
結局ハードの知識が必要です。
投稿2018/03/01 01:24
編集2018/07/11 14:33総合スコア13551
0
こんにちは。
高いし(2万や3万など)、遅いし、すぐに壊れるし、他の何かと組み合わせて使うことがないため需要もほぼないです。
CPUは命令をデコードし実行する必要がありますが、FPGAには直接回路を組み込みますから命令デコードと実行という余分な処理が不要です。ですので、ベース・クロックが同じならFPGAの方が高速です。インタプリタとコンパイラの差みたいなものです。
更に、FPGAは全ての回路を並列に動作できますが、CPUはコア1つ毎に1シーケンスしか実行できません。
ですので、細かい並列処理が多数必要な場合、CPUで同等の処理を行おうとすると超大規模なCPUが必要となり価格が跳ね上がります。例えば、MP3やDVDのデコードのような処理等、このようなケースは多数あります。
更に更に、1つのシーケンスしか処理できないCPUで多数の出力ピンを高精度に変化させることは困難です。例えば、10nSecづつずらして5本の出力ピンを±1nSecの精度で次々と変化させたい時、CPUでやろうとするとどんなCPUが必要になるでしょう? 更にそれと平行にまた別の5本の出力ピンをまた別の方法で変化させ、更にまた別の5本を別途制御したいこともあるでしょう。数個以上の超高精度な並列処理に対応できるCPUやDSPは事実上存在しないだろうと思います。ですがFPGAなら可能です。
また、例えばMP3デコーダのような専用LSIを開発したいような時、その回路のデバッグにFPGAは非常に有用です。しかし、CPUでは動作原理が異なるので役に立ちません。そして、そのLSIの量産テスト回路もFPGAで構築します。それは多数の出力ピンを超高分解能な精度で制御する必要があり、CPUでは現実的ではありません。
ただし、FPGAの回路設計の難易度は高いです。ですので、普通にCPUで可能な処理はなるべくCPUで行い、CPUではとても出来ない処理にFPGAを使うことが多いと思います。
投稿2018/02/28 15:46
総合スコア23272
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/28 16:30
2018/02/28 17:23
2018/02/28 18:48
2018/03/01 03:02
0
最近話題のあたりだと、FPGAで作ったbitcoinマイニングエンジンのほうが、CPUは勿論、GPUよりもハッシュ速度で見て性能いいです。
数年前のnvidiaのイベントで、nvidiaの人が、FPGAの方がパフォーマンスが良いといっています。それに続けて、ユーザが開発する手間はGPUの方が圧倒的に少ないといっています。実際にそうでしょう。
メインストリームのCPU,GPUに対抗するようになったのは、最近です。むしろ、GPUと比較できるようなモノを卓上で、個人でアーキテクチャから設計できる というのが驚異的だとは思いませんか?車買うより安い という理由で、40万くらいのボード買った人もいます。
計算機構造として比較すると、GPUのほうは、SIMDに適した形でクラシックな集中型の演算器を使っているのに比べ、FPGAでは、広く分散した構造が可能で、数千段に渡るpipelineを構成できます。
後は、単に用途が違う という話になりますが、たとえば、..
中国では、FPGAを使って、400Gのethernetのスイッチを実現している会社もあります。CPU, GPUは需要が無いこともあって、せいぜい複数の10Gチャネルをチップセットで実現できるだけです。PCIeっぽいものもPCIe Gen4 対応可能で、CCIXみたいにもっと速いものにも対応しています。
商用品として考えるならば不向きであるというのは当たり前です。
携帯基地局で使っています。仕様決定から運用開始まで時間が短いので、ASICでは対応できなくなりました。
商用とはいいがたいのですが、探査機のはやぶさ、はやぶさ2でも使っています。(量産でもないしね)
投稿2018/03/01 01:20
総合スコア580
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/06 14:45
2018/03/15 08:25 編集
0
全く機能の違うものを比較しても意味はない、というのを学びましょう。
FPGAというものが理解できていない、理解できないというのは決して恥ずべきものではないですが、理解するつもりがない、と公言するのは周りから失笑をかう行為となります
いくらあなたのお母さんが、どこかでカネを稼いできているからと言って、決してお父さんの代わりになるものではありません。
いくらあなたのお父さんが、完璧に家事をこなすといっても、決してお母さんの代わりになるものでもないです。
投稿2018/02/28 16:12
総合スコア88024
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ハードウェアに詳しくはありませんが一言
FPGAの利点は柔軟性であり、その分、性能を犠牲にしています。性能だけを見て他と比較すれば劣っていて当然です。
FPGAは試験用途とか研究用途とか開発途上において有用なものであって、商用品として考えるならば不向きであるというのは当たり前です。まあ近年はAIの方で深層学習云云かんぬん聞きますので、ひょっとしたら商用化の余地もあるかもしれません。が、この辺りは詳しくないので省略します。
投稿2018/02/28 14:58
総合スコア4830
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
定価で買ったFPGAの評価ボードと中古のGPUとでは比較対象とならないと思います。
まあ、それはそれとして性能の指標には処理速度(スループット)以外にもさまざまなものがあります。
- 消費電力
- 調達コスト(価格以外にもどれだけの期間部品が手に入るか)
- 演算以外の専用回路の有無
などが挙げられますね。
また、FPGAはAI以外の用途でも普通に使いますし。
結論は部品は適材適所で使いましょうということです。
機械学習だと、学習にはパワフルなGPUを使って推論には低消費電力なFPGAを使うとかでしょうか。
投稿2018/02/28 14:55
総合スコア1430
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
リサイクルショップで2万円で買ったGPU(エヌビディア)を搭載したPCは
ボードで5万もするFPGA
どちらも基準としておかしいです。量産するものの価格を「リサイクルショップで」の価格で考えられるはずがありませんし、逆にFPGAボードは開発用のものなので、実製品にする場合はチップ単体で組み込むこととなるためぜんぜん値段が違ってきます。
投稿2018/02/28 14:27
総合スコア145930
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
FPGAのメリットについて、
・処理時間が固定というメリットがあります。
リアルタイム性が要求される場合はCPUやGPUでは話になりません。
・電源ONしてから動作開始までの起動時間が短いというのもメリットになります。
・intelのcorei7をアセンブラで開発するのは、FPGAの設計よりもはるかに難易度が高いです。
corei7をOS無しで自社基板へ搭載するための回路設計なども、FPGAよりもはるかに難易度が高いです。
・変数のbit数に制限がありませんので、300bit×400bitの乗算なども可能です。
投稿2018/03/24 14:31
編集2018/07/18 15:10総合スコア359
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
1台限りしか作らないようなものや、100にも満たないような少量生産では、納品用最終製品としてもFPGAがそのまま使われることは普通にあります。私自身が少量生産中心の業界で仕事をしているだけに、世の中全てが大量生産品ばかりであるかのような前提に基づく見解は遺憾に思います。
投稿2018/02/28 15:28
編集2018/02/28 15:29総合スコア6768
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/28 15:48
2018/02/28 15:50
0
存在意義って言われると、
IoTなんかのクライアント端末では消費電力の問題などありますので、
有効なケースも多いのではないでしょうか。
FPGAって個人で使うものではないと思いますよ。
たぶんロット(数千?数万?)とかで発注になるんじゃないですかね。
別途例えるならBlu-rayがあるのにCD-Rとか必要なんでしょうかって
言ってるような感じに聞こえます。
必要ない理由より、なぜ必要なケースがあるか考えるほうが、
納得がいくのではないでしょうか。
あと参考になされたサイトがあるなら、
載せられたほうがいいかと。
当然見ていると思いますが、
https://qiita.com/kazunori279/items/a9e97a4463cab7dda8b9
http://monoist.atmarkit.co.jp/mn/articles/1704/07/news044.html
http://ai-4-u.com/cases/column-by-tsuruaki-yukawa-2
投稿2018/02/28 15:12
総合スコア1400
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/28 15:52
0
仕事で10年以上FPGAをやっているものです。
carnage0216さんの主張は的確な指摘だと考えます。私もそう思っています。
FPGAは、ロジック回路のエミュレーターです。
(多少乱暴ですが)CPUやGPUはFPGAで再現できます。しかし、同じ半導体プロセスルールを使っていれば必ず模倣元に負けます。これは原理上どうしようもないことです。
何人かの方が指摘されていますが、FPGAが輝くのは少量生産や特化型の何かです。
修正が可能なので(トータルの費用を考えた上での)試作にも向いてます。
あまり量産品には向かないと思ってもらってよいと思います。
量産して売れるぐらいいいものが出来たならそのままASICにしたほうがもっとよいでしょう。
人工知能には、個人的にはFPGAはあまり向いていないと考えています。
私が感じる最大の理由はメモリの帯域がGPUに比べて取れない点です。
ディープラーニングなど、扱うパラメータ量が多く更新も頻繁な為です。
投稿2018/08/28 08:40
総合スコア14
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
便乗質問で申し訳ないですが、
FPAGに関して ずーーーと、気になる事があります。
Q1: CPUやGPUの場合、ソフトの更新は簡単で、エンドユーザのターゲートPCに新しいコードをロードすれば、更新完了です。
に対して、出荷済みのFPGAの機能を簡単に更新できるのでしょうか。
もしエンドユーザーが簡単に更新できなければ、バグがあったら、FPGAを回収するしかないでしょう。 古い知識かもしれないが、FPGAの焼き直しは大変みたいですね。
Q2: 組み込み用のGPUのサイズでも大きいですが、FPGAなら、一般論としてGPUより小さいでしょうか。
Q3:GPU利用する場合ファンが不可欠で、場合によって複数強力なファンが必要になります。FPGAなら、小さいファンか、ファンが無くても良いのでしょうか。
ご教授宜しくお願いします。
投稿2018/03/02 12:54
編集2018/03/02 13:00総合スコア126
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/02 14:00
2018/03/02 14:42
2018/03/02 14:54
2018/03/02 14:58
2018/03/02 15:06
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/02 13:18
2018/03/02 14:05 編集
2018/03/15 08:27