コンピュータ チップの作成や FPGA の構成に使用される Verilog、VHDL、その他のハードウェア設計言語を書くのが嫌いな人は、決してあなただけではありません。
このレジスターのハゲタカは、2000年代初頭にゲートアレイ用のVerilogを書いたが、それはどうなったのだろうか?彼は、当時としてはより刺激的だったジャーナリズムの世界に、悲鳴をあげながら飛び込んだ。
どうやら、これらの設計言語を嫌っているのは、あなたのようなささやかな開発者だけではないようです。十分な数のアプリケーション レベルのソフトウェア開発者が、FPGA 設計会社 Xilinx に対して Verilogなどに対する不満を明確に伝えたため、業界ではツールの見直しが行われました。
そのため、ザイリンクスは、特にザイリンクスのチップを使用して機械学習アルゴリズムを加速したい場合に、アプリケーションプログラマーが高級言語を使用してFPGAをより簡単に構成できるようにソフトウェアを再調整したと述べています。
目標は、スタックの上位層にいるエンジニアがFPGAをカスタマイズし、機械学習推論やヒューリスティックパケットフィルタなど、あらゆるアルゴリズムをハードウェアで高速化できるようにすることです。面倒なハードウェア設計コードの記述方法を知らなくても済みます。アプリケーションコードは処理の一部をこれらのチップにオフロードし、これらのチップはアルゴリズムをハードウェアで高速に実行します。
Reg読者の皆様、そしてその他すべての皆様に無料でご提供:Xilinx FPGA向けArm Cortex-M CPU
続きを読む
具体的には、Xilinx は Vitis と呼ばれるツールチェーンを開発しました。これは 11 月 1 日から無料で利用できるようになる予定で、高機能な Vivado スイートの代替となる予定です。
Xilinx によれば、Vitis を使用して C/C++ アルゴリズムをロジックにコンパイルし、それを使用して FPGA を構成することも、Xilinx のディープラーニング アクセラレーション エンジンと組み合わせて FPGA に挿入する AI コードを作成することも、両方のアプローチを組み合わせることもできるとのことです。
いずれにしても、C/C++、Pythonなど、アプリケーションレベルのコードは、接続されたFPGAに実装されたアルゴリズムとインターフェースするライブラリを呼び出します。これらのアルゴリズムはVitisを使用して構成され、AI推論などの処理をチップにオフロードします。これらの中間ライブラリは自分で作成することも、Xilinxのオープンソースライブラリを使用することもできますが、ソフトウェアをディープラーニングエンジンと統合する場合は、FPGAスリンガーのライブラリを使用する必要があります。Vitisは、Arm互換のCPUコアをFPGAにプログラムすることもできます。
確かに、XilinxのVivadoスイートを使えば、C言語をロジックにコンパイルし、Xilinx独自のAIエンジンを活用すれば、既に同様のことが可能になります。しかし、この最新ツールはより使いやすく、Vivadoを必要としません。Vivadoはエディションによって価格が異なり、無料から有料まで様々です。実際、これらの新しいツールは、普段使用しているソフトウェア開発環境やIDEにプラグインできるようになっています。
Vitis は本日、米国サンノゼで開催される Xilinx Developer Forum で発表されます。
ザイリンクスのソフトウェアおよびAI製品管理担当副社長であるラミン・ロアン氏は、El Reg紙に対し、これはFPGAメーカーであるザイリンクスが、アプリレベルのコードを書いてハードウェアで高速化したいだけのソフトウェア開発者にとって、Verilogなどの言語は扱いにくいことを認めたものだと語った。これらのプログラマーは長年、Vivadoよりも使いやすいものを求めていたようだ。ザイリンクスによると、アプリ開発者のニーズに応えるため、Vitisは5年間開発されてきたという。
「ハードウェア設計は本当に難しい」と、ローンチに先立ち昨日、彼は語った。「私たちのツールは優れているが、ハードウェア設計の博士号が必要だ。そうした人材は存在し、彼らは優れた仕事をしているが、より広範なコミュニティではPython、Tensorflow、Pytorchでソフトウェアを開発している」
「Vivado がなくなることはない」と Roane 氏は付け加え、ザイリンクスが Vitis と Vivado という 2 つの開発ツール ストリームを提供することを強調した。
XilinxのVitisの売り文句は、基本的に、特定のアルゴリズムや機械学習モデルを高速化するためにチップを設計した場合、そのASICを導入する頃には技術が時代遅れになっている可能性があるというものです。しかし、高級言語でプログラムされたFPGAであれば、新しい部品を購入したり製造したりすることなく、カスタムハードウェアアクセラレーションをアップデートできます。ただし、状況によって効果は異なります。
「必要なら、新しいシリコンを必要とせずに、3か月ごとに新しい加速アーキテクチャを構築できる」とロアン氏は主張した。
Xilinx は、Vitis だけでなく、より多くのリソースを備えた developer.xilinx.com も近々立ち上げる予定であり、GitHub にも多数の Vitis ライブラリやその他のものが用意されています。®