「サクラ」交流掲示板

サクラの掲示板です。

(#534) CPU - ななこ (2014-12-30 13:17) /低 コメント
実は、今回、「AMD64」というもの、「超最適化コンパイラ」の存在があるんですよね。
>しかしインラインアセンブラを使いこなしてクロック効率の高いプログラムになります。

うちも昔はその類のプログラマーでした。perlになってもある意味そうでしたが・・
しかし、今では、gccですらかなりやばい最適化をしてくれるようで。。。

とりあえず、高速化をあげるとしたら、このような感じで考えると良いのかもしれません。

1.むやみなステップ数の増加防止より、モジュールのサイズ低減を優先する
 →ループを上手に使ってL2キャッシュにヒットしやすくする
2.コアモジュールは、CPU相応にして1本とする
 →例)
  x86 SSE1 DLL
  x86 SSE1 SSE2 DLL
  x86 SSE1 SSE2 CHORUS REVERB DLL
  x86 SSE1 SSE2 SSE3 CHORUS REVERB DLL
  x64 SSE2 SSE2 SSE3 CHORUS REVERB DLL
  x64 SSE2 SSE2 SSE3 SSE4.1 CHORUS REVERB DLL (INTEL)
  x64 SSE2 SSE2 SSE3 SSE4.1 SSE4.2 AVX CHORUS REVERB DLL (INTEL)
  x64 SSE2 SSE2 SSE3 SSE4a CHORUS REVERB DLL (AMD)
  x64 SSE2 SSE2 SSE3 SSE4.1 SSE4.2 AVX FMA3 CHORUS REVERB DLL (INTEL)
  x64 SSE2 SSE2 SSE3 SSE4a FMA4 CHORUS REVERB DLL (AMD)

  ※x64からx86のDLLが呼び出せないとかいうオチはなしね
  普通に、起動専用のexeからexeを起動すれば、x86からx64でもなんでも起動するし

このあたりのCPU判別と、詳細の計算ライブラリ(厳密にはマクロ)だけが
アセンブラになればいいのかな・・とも感じられる

 →言い換えれば、DLL間の呼び出しも、オーバーヘッド

3.無論、AMD64はコアなレジスタ数が倍になっている。(幅も倍だが)
 それだから直接速度が倍になるわけではないが、有効活用する。

4.外部計算モジュールが実装できる余地を残しておく?
 おかしいな、音を鳴らすために「GPUの力」を借りるなんて・・・
音源開発の進行状況と機能草案 / 柚媛梁 / ○兄 / @ExtMIDI (2013-08-07 14:24) (#426)/ 低 コメント
  機能についての案 / 騎士王321 (2013-09-02 21:53) (#435)/ 低 コメント
    TiMidiTy++??まではいかないものの。。 / ななこ (2013-09-28 12:22) (#441)/ 低 コメント
      以下、おまけ機能??? / ななこ (2013-10-12 12:24) (#443)/ 低 コメント
        曲板プレーヤ、FM音源、etc / 柚媛梁 (2013-12-20 13:45) (#473)/ 低 コメント
            / 騎士王321 (2014-03-07 22:55) (#475)/ 低 コメント
  ふと思ったが / ななこ (2014-12-26 16:55) (#533)/ 低 コメント
  CPU / ななこ (2014-12-30 13:17) (#534)/ 低 コメント

(#534)へ返信する:

👆お手数ですが、いたずら防止のために、「医者」の読み方をカタカナで記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能