2010年04月14日

NVIDIA CUDA 3.0 & msVisual C++ 2008

 真空管アンプと電源に関して計算支援ソフトウエアや回路シミュレータを使い楽しんでいるんですが、特にシミュレータのスピードに不満を持っています。贅沢な話ではありますがやはりもっと早く、もっと細かくと欲望は膨れあがるんです。
で、最近流行のGPGPUを利用すればスピードアップが期待できるのでは無かろうかと考えました。
地デジ動画をH.264へエンコードする際は扱うデータ量の膨大さもあってCPUでは限度があります。っていうか耐え難い。GPGPU利用のエンコーダなら実時間の倍程度でエンコードできます。もっと高性能なグラフィックボードが有れば・・・ いや、Nvidia Tesla とかが有ればエンドルフィン出まくりになるのではないかと思うのですが資金がないので購入は無理。

 しかし、現用中のGeforce9600GT/GEでもすごい効果がある訳なので Spice を CUDA で動かせないかと考えてしまうわけです。探してみましたがフリーソフトウエアではまだ無いようです。
 商業ベースではいくつかの実装があるようです。SPICEは元々大規模集積回路の設計研究の一環として生まれてきたわけで、その派生製品の中にはそういう用途のものもあるのでしょう。そういう用途なら計算精度も重要でしょうから倍精度実数演算も多用されることでしょう。

 真空管アンプとかの簡単なアナログ回路をシミュレートするならば単精度演算の比率を上げることができるのではないか?SPICEの演算内容を考えるにGPGPUでかなり加速できるのではないか?単精度なら 9600GT/GE でも結構いけるんじゃないだろうか?

 CUDAのツールやSDKをインストールしましたよ。SPICE は ngspice のソースを手に入れました。
CUDAの感触をつかむ作業とngspiceのソースを読んでみようと思っています。しばらく頭を使うこととなりそうな悪寒・・・
posted by にこらて at 00:55| Comment(0) | TrackBack(0) | Simulation | このブログの読者になる | 更新情報をチェックする