tcatmの4-way SSE2 Linux 32/64ビット版が0.3.10に搭載

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

0.3.10にはtcatmの4-way SSE2がオプションスイッチとして含まれている。

「-4way」スイッチを使って有効にしてほしい。スイッチなしではCrypto++ ASM SHA-256が使用される。

Linuxでのみ動作させることができた。

ダウンロード: 0.3.10はhttp://bitcointalk.org/index.php?topic=827.0から入手してほしい。

お使いのCPUと結果を報告してほしい!Core 2以下では遅く、i5では速いことはかなり明らかだと思う。i7の結果はまだ聞いていないと思う。AMDやその他のあまり一般的でないCPUの各モデルについて知る必要がある。

Quote from: jgarzik on August 16, 2010, 03:35:28 AM

cpu family : 6
model  : 26
model name : Genuine Intel(R) CPU             000  @ 3.20GHz
stepping : 4

cpu family 6 model 26 stepping 4はIntel Core i7だ。
-4wayで23%の高速化、-4way + ハイパースレッディングで合計63%の高速化だ。
ハイパースレッディングありの場合、なしの場合より33%高速だ。

sha256.cppを以下で囲んだ: #ifdef FOURWAYSSE2 #endif // FOURWAYSSE2

今試してみてくれ。

Quote from: Ground Loop on August 18, 2010, 11:14:26 PMMac以外のi5への愛は? Windows i5 64ビットではここでは遅くなった。 i5で遅くなったと言う人を聞いたのは初めてだ。他の全員がi5では4wayの方が速いと言っている。ハイパースレッディングを有効にするとさらにだ。

Quote from: nelisky on August 18, 2010, 11:02:25 PMそしてi5、少なくとも私のMacBookProでは 良いな、ということはMacでも動作しているという確認だな?

LaszloがMacで-4wayのコードをコンパイルしたと言っていたので、-4wayスイッチはMacでも試せる。SVN上のmakefile.osxにはまだ入っていないと思うが、ビルドされたバージョンには含まれている。

明確にしてくれてありがとう。2007年頃にAMDがその変更を行ったという誰かが投稿したリンクを読んだが、Intelの状況は知らなかった。

Core/Core2には望みがないな。SSE2ハードウェアが半分しかない。

Intelが3つの128ビットユニットを持っているのに、2つの128ビットユニットのAMDの方が速いのは奇妙だ。

Quote from: ArtForz on August 21, 2010, 04:56:31 PM- AMD K10: 128ビットユニット2つ

  • Intel Nehalem: 128ビットユニット3つ これはおそらく、ハイパースレッディングが-4wayで性能を向上させる理由を説明している。3つのSSE2ユニットが過剰であれば、ハイパースレッディングがそれらをすべてビジー状態に保つのに役立つだろう。

簡略化は意図的だ。thash[7]=0が複数になるのは134,217,728回に1回だけだ。0.0000007%遅くなるだけだ。