ひでみのアイデア帳

くだらないことなんだけど、忘れないために・・・

高位合成のいろいろ・・・

高位合成でいろいろ遊びながら・・・。 性能が出ないとか他いろいろ問題があるようなことが指摘される。 それで深堀してみると・・・。

そもそも、今の高位合成って結局、シーケンシャル思想をパラレル思想に変換するわけなので無理が生じるところも出ると思うんだけど・・・

性能面

性能面で指摘する人って・・・

HDLで性能出せない人

HDLで性能出せない人が高位合成で性能出せるわけありません。 HDLが書けるとハードウェアができると思っている勘違いさんがいます。 HDLもまともに書けないのにソフトウェアがまともにかけるはずありません。 コーディング技術ではなく何をコーディングしているのか勉強しましょう。

性能のゴールが決まってない人

要するに何を作りたいか、決まってない人は高位合成で性能はだせません。 高位合成して眺めるのは高位合成ツールのレポートで、レポート→ソースコード修正→高位合成→レポートの繰り返しで、レポートを見ても性能は上がりません。 単にイタチごっこです。 何を作るか考えて、高位合成出力の妥協点を考えましょう。

ハードウェアしか見てないのに高位合成使う人

現状の高位合成ツールで扱う言語はソフトウェア言語です。 ソフトウェアというと語弊があるのでシーケンシャル処理を主とした言語です。 ハードウェアで使用する言語はパラレル処理ができる言語です。 言語思想が違うので、ソフトウェアとの付き合い方や考え方も工夫しましょう。

メモリを意識できない人

メモリ周辺で性能が・・・、バス周辺で性能が・・・という人に多いのです。 現状の高位合成ツールはコンパイラ技術を使用したものになります。 ソフトウェアはメモリ上で動作するということが前提の高位合成になります。 効率の良いデータ転送方法を取り入れながら、メモリとの付き合い方を考えましょう。