1 名前: ◆MERIKEN4.k [2012/09/25(火) 18:24:38.09 ID:BDWiD/680] こちらはMERIKEN's Tripcode Finderの本スレです。動作報告・質問・要望等は こちらでどうぞ。 MERIKEN's Tripcode Finder(旧CUDA SHA-1 Tripper MERIKEN's Branch)は 2012年9月現在で最速の12桁トリップ検索プログラムです(最高速の記録は 1689.88M tripcodes/s)。CPUのみでも検索できますが、NVIDIA GeForce シリーズのビデオカードを使用すれば非常に高速に検索を行うことが できます。特徴は以下の通りです。 ・ビデオカードのGPUによる高速検索(CPU検索にも対応)。 ・GUIによる簡単な操作(コマンドラインからの使用も可能)。 ・正規表現によるターゲットの指定。 ・漢字等のShift-JIS文字を含むキーの探索。 ・ヒット率、ヒットまでの平均時間等のさまざまな情報の表示。 ・ターゲットの数の制限の撤廃。 ・10桁トリップ検索への暫定的対応。 ・検索速度の実行時の最適化。 ・GPLv3で公開されたソースコード。 ■入手先 www.meriken2ch.com/programming/merikens-tripcode-finder ■前スレ anago.2ch.net/test/read.cgi/software/1311428038/
75 名前: ◆MERIKEN4.k mailto:sage [2012/09/30(日) 22:12:32.09 ID:ObpMiRkk0] ちょこちょこといじっていたら、ちゃんとsha1-586.asmを アセンブルして実行ファイルにリンクできました。 ここまでは簡単すぎて拍子抜けするぐらいです。 問題はこのルーチンを実際にどうやって使うかなんですけれども…
76 名前: ◆MERIKEN4.k mailto:sage [2012/09/30(日) 23:12:23.49 ID:ObpMiRkk0] Eric Young氏のコードを参考にしてアセンブラのルーチンを呼ぶ出すコードを 書いたら、信じられないことに1発で動きました! でもperlのスクリプトで 何もオプションを指定しなかったせいか速度はそこそこです。SSE3を使うコードを 生成させるオプションがあるはずなんだけどなあ…
77 名前: ◆MERIKEN4.k mailto:sage [2012/09/30(日) 23:31:13.07 ID:ObpMiRkk0] SSE3じゃなくてSSSE3でした。紛らわしすぎだろう… 何やら内部で外部変数を参照してCPUの種類の判別をしているみたいなんですが、 何をやっているのかさっぱりわかりません。"_OPENSSL_ia32cap_P"って なんなんだろう…
78 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/09/30(日) 23:40:09.91 ID:RGcH+DdC0] とりあえずで書いたコードが思い通りに動くと発狂したくなるぐらい嬉しいよな
79 名前: ◆GTX680Mcys3u mailto:sage [2012/10/01(月) 04:19:20.00 ID:u4AKExwS0] >>77 こいつですね www.openssl.org/docs/crypto/OPENSSL_ia32cap.html CPUIDを読みだしてプロセッサを判別する…ってことか
80 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/01(月) 04:22:46.81 ID:hZnlEP2oP] >>72 ちゃんと特許検索してみ(*‘ω‘*)
81 名前: ◆MERIKEN4.k mailto:sage [2012/10/01(月) 06:03:28.91 ID:a0DHVLob0] >>78 ここまですんなりいくとは思いませんでしたw 何事もためしてみるもんですね〜 >>79 間違い無くそれですね。とりあえずその変数をチェックしている部分は 全部削除してしまうことにします。
82 名前: ◆MERIKEN4.k mailto:sage [2012/10/01(月) 07:14:31.83 ID:a0DHVLob0] CPU判定をしている部分を全部削除したらとりあえずSSSE3のコードは動きました。 …が、スピード自体はかなり微妙です。確かに今までのコードよりちょこっと速く なってることはなってるんだけど、思ったほどではないです。これはもともと使っていた SSE2 Intrinsicsで書かれたルーチンがかなり速かったということなのかなあ。
83 名前: ◆MERIKEN4.k mailto:sage [2012/10/01(月) 08:32:04.96 ID:a0DHVLob0] う〜ん、しかしこうなるとオリジナルの64bit版のSHA-1のルーチンも試してみたく なるな… 64bit対応はもうちょっとあとにする予定だったけど、せっかくCPU検索の 速度向上に取り組んでるんだから前倒しにするのもいいかもしれないですね。
84 名前: ◆MERIKEN4.k mailto:sage [2012/10/01(月) 08:36:21.88 ID:a0DHVLob0] 32bit版と64bit版はGUIのほうで選ぶようにすれば楽に実装できるはずです。 あ、あとアプリケーションを終了させたときに.NETの例外が稀に発生するバグを 見つけました。バージョン0.05の安定版では直しておきます。
85 名前: ◆MERIKEN4.k mailto:sage [2012/10/01(月) 12:28:23.51 ID:a0DHVLob0] さっきまたバグを見つけました。一時停止てからすぐに再開すると、ごくまれに 経過時間が1ヶ月分増えてしまうのですが、これも直しておきました。 結構色々でてくるもんですねえ。
86 名前: ◆MERIKEN4.k mailto:sage [2012/10/01(月) 17:06:08.42 ID:a0DHVLob0] 64bit版を試しに作って動かしてみたのですが、なんとなにもしないのに 12桁検索が32bit版よりも5M TPSほどはやくなっていました。13%ほどの 速度向上になります。やっぱりx64のほうが効率がいいって本当だったんですね…
87 名前: ◆MERIKEN4.k mailto:sage [2012/10/01(月) 17:53:30.30 ID:a0DHVLob0] で、SSSE3を利用した64bit版のSHA-1のルーチンを動かしてみたんですが、 これも一発できちんと動いたものの速度の向上はわずかでした\(^o^)/ 今まで使っていたSSE2 Intrinsicsで書かれたルーチンが予想外に効率が良かった というわけです。まあ64bit版と定格のCore i7-3770K単体の組み合わせで 40M TPSを超えてるんで結構な速度なんですけど、なんとも微妙な結果です。
88 名前: ◆MERIKEN4.k mailto:sage [2012/10/01(月) 19:20:38.62 ID:a0DHVLob0] う〜ん、しかしこうなるとできることは限られてくるなあ。 とりあえず64bit版が大分速くなるということはわかったので、 これはバージョン0.06で使えるようにしておきます。 とりあえず12桁の方はこれ以上何も思いつかないので、今度は10桁トリップの CPU検索のほうを速くしようかな。こっちは最適化の努力を全くしてなくて SSE等のSIMD命令を一切使っていないので、速くなることは受け合いですw まあ今の実装が遅すぎるだけなんですけれども… CUDAのときのようにガリガリに最適化されたJohn the Ripperの実装を 持ってきてもいいし、自分でIntrinsicsを使ってちまちま最適化してもいいし、 色々手はあります。
89 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/01(月) 19:30:41.64 ID:6OH7/rEW0] 10桁CPU検索はmtyの64bit版が最速かな? 超えられるようにがんばって!
90 名前: ◆MERIKEN4.k mailto:sage [2012/10/01(月) 20:39:51.98 ID:a0DHVLob0] >>89 AVX無しでmtyを超えられたら言うことないですねw 色々やりたいこともあるので当分の間楽しめそうです。 なんだかオラ、ワクワクしてきたぞ!
91 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/02(火) 06:00:19.28 ID:tGtdSIZ6P] >>90 AVXってちゃんとした整数演算を256bitでできるんけ(*‘ω‘ *)?
92 名前: ◆MERIKEN4.k mailto:sage [2012/10/02(火) 22:23:58.25 ID:gDYbWzJX0] さて、10桁トリップのCPU検索の高速化のために、テスト用のコードを切り出しました。 これで遠慮無くIntrinsicsを使ってコードを書き直せます。 まず最初にCで書かれたBitslice DESのルーチンをSSE2で書きなおして、 それからさらにAVXを使って書きなおしてやる予定です。AVXはレジスタ長が 倍になっただけのはずなので問題ないでしょう。
93 名前: ◆MERIKEN4.k mailto:sage [2012/10/02(火) 22:38:16.78 ID:gDYbWzJX0] あと、OpenCLへの移植のために、去年組んだPCを切り替え機を 使ってメインのモニタと入力装置につなげてやりました。これで気軽に 移植の作業ができます。1年ぶりぐらいにPC周りを大掃除したんですけど、 やっぱ整理整頓って重要ですね…
94 名前: ◆AsabDllTGMsD mailto:sage [2012/10/03(水) 23:58:30.52 ID:Y3pxRO5PP] ニヨニヨうぉっち用トリップその1(*‘ω‘ *)
95 名前: ◆psQMDDKxpOBQ mailto:sage [2012/10/03(水) 23:59:23.15 ID:Y3pxRO5PP] ニヨニヨうぉっち用トリップその2(*‘ω‘ *)
96 名前: ◆MERIKEN4.k mailto:sage [2012/10/04(木) 12:16:09.60 ID:e8gEtxC30] バージョン0.05の安定版をうpしました。 MERIKEN's Tripcode Finder 0.05 www.meriken2ch.com/programming/merikens-tripcode-finder >>84-85 のバグを修正した以外は、Beta 2と同じです。
97 名前: ◆GikoNekobg mailto:お疲れ様sage [2012/10/04(木) 12:54:27.37 ID:j+Rl5kfi0] MERIKEN's Tripcode Finder 0.05 CUDA DEVICE CUDA Device Count: 1 Device No.: 0 Device Name: GeForce GTX 460 Multiprocessor Count: 7 Clock Rate: 1400MHz Compute Capability: 2.1 CPU === Number of Processors: 8 Number of Search Threads: 7 TARGET(S) ========= 0: "TEST//" TRIPCODES ========= ◆TEST//xz05/X #BアXクC。Vラ∀Zオ (42 B1 58 B8 43 A1 56 D7 81 CD 5A B5) STATUS ====== Performing a forward-matching search for 1 pattern (1 chunk) with 6 characters on CPU and GPU(s): CUDA0: 271.5M TPS, 48 blocks/SM 0.105T tripcodes were generated in 0d 0h 5m 58s at: 302.28M tripcodes/s (current) GPU: 280.99M tripcodes/s CPU: 21.29M tripcodes/s 291.47M tripcodes/s (average) On average, it takes 2.7 minutes to find one match at this speed. 1 match found at 10.04 matches/h and 104.53G tripcodes/match. The actual matching probability is 34% lower than expected. 0% of matching tripcodes were invalid.
98 名前: ◆MERIKEN4.k [2012/10/04(木) 22:24:11.13 ID:e8gEtxC30] >>97 あ、早速有り難うございます。CUI版もちゃんと動いていますね。 GUI版の作成にあたってCUI版にもある程度手を入れざるを得なかったので、 ちゃんと動作するかどうか不安だったんですよね〜
99 名前: ◆MERIKEN4.k [2012/10/04(木) 22:28:16.80 ID:e8gEtxC30] 今朝は10桁トリップのCPU検索の作業をしていたのですが、 Bitslice DESのルーチンをまとめてえいやっとSSE Intrinsicsで書きなおしたら 案の定動きませんでしたorz おとなしく動作確認をしながら少しづつ 書き直すことにします…
100 名前: ◆GTX680Mcys3u mailto:sage [2012/10/05(金) 02:40:59.10 ID:IR4Z+leR0] >>98 うちはGUI版で動かしてますが問題なしですよ ばっちり動いてます
101 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/05(金) 03:38:08.20 ID:5f8Bjqpi0] 8800GTX+FX4600の組み合わせですが今までどおり問題ないですよ 0.05 Beta 2からの修正だと思いますが CC1.0のGPUでは現状対応していないと思われる10桁検索は GUIの方はちゃんとダイアログが出てエラーで止まるようになってますし CUIの方も[-l 10]で警告が表示されるようになってます。 MERIKENsTripcodeFinderCUI: CUDA FUNCTION FALL FAILED: too many resources request ed for launch (file 'C:/Users/Nullpo/Documents/Visual Studio 2010/Projects/MERIK ENsTripcodeFinderCUI/Source Files/MTF_CUI_CUDA_DES.cu', line 832) MERIKENsTripcodeFinderCUI: CUDA FUNCTION FALL FAILED: too many resources request ed for launch (file 'C:/Users/Nullpo/Documents/Visual Studio 2010/Projects/MERIK ENsTripcodeFinderCUI/Source Files/MTF_CUI_CUDA_DES.cu', line 832)
102 名前: ◆MERIKEN4.k [2012/10/05(金) 16:32:35.70 ID:+pSShH4u0] >>100 それはなによりです。自分もGUI版をしばらく使ってますけど、 色々気になるところを直してようやく馴染んできた感があります。 >>101 そうですそうです、エラー処理のいい加減だったところがちゃんと直っているようで 良かったです。しかし10桁検索のルーチンはCC1.0でも動くように書いといた はずなんですけど、共有メモリかレジスタ数の関係で動かないみたいですね。 注意書きに追加しておきます。
103 名前: ◆MERIKEN4.k [2012/10/05(金) 16:45:05.37 ID:+pSShH4u0] >>99 の続きです。SSEで書きなおしたルーチンはようやく動くようになりました。 128個のキーを同時に処理できるのはちょっと感動します。 Intrinsicsの使い方を間違えて大いにはまりましたが、あとはBitslice DESの ルーチンを実際の検索ルーチンに組み込むだけです。
104 名前: ◆MERIKEN4.k [2012/10/05(金) 17:20:50.98 ID:+pSShH4u0] 組み込みは無事終了しました。バージョン0.05の10桁CPU検索の速度は 2.77M TPS(w だったのですが、SSEで書きなおしたら9.22M TPS出ました。 332%(!)の速度向上ということになります。さすがに4倍というわけには いきませんでしたが、それでもかなり綺麗にスケールしています。 これは32bit版での数字なので、SSEのレジスタ数が倍になる 64bit版での速度が楽しみです。
105 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/05(金) 17:48:14.28 ID:pHTRB6u40] 私も楽しみです^q^
106 名前: ◆MERIKEN4.k [2012/10/05(金) 18:00:32.97 ID:+pSShH4u0] 64bit版もすんなり動きました。12.21M TPS出ているのでこれまでのバージョンと 比べるとかなり速くなりました。まあでも同じCPUでmtyでは25.06M TPS出ているので 性能的にはまだまだこれからといったところです。 とりあえずはCUDAのときと同じようにS-Box内の一時変数の割り当てを手作業で 最適化することになりそうですが、アセンブラを使わずにSSE Intrinsicsのみで どこまで最適化出来るかは未知数です。John the Ripperのアセンブラで書かれた Bitslice DESのルーチンを使用することも考えたのですが、ABIの違いも考慮しなければ いけないのが悩ましいところです。
107 名前: ◆MERIKEN4.k [2012/10/05(金) 19:09:10.52 ID:+pSShH4u0] ためしにS-Boxを書き換えてみたんですが、速度は全く変わりませんでした。 あとついさっき気づいたのですが、64bit版ではGPU検索が正常に作動しないようです。 このままではまずいので、とりあえず今のバージョンを修正して、GUIで32bit版と 64bit版を切り替えられるようにしてから次の開発版として公開する予定です。
108 名前: ◆MERIKEN4.k [2012/10/06(土) 04:11:36.17 ID:de6FWJ+m0] 今後の方針を考えてたんですけど、やっぱりJohn the Ripperのアセンブラで書かれた Bitslice DESの実装を使ったほうが手間がかからないだろうという結論に達しました。 もう既にギリギリまで最適化された実装があるのに自分で同じ事をやるのも 二度手間ですよね… 問題なのはJohn the RipperがGCCとGNU asを前提としていることですが、 MinGWを使えばVC++から呼び出せるライブラリを作成できそうです。 Using libs/dlls compiled in Linux/MinGW in Visual Studio stackoverflow.com/questions/1291594 MSVC and MinGW DLLs www.mingw.org/wiki/MSVC_and_MinGW_DLLs まず>>107 の作業を終わらせて、それからMinGWをインストールして John the Ripperの実装を試して見ることにします。
109 名前: ◆MERIKEN4.k [2012/10/06(土) 18:27:48.99 ID:de6FWJ+m0] >>107 の不具合の原因が分かりました。複数のグラボを使用して検索するときに、 複数のGPU検索スレッドから同一のデバイスポインタを参照していたのが原因なようです。 結局いままで32bit版と580 SLIでちゃんと動いていたのは運が良かったから、というのが 真相のみたいです。これで前スレで報告されていたバグも説明がつきます。 > 987 :名無しさん@お腹いっぱい。 :sage :2012/09/26(水) 05:20:29.44 (p)ID:39pEz/Td0(3) > Win7x64 295.73で8800GTX+GT520のDual環境ですが > MERIKENsTripcodeFinder_0.05_Alpha_1のMERIKENsTripcodeFinder.exeだと > 単体では8800GTX、GT520共にに動くのですが > 使用するGPU:をすべて使用にしてしまうと落ちてしまうのです > やはりCompute Capabilityのサポートに違いがあるGPUの > 同時使用はマズイという事なんでしょうかね anago.2ch.net/test/read.cgi/software/1311428038/987n いや〜、未だにこんな大きなバグが残っているとは思いませんでした。 前スレの987さん、ありがとうございました。
110 名前: ◆MERIKEN4.k [2012/10/06(土) 18:44:20.86 ID:de6FWJ+m0] それはそうと、最近こんな話を見つけました。 www.obr-hardware.com/2012/09/exclusive-some-geforce-gtx-780-details.html どうやらGTX 780はGK110ベースにはならないそうで… 今のうちにお安く590買っておいたほうがいいのかしらん。
111 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/06(土) 20:02:35.08 ID:llt7MSWe0] 遠くから期待してます
112 名前: ◆MERIKEN4.k [2012/10/07(日) 00:03:10.89 ID:EmR007CB0] >>111 野望はRadeonにも対応して12桁と10桁の両方で最速のトリップ検索プログラムを 作ることですが、はたしてどうなるんでしょうねえ。
113 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/07(日) 00:03:19.84 ID:TPgrZGzQ0] >>109 お役に立てて光栄です 今度の修正がきたら8800GTX+GT520の 組み合わせで再度試させてもらいます それとGT520やCPUで10桁検索を行った場合に出る ○.○世紀という表記は何かのギャグかと思いましたよ
114 名前: ◆MERIKEN4.k [2012/10/07(日) 00:28:28.27 ID:EmR007CB0] >>113 ぜひよろしくお願いします。 「世紀」の表示はプログラムを書いているときは大真面目だったんですけど、 実際に見るとかなりシュールですよねw
115 名前: ◆MERIKEN4.k [2012/10/07(日) 00:45:01.29 ID:EmR007CB0] とりあえず64bit対応版は出来ました。「詳細設定」からCPUの 命令セットを切り替えられるようになりました。 やってることはCUI版のx86のビルドとx64のビルドを切り替えてるだけなんですが… で、OCしてどれぐらいスピードが出るか試してみたんですが、 前スレの12桁検索の最高速の記録にきれいに6M TPSほど上乗せできてます。 10桁のほうも113M TPSほど出るようになりました。 楽して速度向上、おいしいです(^q^) もうちょっと色々テストしてから日曜の夜までには新しい開発版をうpする予定です。
116 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/07(日) 09:22:22.24 ID:Yi2bXl7w0] 29万パターンを10桁GPU検索させたらグラボが停止しました 12桁の方は正常動作します
117 名前: ◆MERIKEN4.k [2012/10/07(日) 09:29:53.63 ID:EmR007CB0] >>116 グラボは何を使っていますか? ある程度早いグラボならブロック数を減らして レジストリをいじれば動かせるかもしれません。詳しくはREADME.txtを 参照して下さい。
118 名前: ◆MERIKEN4.k [2012/10/07(日) 09:43:56.42 ID:EmR007CB0] 10桁CPU検索のルーチンを修正してたら突然スピードがどんどん遅くなるという 不思議な現象が出ました。色々いじっても直らなかったので頭を抱えていたのですが、 なんとOCしていたIvy Bridgeが熱でスロットルダウンしていただけでした。 OCCTはちゃんと通ったのに… やはりCPU検索だけでもかなりシステムに 負荷がかかってるみたいです。
119 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/07(日) 10:23:00.36 ID:Yi2bXl7w0] >>117 アドバイスありがとうございます、GPUはGTX570です READMEの情報を参考にしてみましたが GPGPUをプライマリに設定しているせいか改善されませんでした 引き続き12桁の方で頑張ります
120 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/07(日) 15:44:46.87 ID:TPgrZGzQ0] >>118 ちゃんとしたCPUクーラーを乗せたらどうですかね? Scythe製の3000円ぐらいの製品でも段違いかと思いますが
121 名前: ◆MERIKEN4.k [2012/10/07(日) 18:11:21.42 ID:EmR007CB0] >>119 うーん、それならばパターンの数が多過ぎて捌ききれていないということなんでしょうねえ。 もうちょっとループの回数を減らしたほうがいいのかな… >>120 CPUクーラーはNoctuaのNH-D14です。でかいです。4.6GHzでの運用を試してみてたんですけど、 システムにかなり無茶させてるのでちょっと無理だったみたいです。これ以上は殻割りか水冷にでも しないといけないんでしょうけど、ちょっと踏ん切りがつきません…
122 名前:名無しさん@お腹いっぱい。 [2012/10/07(日) 19:09:24.28 ID:aza3uCJd0] 1)CUIで、作動するときに#regexのtargetを全部書き出さないほうがいいのでは。 2)GUIの、検索パターンに大量コピペできませんか? 応援してます
123 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/07(日) 19:24:22.64 ID:TPgrZGzQ0] >>121 ありゃりゃOCしての話ですか・・・ ハイエンドクーラーを持ってるのなら無理せずに コアが冷える2600k辺りを中古手に入れた方が良いかもですね
124 名前: ◆MERIKEN4.k [2012/10/07(日) 19:36:45.22 ID:EmR007CB0] >>123 Ivy Bridgeがこんなにクセのあるコアだとは思いませんでした。 まあ自分の用途だとCPUよりグラボにつぎ込むことになりそうですけどね〜
125 名前: ◆MERIKEN4.k [2012/10/07(日) 19:41:04.80 ID:EmR007CB0] CPU検索が64bit化によって速くなったので、最高速の測定をしなおしてみました。 【GPU】NVIDIA GeForce GTX 580 2-Way SLI (OC: 940/2004MHz) 【CPU】Intel Core i7-3770K (OC: 4.5GHz 1320mV) 【OS】Microsoft Windows 7 64bit SP1 【バージョン】MERIKEN's Tripcode Finder 0.06 Alpha 1 【オプション】-x 192 -c -g 【Display Driver】306.23 【10分間の平均速度】 1694.86M tripcodes/s 【その他】7完1タゲ。CPUの速度は約37M TPS。
126 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/07(日) 19:46:44.75 ID:FtU0s6pd0] 安価に最大45GHzの高速CPUを並列処理させてスパコン並みの環境を自宅でも可能にするオープンソースプロジェクト「Parallella」とは? gigazine.net/news/20121007-supercomputer-parallella/ 鳥検索が捗るな
127 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/07(日) 20:06:18.70 ID:TPgrZGzQ0] それってOpteron 6286SE 2.8GHz×16コアを 44.8GHzと言ってるようなものでは・・・
128 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/07(日) 20:30:02.47 ID:tYnRQ8TX0] 原文では45GHzで90GFLOPSのCPU相当と言っているように見える。 5W以下らしいからワットパフォーマンスは悪くなさそうだし 10基とか20基積んでイーサネットとか付いた箱が安く出てくると面白そうだけど。
129 名前: ◆MERIKEN4.k [2012/10/07(日) 20:33:20.47 ID:EmR007CB0] 新しい開発版です。 MERIKEN's Tripcode Finder 0.06 Alpha 1 www.meriken2ch.com/programming/merikens-tripcode-finder 今回の変更点は以下の通りです。 ・64bit版の追加による高速化。 ・10桁検索の高速化。 ・複数のビデオカードが使用できないバグの修正。
130 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/07(日) 20:35:27.96 ID:FtU0s6pd0] おつ
131 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/07(日) 20:44:15.70 ID:TPgrZGzQ0] 8800GTX+GT520(Win7x64 295.73)の組み合わせで 32Bit版は動く事を確認しましたが 64Bit版はcudart64_40_17.dllが無いと蹴られましたよ
132 名前: ◆MERIKEN4.k [2012/10/07(日) 20:45:14.42 ID:EmR007CB0] >>126-128 これ見る限りではデュアルコアのARMと16コアもしくは64コアの Epiphanyというアクセラレータの組み合わせのようですね。 Epiphanyの各コアは800MHzもしくは1GHzで駆動するようです。 安くて速い並列コンピューター、おいしいです(^q^) www.kickstarter.com/projects/adapteva/parallella-a-supercomputer-for-everyone www.adapteva.com/products/silicon-devices/
133 名前: ◆MERIKEN4.k [2012/10/07(日) 20:47:38.32 ID:EmR007CB0] >>131 ありゃりゃ… うちの環境だともうCUDA Toolkitがインストールされてるから 気づきませんでした。すみません、今すぐ新しいパッケージを用意します。
134 名前: ◆MERIKEN4.k [2012/10/07(日) 21:00:57.02 ID:EmR007CB0] >>131 パッケージを新しいものと差し替えておきました。これで64bit版もちゃんと 動くはずです。
135 名前: ◆MERIKEN4.k [2012/10/07(日) 21:22:29.19 ID:EmR007CB0] >>122 (1)は正規表現の展開の処理が止まることがあるのでたぶん今のまま にしておくことになると思いますけど、(2)については検討させて頂きます。 GUIにも気になるところがいろいろ出てきたので、いずれまとめて 改良する予定です。
136 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/07(日) 23:57:53.42 ID:tYnRQ8TX0] >>132 DARPAのエクサスケールスパコン計画を目指している? Epiphanyのチップ自体は最大消費電力が2ワットで、1ボードに64チップまで載せられるとかいうのも気になる。
137 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/08(月) 03:49:14.81 ID:RwpmYvNz0] 創・価 死・ね 創・価 死・ね 創・価 死・ね 創・価 死・ね 創・価 死・ね 創・価 死・ね 創・価 死・ね 創・価 死・ね 創・価 死・ね 創・価 死・ね 創・価 死・ね
138 名前: ◆MERIKEN4.k [2012/10/08(月) 12:53:41.31 ID:OS1fDSQB0] 10桁CPU検索の改良をを続けるべくJohn the Ripperをダウンロードして とりあえずMinGWでビルドしてみました。ZlibとOpenSSLをインストールしてから リンカのオプションに"-ws2_32 -lgdi32"を追加したらビルドに成功。適当な /etc/passwdを拾ってきて走らせてみたら、CPU使用率が12%の状態で5236K c/s 出てました。1コアあたり1スレッドだけで、なぜかCPU使用率がかなり低いのですが、 もし本当にこれだけの速度が出ているならJohn the RipperのBitslice DESの ルーチンは相当速いことになります。なかなか面白いことになって来ました。
139 名前: ◆MERIKEN4.k [2012/10/08(月) 20:54:09.77 ID:OS1fDSQB0] x86-sse.Sだけ抜き出してアセンブルしたらあっさり通っちゃったけど、 これ、どうやって使うんだろう…
140 名前: ◆MERIKEN4.k [2012/10/09(火) 19:09:32.89 ID:Ce+QtItL0] つらつらとJohn the Ripperのコードを読んでいたらだんだんと思い出してきました。 キーと一時変数と変換結果はまとめてDES_bs_allという構造体に 格納されていて、次の順番で関数を呼び出せば一回の変換が 行われるはずです。 DES_bs_init() DES_bs_set_key() DES_bs_set_salt() DES_bs_crypt_25() 一応必要な関数は全てビルドできたので、あとはテスト用のコードを書いてやれば いいだけなんですけど、なにせブラックボックスを相手にしているので 結構緊張します。ちょっと休んでから取り掛かることにしようっと。
141 名前:前スレ927 mailto:sage [2012/10/10(水) 00:53:13.60 ID:F3MRL3D80] 0.06α1で試してみました。システム構成は以前と一緒です。 1時間半の検索速度は以下の通りです。 0.06α1 CUI64bit 12桁 -c -g -x 16 240.76M tc/s "/TEST" 243.23M tc/s (current) GPU:171.13M tc/s CPU: 72.11M tc/s CPUで70M超えました。6%程速度アップですね。 100M超えに期待しています。がんばって下さい。
142 名前: ◆MERIKEN4.k [2012/10/10(水) 20:18:17.67 ID:KYul3EzA0] >>141 報告ありがとうございます。コア数が増えるに従って速度が綺麗にスケールするのは 当然なんですが、それにしてもCPUだけで70M TPSは凄いですね。 100M超えは…どうでしょうw
143 名前:前スレ927 mailto:sage [2012/10/12(金) 00:31:18.87 ID:YecpfVtp0] 大変な勘違いをしていたことが判明しました。 Xeon X5680@3.33GHz, 1CPU, 6コア, HT有効, 12スレッド と、思い込んでいたのですが、中身を確認したら全然違いました。 Xeon X5680@3.33GHz, 2CPU, 12コア, HT無効, 12スレッド 通りでCPUが早い訳だ。orz ウソ報告でごめんなさい。HT有効にして再計測してみますが、少し走らせた感じでは余り変わらないみたいです。
144 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/12(金) 05:04:13.79 ID:/e2OyK0a0] そんな速いCPU使わねーよw …と思いつつ酉検索においてはやっぱり欲しい
145 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/12(金) 05:25:48.99 ID:AFd/y7mn0] 自分で使ってる2CPUマシンを1CPUマシンと思い込んでるってどんだけー! 全て業者任せの富豪かよw
146 名前: ◆MERIKEN4.k [2012/10/12(金) 06:25:09.95 ID:t+XFtk6B0 BE:2128032184-2BP(12)] >>143 それでようやくすっきりしました。「Xeonはやっぱり速いな〜」などと 何も考えずに思っていたんですけど、2年前のモデルで1CPUでその速度は やっぱり速すぎですよねw hyper-threading有りでの報告もぜひお願いします。 うちのi7-3770Kでは4スレッドから8スレッドに増やすと27%ほど 速度が上がったので、hyper-threadingはある程度効果があるみたいですが…
147 名前: ◆MERIKEN4.k [2012/10/12(金) 11:11:18.84 ID:t+XFtk6B0] >>140 の続きです。とりあえずテスト用のルーチンをでっち上げて x86-sse.Sを試してみましたが、予想通り動きませんでした\(^o^)/ やはり自分で作成したBitsliceのルーチンを地味にIntrinsicsかインラインアセンブラで 書きなおすしかないようです。幸いなことにSSE2でのS-Boxの実装はx86-sse.Sの 中にあるので、これをうまくつかってやればループの最深部の書き換えは 可能でしょう。しかしこれは想像以上に手強いですねえ。
148 名前: ◆MERIKEN4.k [2012/10/12(金) 14:27:28.94 ID:t+XFtk6B0] ちょっと調べたらなんとVisual C++のインラインアセンブラはx64を サポートしていないことが明らかになりましたorz 自分でアセンブラの ルーチンを書くしかないのかしらん。
149 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/12(金) 15:14:57.32 ID:LEZMEwbq0] x64 Intrinsicsで頑張るしか
150 名前: ◆MERIKENXsUyM [2012/10/12(金) 16:54:10.78 ID:nf15QmxA0] targetはこれなんですけどね?^MERIKEN.s ◆MERIKENXsUyM #ヌ鋒ムナ徳6カル3o (C7 96 4E D1 C5 93 BF 36 B6 D9 33 6F) これがあれですかね?”."
151 名前: ◆MERIKEN4.k [2012/10/12(金) 17:26:23.92 ID:t+XFtk6B0] >>149 IntrinsicsだとどうもSSEのレジスタの割り付けがうまくいってないみたいなんですよね〜 >>150 正規表現だと"."はすべての文字にマッチするのでそれはあってます。 正規表現で"."を指定したいときには"\."と書いて下さい。
152 名前: ◆MERIKENXsUyM [2012/10/12(金) 17:37:45.51 ID:nf15QmxA0] これでしたか。 # ^ $ () | [] [^] . + * \ # # '.'は全文字にマッチするので、'.'そのものを指定したい場合は # "\."と記入してください。なお、"[]"内では'\'を使う必要はありません。 癖がついてて、”.”使うんですね。
153 名前: ◆MERIKEN4.k [2012/10/12(金) 17:48:42.88 ID:t+XFtk6B0] >>152 そういうことです。
154 名前: ◆MERIKEN4.k [2012/10/12(金) 18:33:15.16 ID:t+XFtk6B0] なんとかならないものかとx86-sse.Sをもうちょっといじってみましたけど、 やはりちゃんと動いてません。また、さきほどからVC++が出力したアセンブラの ファイルを眺めていたのですが、正直これじゃあスピードでないよね、といった 感じです。やはり残念ながらBitslice DESのルーチンを自分でアセンブラで書くしか 手はないようです。
155 名前: ◆MERIKEN4.k [2012/10/12(金) 20:16:06.70 ID:t+XFtk6B0] さすがに全部書きなおすのはしんどいのでS-Boxの部分だけでも、と考えて 別の関数に切り出してやったら、それだけで1.6M TPS速くなりました。 コンパイラの最適化サボりすぎだろう…
156 名前:前スレ927 mailto:sage [2012/10/12(金) 21:45:07.86 ID:YecpfVtp0] >>145 全て業者任せの富豪から最近譲り受けたんだよ。 「とにかく解析が速いやつ」って注文したらしく、ハードのスペックが分かる資料が全然残ってねぇ。ヽ(´Д`;)ノ 数値がおかしいんで蓋開けてみたらCPUが二個付いてた・・・
157 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/12(金) 22:13:03.82 ID:qj1yBhqB0] CPU-Zぐらい使えよ
158 名前: ◆MERIKEN4.k [2012/10/12(金) 22:46:11.90 ID:t+XFtk6B0] >>156 > 数値がおかしいんで蓋開けてみたらCPUが二個付いてた・・・ これはなかなかシュールな絵ですねw GPU-Zもお勧めです。
159 名前:名無しさん@お腹いっぱい。 [2012/10/13(土) 01:29:23.89 ID:QRc/1guh0] これがはいじそといわれる類の存在なんだね
160 名前: ◆MERIKEN4.k [2012/10/13(土) 08:11:17.21 ID:TRuxaTZw0] コンパイラの出力したx64のasmファイルを編集すれば楽かと思って 中間ファイルをMASMにかけてみたんですけど、すんなりアセンブルできません。 セグメントの指定で色々文句を言われたので直してみたんですが、 今度はアセンブルできたもののプログラムが落ちるようになってしまいました。 こりゃ相当な手間がかかりそうです。
161 名前: ◆MERIKEN4.k [2012/10/13(土) 10:26:14.08 ID:TRuxaTZw0] 正直John the RipperのBitslice DESの実装を使えるようにするのも、 Bitslice DESのルーチンを1からアセンブラで書くのも時間がかかりすぎなので、 あともう一つだけアイディアを試してみて、それでうまくいかなかったら CPU検索の最適化はとりあえず一旦お休みにします。 で、最後のアイディアというのは、Bitslice DESの最深部だけ別のコンパイラで コンパイルしてやるということです。どうも調べてみるとVC++のSSE Intrinsicsの 最適化はGCCやICCに比べるといまいちなようなので、ある程度の効果は 期待できるでしょう。あとは32bit版だけインラインアセンブラを使って 最適化するという手もあるんですけど、それは後回しにします。
162 名前: ◆MERIKEN4.k [2012/10/13(土) 19:53:34.86 ID:TRuxaTZw0] で、Intel C++ Studio XE for Windowsの試用版でS-Boxをコンパイル してみましたが、結果は速度が0.7M TPSほど上がっただけでした。 いや〜、まいったまいった。
163 名前: ◆MERIKEN4.k [2012/10/13(土) 22:22:21.33 ID:TRuxaTZw0] しかしこれからどうしようかな。 x86のほうはインラインアセンブラも使えるしS-Boxもasmファイルに変換 できたので、とりあえずこちらの最適化を頑張るという手もあるんだよな…
164 名前: ◆MERIKEN4.k [2012/10/15(月) 00:04:55.23 ID:BTMO2uQH0] う〜ん、どうやらGTX 780はGTX 680の改良版になりそうな模様… What is going on with Nvidia’s GK114? Like AMD, the answer is not much semiaccurate.com/2012/10/12/what-is-going-on-with-nvidias-gk114/ こりゃ来年のも見送りだな。今のうちにGTX 590を確保しておこうっと。
165 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/15(月) 00:12:51.45 ID:K5yud+Qv0] 梅田の祖父でGTX590中古があったけど確か34k円位だっけか まあ発熱には注意だな
166 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/15(月) 06:58:14.36 ID:J/Rcf+G00] tesla待とうよ!
167 名前: ◆MERIKEN4.k [2012/10/15(月) 21:47:20.51 ID:Lrut3SY50] >>165 確かに熱は大変なことになりそうですねえ。 580 SLIも大概でしたけど、590 + 580とか、システムが持つのかしらん。 電源にはかなり余裕があるんですけど、ちょっと心配です。
168 名前: ◆MERIKEN4.k [2012/10/15(月) 21:50:33.10 ID:Lrut3SY50] >>166 Tesla K20、欲しいですw K10がだいたい$3300ぐらいですけど、K20はいくらぐらいになるんでしょうか…
169 名前: ◆MERIKEN4.k [2012/10/15(月) 22:05:38.53 ID:Lrut3SY50] 正直なところどうしようか困っていた10桁CPU検索ですが、 ちょっと思いついてregister演算子をSSE Intrinsicsで使ってみたところ、 大した手間もかからずに20%ほど高速化出来ましたw やはりVC++はSSE Intrinsicsの最適化を相当サボっている模様。 John the Ripperの実装を参考にしながらレジスタ割り付けを 工夫することでかなり高速できそうです。これでようやく光が見えてきました。
170 名前:前スレ927 mailto:sage [2012/10/16(火) 00:13:45.78 ID:Ou6FcCX40] GTX590確保しました! ('◇')ゞ CPU: PhenomeII X6 1100T@3.3GHz GPU: GV-N580SO-15I, ENGTX590 OS: Win7 64bit Prg: 0.06a1 桁: 12 Targ: "TEST/" Opt: -c -g -x 128 Drv: 306.97 1hrAv: 1830.05MTPS その他: CUDA0: 746.1M TPS (580) CUDA1: 532.6M TPS (590) CUDA2: 532.7M TPS (590) 1872.38M tripcodes/s (current) GPU: 1853.10M tripcodes/s CPU: 19.28M tripcodes/s 580一枚の時にはCPUはフルロードで20M超えていましたが、590を追加するとロードが50%〜100%に激しく変動して、CPUを使い切れてないようでした。 消費電力は怖くて計ってませんw
171 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/16(火) 00:31:35.42 ID:9lqlGkJS0] 速ぇー
172 名前: ◆GTX680Mcys3u mailto:sage [2012/10/16(火) 05:34:25.39 ID:2F+yN34h0] 速すぎワロタ
173 名前: ◆MERIKEN4.k [2012/10/16(火) 06:12:56.30 ID:VYAjNyPo0] >>170 こ、これはw OCしたら簡単に2G TPSを超えそうですねえ。 Phenom II X6 1100Tは6スレッドでは40M TPSぐらいです。 GPUが3個ならCPU検索スレッドも3つなので、まあ順当なところでしょう。 消費電力もそうですが、温度のほうも気になります。 うちの580 SLIは80℃超がふつうなので…590はもうオークションで 落としたんですけど、ちゃんと運用できるかどうか心配です。
174 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/16(火) 07:34:33.08 ID:KVGtEB2G0] >>170 >>173 590確保乙 そのうちトリプルGTX590とか強者が出そうだ…
175 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/16(火) 08:57:05.26 ID:kGLHXQmF0] 検索停止ボタン押した途端にフリーズした・・・