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/
45 名前: ◆MERIKEN4.k mailto:sage [2012/09/29(土) 09:42:08.87 ID:pr6TSdub0] >>43 Keplerちゃんもなかなか頑張ってますね。CCが3.0の場合はCPU検索スレッドの数を 1つ減らしてやるぐらいがちょうどいいのかな。あとで修正しておきます。
46 名前: ◆GTX680Mcys3u mailto:sage [2012/09/29(土) 10:09:02.52 ID:F5hHEtjs0] >>45 今までのことを考えるととんでもないスピードだと思いますよコレ 確かにFermiの方がCUDAは速いけどもKeplerでも十分に速いと思います というか構造上KeplerにCUDAのスピード求めるのも酷ですしね あとノートは数日前にGTX6xxMXが発表されてKepler化がどんどん進むと思われます こんだけ省電力で3D性能(に限って言えば)上昇してればKeplerシフトは進むわなぁ
47 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/09/29(土) 12:34:00.86 ID:F0pVK4ov0] 同じG80コアであるGeForce8800GTXとQuadroFX4600の同時使用は可能みたいですので やはり動かす時は同じComputing Capability同士のGPUを使用した方が良さそうです ついでに12桁での速度は FX4600単体で80.25M GPUx2で202.17M CPUGPU込みで210.00M 消費電力は最大664Wとかなりの電気食いです
48 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/09/29(土) 12:37:59.39 ID:F0pVK4ov0] というかNetburstベースのXeonの効率の悪さに驚愕ですね 548Wも食って12M位しか出ないCPU 552Wとチョイ上回る程度で202MもでるGPU…
49 名前: ◆MERIKEN4.k mailto:sage [2012/09/29(土) 20:14:34.09 ID:pr6TSdub0] >>46 ま〜ノートにFermiとか想像できないですからねえ。7xxシリーズでも 一部はKeplerのままかもしれません。
50 名前: ◆MERIKEN4.k mailto:sage [2012/09/29(土) 20:20:49.38 ID:pr6TSdub0] >>47-48 Compute Capabilityが違うカードのために幾つかcubinを用意してるんですけど、 これらのバイナリを同時に使うことは出来ないということなんでしょうね。 さっきソースでエラーチェックを怠っていた場所を特定したので、 新しいバージョンではちゃんとエラーが出るはずです。 Netburstはもう仕方がないですね。自分の使ってたPentium 4もとんでもない 爆熱仕様でした…
51 名前: ◆MERIKEN4.k mailto:sage [2012/09/29(土) 20:23:42.65 ID:pr6TSdub0] バージョン0.05のBeta版が出来ました。 MERIKEN's Tripcode Finder 0.05 Beta 1 www.meriken2ch.com/programming/merikens-tripcode-finder 今回の変更点は以下になります。 ・ウィンドウの設定の保存。 ・GUIの改善。 ・正規表現のバグの修正。 ・エラーチェックの改善。 このバージョンに問題がなければ、これをこのまま安定版にする予定です。
52 名前: ◆MERIKEN4.k mailto:sage [2012/09/29(土) 21:08:28.50 ID:pr6TSdub0 BE:1596024083-2BP(12)] さっきうpしたばかりのBeta版ですが、うっかりエラー処理の不具合を 見逃していました。すいません… 修正したバージョンに差し替えておいたので ダウンロードされた方はお手数ですがもう1回お願いします。 MERIKEN's Tripcode Finder 0.05 Beta 2 www.meriken2ch.com/programming/merikens-tripcode-finder
53 名前: ◆GTX680Mcys3u mailto:sage [2012/09/30(日) 02:39:31.15 ID:agZKuHqF0] >>49 いやーそれがノートの6xxシリーズでも675Mとか670MなんかはFermiなんですよ。 そして当然ながら、全く同じ環境でも680M比で675Mは温度が10度以上高い。 真夏とはいえ、ゲームやるとGPUが90度オーバーとかいうトチ狂った温度になってましたから。 しかし675Mは580Mのリネームな上に 今度は(多分)Keplerの675MXを出すとかなんで分かりづらすぎです。
54 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/09/30(日) 04:27:03.30 ID:+wNyJ2vx0] 今、ベータ版廻させて貰ってまけどT9600 2CHで、5時間目で2.8Mt/sってところですね 思ったような酉が出てきてないのでもう少し廻しますが、WCG構造解析しながらでこれは結構出てると思います 便利なツールをありがとうです
55 名前: ◆MERIKEN4.k mailto:sage [2012/09/30(日) 09:41:04.48 ID:ObpMiRkk0] >>53 90度で常用だとかなり不安ですねえ。一応設計上は97℃まで大丈夫なはずですけど… >>54 どもども。CPU検索はもうちょっと速くしたいですね。
56 名前: ◆MERIKEN4.k mailto:sage [2012/09/30(日) 09:56:55.32 ID:ObpMiRkk0] AMDのグラボについて調べてたんですけど、7xxxシリーズから大幅に アーキテクチャが変わっているそうで… 今持ってるのは去年試しに買った 5770だけなので、とりあえずコードをOpenGLで動くようにしてから、 最適化をおアーキテクチャ毎に行うことになりそうです。 まあなんにせよOpenGLへの移植はかなりの長丁場になりそうなので、 CPU検索の性能向上と並行して行うことになるでしょう。
57 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/09/30(日) 10:09:09.71 ID:pXlpWFSy0] tesla K20が出るとさらに凄いことになりそう
58 名前: ◆MERIKEN4.k mailto:sage [2012/09/30(日) 10:13:22.70 ID:ObpMiRkk0] さて、バージョン0.06の目標はCPU検索の速度向上なんですけど、 とりあえず簡単そうな12桁検索のほうから手を付けたいとおもいます。 次のコードが良さ気なんですけど、まずアセンブルできる環境を 整えないといけないですね… 次のはIntelの開発者が作った64bit版のルーチンで、 Improving the Performance of the Secure Hash Algorithm (SHA-1) software.intel.com/en-us/articles/improving-the-performance-of-the-secure-hash-algorithm-1?page=1 こっちが32bit版らしいです。 cvs.openssl.org/fileview?f=openssl-addons/intel-accel/sha1-586.pl&v=1.1
59 名前: ◆MERIKEN4.k mailto:sage [2012/09/30(日) 10:14:55.88 ID:ObpMiRkk0] >>57 Tesla K20も試してみたいけどさすがにお値段が… K10も$3200ぐらいですからね。
60 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/09/30(日) 10:18:23.84 ID:Js8qHTUK0] CPU検索の速度向上は期待大です GPUと並行できるのってかなり強みだと思います
61 名前: ◆MERIKEN4.k mailto:sage [2012/09/30(日) 10:28:15.25 ID:ObpMiRkk0] 今のCPU検索の実装は10桁検索の実装の副産物なので、 性能的にはそれほど最適化されてないのです。 どうやらSSE3をつかえばかなり高速化出来るらしいということまでは わかったのですが…
62 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/09/30(日) 10:30:40.08 ID:Js8qHTUK0] そういえば10桁検索ツールのほとんどがSSE2止まりでしたね 開発進行中なのはMERIKENさんのだけじゃないでしょうか
63 名前: ◆MERIKEN4.k mailto:sage [2012/09/30(日) 10:49:25.11 ID:ObpMiRkk0] OpenSSLのperlのコードからなんとかGNU asのコードを取り出したいところです。 …などと書いてたんですけど、Macで次のコマンドを実行したらNASM用のコードが 出てきました。 perl sha1-586.pl win32n 出力もそれっぽいし、面倒くさいこと無しにこのまま使えるかも… > %ifidn __OUTPUT_FORMAT__,obj > section code use32 class=code align=64 > %elifidn __OUTPUT_FORMAT__,win32 > $@feat.00 equ 1 > section .text code align=64 > %else > section .text code > %endif > ;extern _OPENSSL_ia32cap_P > global _sha1_block_data_order
64 名前: ◆MERIKEN4.k mailto:sage [2012/09/30(日) 11:00:46.17 ID:ObpMiRkk0] >>62 一応今の開発環境だとAVXまで対応できるんですけどねw 色々面白いことが出来るんじゃないかという気はしますけど、 x86系のアセンブラをいじるのはそれこそ10年ぶりぐらいなので、 今後の進展は神のみぞ知るといったところです。
65 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/09/30(日) 11:09:03.16 ID:3jZ6K13B0] SSE3以降は各社の足並みが揃うのがかなり遅かったですし 無理に最新の拡張命令に対応する必要もないと思いますけどね
66 名前: ◆MERIKEN4.k mailto:sage [2012/09/30(日) 11:12:30.11 ID:ObpMiRkk0] 色々ググってたら面白いことが分かりました。 このSSE3用の_sha1_block_data_orderというルーチンは、 どうやら次のEric Young氏によるSHA-1の実装と組み合わせて使うらしいです。 > # define HASH_BLOCK_DATA_ORDER sha_block_data_order : > __private_extern__ void HASH_BLOCK_HOST_ORDER (SHA_CTX *c, const void *d, int num) www.opensource.apple.com/source/CommonCrypto/CommonCrypto-7/Source/sha_locl.h これはかなり楽して速度を上げられそうな予感…
67 名前: ◆MERIKEN4.k mailto:sage [2012/09/30(日) 11:18:20.06 ID:ObpMiRkk0] >>65 SHA-1ではAVXは使いませんけど、実はAVXによるBitslice DESの実装にはかなり 興味があるのです。なんせレジスタ長が128bitから256bitになっていますからね。 Bitslice DESの特性を考えれば、AVXによる恩恵を直接受けられるのではないかと 思われます。その前に10桁検索をSSE2に対応させるのが先なんですが…
68 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/09/30(日) 11:29:08.05 ID:2xjcYG2H0] 興味をお持ちの分野から着手なさるのがいいかと。 それが有限の時間の中で一番効率がいいと思います。 我々下々にくだるご光栄のおこぼれも増えると思われます。 must to do 事項はなかなかしんどいですから。 ああ私は他力本願‥‥‥
69 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/09/30(日) 11:31:58.23 ID:Js8qHTUK0] エラーログに12完トリップキーを記録させて搾取するのがいいと思います(適当)
70 名前: ◆GTX680Mcys3u mailto:sage [2012/09/30(日) 12:08:02.09 ID:agZKuHqF0] >>67 うちのIvyちゃんにできることがあれば… ワッパは少なくともこのスレじゃ最強なはずだし気楽に回せますよ。 全開でもCPUは45Wとかですから。
71 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/09/30(日) 13:26:20.43 ID:iSWzbDt2P] >>58 intelのなら特許からんでくるかもね(*‘ω‘*)
72 名前: ◆MERIKEN4.k mailto:sage [2012/09/30(日) 13:30:17.43 ID:ObpMiRkk0] >>71 Intelの中の人のコードは利用は自由だと書いてあるので問題ないでしょう。 > It is provided 'as is' and free for either commercial or non-commercial use. software.intel.com/en-us/articles/improving-the-performance-of-the-secure-hash-algorithm-1?page=1
73 名前: ◆MERIKEN4.k mailto:sage [2012/09/30(日) 13:47:04.27 ID:ObpMiRkk0] 32bit版のSHA-1のコードはOpenSSLとCRYPTOGRAMSのデュアルライセンスで、 GRYTOGRAMSはGPLと互換性があるので、こちらのコードも MERIKEN's Tripcode Finderで使用するするのに問題はないでしょう。 > ALTERNATIVELY, provided that this notice is retained in full, this > product may be distributed under the terms of the GNU General Public > License (GPL), in which case the provisions of the GPL apply INSTEAD OF > those given above. www.openssl.org/~appro/cryptogams/
74 名前: ◆MERIKEN4.k mailto:sage [2012/09/30(日) 13:54:58.11 ID:ObpMiRkk0] >>68 とりあえず今はSSE3を使ったSHA-1のコードを動かすことが最優先です。 >>69 12完とか数世紀単位ですよw >>70 新しいバージョンのテストをぜひよろしくお願いしますです。
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