リコンフィギャラブル(再構成可能)コンピューティング<計算機システム>

ハードウェアも自分で作れる! ~素敵な「ゆるふわコンピュータ」

高前田伸也先生 北海道大学 工学部 情報エレクトロニクス学科/情報科学研究科 情報エレクトロニクス専攻 

ソフトウェアを手作りで作れるけれど、自分だけのオリジナルのハードウェアを作るのはとうていムリだよと人は多いと思います。ところが、簡単にできちゃうやわらかハードがFPGAというハードウェアです。普段から使って楽しいコンピュータをめざす高前田先生は、FGPA+高位合成ツールがあれば、自分で自由に書き換えし、しかもその作業を大幅圧縮できる“ゆるふわコンピュータ”の魅力について語ります。 

コンピュータそのものの研究をしています。ステキなコンピュータって何でしょう。速い、省エネ、使って楽しいことを大切にしたいと僕は考えています。それを実現するキーワードが「ゆるふわコンピュータ」です。

 

コンピュータの構成要素には、プログラムを書き込むソフトウェアと、プログラムを解釈し実行するハードウェアがあります。ハードウェアとは、具体的にインテルのCPUなどがそれに対応します。

 

皆さん、ソフトは作れても、ハードを作るのムリと思いあきらめていませんか。

 

今日は、FPGAと高位合成ツールがあれば、自分だけのハードウェアを簡単に作れるという話をしましょう。まずFPGAとは何か。自分で書き換えのできるやわらかハードのことです。例えば画像処理専用の自分だけのためのハードウェアが欲しいと思った時、それが実現できます。

 

FPGAのすごい点はマイクロソフトの検索エンジンにも導入され、人工知能研究のディープラーニングにもFPGAを用いるとより省エネになることなどが知られています。つまりFPGAを用いると、よりステキなコンピュータが作れるというわけ。

 

実際にどんなFPGAが市販されているのでしょう。おススメはPYNQ-Z1(ピンク)。¥7000と、高校生でも入手可です。

 

以前は、こういうFPGAを100並べた未来のCPU検証システムなんてのも作りました。

 

実際に、自分用のFPGAにどうやって書き換えをするのでしょう。基本的には、ハードウェア記述言語で書いていきます。書き方は、ソフトのプログラミング言語と同じように、何をしたいかを書けばいいのですが、それ以外に、いつ、どのようにそれを実現するかを書く必要があります。例えばソフトウェアで積和演算――かけて足す処理を繰り返す処理――を繰り返すと、たった11行くらいで書けるわけです。

これをハードウェアで積和演算すると105行も必要になってしまう。

 

それは非常につらいですね。これのために救世主として「高位合成ツール」というのがあります。

これを用いると、ソフトを記述するプログラミング言語で書くだけでハードウェアに変換されてしまうのです!しかもハードウェア記述言語で書いていた時に比べ、その作業が桁違いに大幅圧縮されます。まさに魔法のツール。ですから、これを使って作ると、とても楽しいわけです。

 

まとめると「ゆるふわコンピュータ」の「ゆる」とは高位合成で手軽にハードウェアが作れること。「ふわ」は、柔らかいということで、やわらかハード=FPGAのこと。ゆるふわコンピュータで、ソフトとハードの間に壁のない、ステキなコンピュータの世界を一緒に作っていきましょう。

 

司会者・竹川佳成先生×森勢将雅先生の一言

 

竹川先生――夢のある話でしたね。

森勢先生――私はソフトウェアをプログラム言語で書くんですが、高前田さんの話を聞くまで、ハードウェアはどうやって書くのか、全然イメージがわかなかったんですよ。

竹川先生――それだけFPGAを扱うのって敷居が高かったんですね。

 

興味がわいたら

「FPGAエクストリーム・コンピューティング」

FPGAを用いた面白いコンピュータについて発表する勉強会です。プロだけではなく、初めてFPGAを触ってみたという方の発表もあり、間口が広いです。資料が公開されています。

https://fpgax.connpass.com/

 

高前田先生インタビュー

素敵なストーリーで技術を語れ。研究室では発表スキルも指導

高前田伸也先生 北海道大学 工学部 情報エレクトロニクス学科/情報科学研究科 情報エレクトロニクス専攻

 

※情報処理学会第79回大会 IPSJ-ONE講演より

他の若手IT研究者の記事を読む 

 

★情報系は特別ページ開設★

AI、IoT、ビッグデータ。広がる情報系。学べる大学もわかる!

情報系の学問はこちらのページにさらに詳しく

・人工知能 ・自然言語処理 ・インターネットと運用技術

・ユビキタスコンピューティング ・コンピュータグラフィクス

・音楽情報処理 ・エンタテインメント情報学 など