tcatmの4-way SSE2 Linux 32/64ビット版 0.3.9 rc2

4 件のメッセージ サトシ・ナカモト 2010年8月15日 — 2010年8月16日

誰かi5またはAMDでテストして、私が正しくビルドしたか確認してもらえると助かる。どちらもテスト用に持っていないのだ。

また、32ビットLinuxと64ビットLinuxで性能が大幅に異なるかどうかも気になる。

テスターが正しくビルドされたか確認できるよう、簡易ビルドをアップロードした。(i5やAMDは持っていない)問題なければ、完全なパッケージをまとめてリリース作業をすべて行う。

Quote from: tcatm on August 16, 2010, 12:43:39 AMsha256.cppを-O3 -march=amdfamk10でコンパイルすることを提案します(32ビットと64ビットの両方で動作します)。この命令セットをサポートするCPU(AMD Phenom、Intel i5以降)のみが-4wayの恩恵を受け、性能が約9%向上するためです。 GCC 4.3.3は-march=amdfamk10をサポートしていない。以下のエラーが出る: sha256.cpp:1: error: bad value (amdfamk10) for -march= switch

Quote from: NewLibertyStandard on August 16, 2010, 01:49:01 AM4wayでは、すべての仮想コアを有効にすると大幅に良い性能が得られます。ハイパースレッディングをオフにすると、4wayの有無にかかわらず、ほぼ同じ量のハッシュが得られると思います。 おお、何か重要な発見をしたかもしれませんね!

以前はハイパースレッディングが役に立たなかったのは、すべての処理が算術論理ユニットで行われ、ハイパースレッドがそれを共有していたためだ。

tcatmのSSE2コードは通常のx86命令とSSE2命令の組み合わせのはずで、一方がx86コードを実行している間に、もう一方がSSE2を実行できる。

ハイパースレッディングでどれくらい改善する?

数字は?どのCPUだ?

Quote from: Vasiliev on August 16, 2010, 03:17:07 AM-march=amdfam10を試してみてください 動いた。

おかしいな…同じものだと確信できるか?tcatm、amdfam10で試して同じ速度測定結果が得られるか確認してくれ。