コンテンツへスキップ
ものがたり
戻る

Mono.Simd on .NET does not make sense

id:kaminarioyaji:20081202:1228210788

Mono.Simd.dllはクラスライブラリですが、.NET Frameworkで実行しても意味がありません。動作はするでしょうが、SIMDでは実行されません。

結局のところ、Mono.SimdのコードをSIMD命令に置き換えるのはJITの仕事なのです。Mono.Simdのサポートは、実のところruntimeハッカーが作り出したもので、主要なコードはJIT (mini)上に存在します。MiguelがPDCでディスアセンブリとx86命令まで見せていたポイントもそこにあります。

Mono.Simdの仕組みをごく簡単に説明すると(というか僕はごく簡単にしか知らないのですが)、

という流れになります。これはmonoランタイムでなければ起こらないことなのです。

今回はSIMDサポートということで話題になりましたが、他のCPUで特に高速化命令を実装したいということになれば、それらはmini JIT上に最適化オプションとして実装することができるでしょう。.NET FrameworkでこういったJITのカスタマイズが可能であるか、可能になるかは、僕にはわかりません。


この記事を共有:

前の記事
short mono meeting 参加申し込みについて修正
次の記事
short mono meeting on 2008-12-18 (Thu)