2023年03月03日
SIMD命令をDelphiでも動かす
Delphiといっても普段使ってるのはDelphi5です。XEあたりまでは飛び飛びのバージョンでも持っていますが、軽くて小さいexeが作れて使用許諾がオンラインでないので仮想環境でも面倒なく使えますからね。
AVX命令で10倍もの速度が出るのならDelphi5でも使ってみたくなります。
問題はDelphi5のアセンブラにはAVXどころかSSEもない事です。
そこでFPCのObjDump(GCCのと同趣旨のもの)を呼び出して アセンブラ命令を DB命令(バイトデータ)に置き換えて見事に使えてしまいました。
Lazarusで作ったSIMD関数をDelphiで使うのページです
このページには ObjDump.exeを呼び出して取り込むツールのソースが入っているので、
何かコンソールアプリ起動して出力を処理したい人は参考にして下さい。
AVX命令で10倍もの速度が出るのならDelphi5でも使ってみたくなります。
問題はDelphi5のアセンブラにはAVXどころかSSEもない事です。
そこでFPCのObjDump(GCCのと同趣旨のもの)を呼び出して アセンブラ命令を DB命令(バイトデータ)に置き換えて見事に使えてしまいました。
Lazarusで作ったSIMD関数をDelphiで使うのページです
このページには ObjDump.exeを呼び出して取り込むツールのソースが入っているので、
何かコンソールアプリ起動して出力を処理したい人は参考にして下さい。
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/11888876
この記事へのトラックバック