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/
752 名前: ◆MERIKEN4.k mailto:sage [2012/11/27(火) 19:18:07.56 ID:qHzcgcY70] >>739 これ2枚積めば10G TPS超できそうです。TDP 500Wの化物だけど、 普通に検索君1号に2枚収まりそうなんだけど、流石に20万は払えないよな… あぶないあぶないw Radeon最上位のデュアルGPU版「HD 7990」発売、重さを支える支柱付き カードは弩級 akiba-pc.watch.impress.co.jp/hotline/20121124/etc_club3d.html Club 3D Radeon HD 7990 Dual GPU www.club-3d.com/index.php/products/reader.en/product/radeon-hd-7990-dual-gpu.html
753 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/27(火) 19:19:19.94 ID:hGvQPEA10] >>752 そんなに電源虐めたいかww
754 名前: ◆MERIKEN4.k mailto:sage [2012/11/27(火) 19:34:03.64 ID:qHzcgcY70] >>753 そこにハードウエアがあれば限界まで性能を出したくなるのが 男のさがというものですw
755 名前: ◆supernova.rT mailto:sage [2012/11/27(火) 19:36:20.84 ID:3f/efQ6N0 BE:5355599279-DIA(123422)] 10桁酉が割られる日も近いな…ゴクリ
756 名前: ◆MERIKEN4.k mailto:sage [2012/11/27(火) 19:38:49.66 ID:qHzcgcY70] 10桁検索ですけど、crypt()のseedの値に基づいてカーネルを動的に 書き換えていたことをすっかり忘れていましたw これって実行時にOpenCLバイナリを書き換えるか、seedの数だけバイナリを 用意しなきゃいけないってことだよな…
757 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/27(火) 19:59:40.97 ID:oOatxZVu0] >>756 最適化スゲェ…… でも、10桁のシード(ソルト)って確か2バイト分(最大256^2=65536通り)あるんじゃ
758 名前: ◆MERIKEN4.k mailto:sage [2012/11/27(火) 20:35:03.96 ID:qHzcgcY70] >>757 実際には2chの仕様のせいで65^2=4225通りなんですけど、 それでも結構な数です。とりあえず実験的に作ってみますけど、 さすがにこれを配布パッケージに含めるのは考えちゃいますねw
759 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/27(火) 20:39:00.84 ID:oOatxZVu0] >>758 単純に考えて、3.5MB×2×4225≒30GBかぁ…… 動的書き換えでお願いします(切望)
760 名前: ◆MERIKEN4.k mailto:sage [2012/11/27(火) 21:00:31.98 ID:qHzcgcY70] >>759 書き換えが必要なのはOpenCLのカーネルのバイナリだけなので そこまでひどくはならないですw せいぜい数十MBのオーダーでしょう。 圧縮がかなり効くはずなので配布パッケージ自体はそこまで大きくならない はずですけど、こればっかりは試してみないとわかりません。
761 名前: ◆MERIKEN4.k mailto:sage [2012/11/27(火) 22:03:05.43 ID:qHzcgcY70] 新しいドライバで10桁検索をプロファイリングしてみたのですが、 SALBusyが80.84%なのに比べてVALUBusyが28.91%と妙に低いのに 気づきました。MemUnitBusyが66.81%とかなり高いのも気になります。 これは実際にS-Boxで費やされている実行時間は全体の3割程度ということで、 かなり効率が悪いことになります。ちょっとドライバのバージョンを落として 比較してみます。
762 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/27(火) 22:41:52.20 ID:X0Buxy760] >>747-748 バージョンによって最適化がかなり違うのですか、面倒ですねえ。 >>756 saltに応じてカーネルの動的書き換えとかできるのですか。 できるにしても実際にやるのが凄いですw >>758 crypt(3)の仕様で64^2=4096通りではないのですか?
763 名前: ◆MERIKEN4.k mailto:sage [2012/11/27(火) 23:10:13.31 ID:qHzcgcY70] >>762 あれれ、そうでしたっけ? もうちょっと調べてみます。
764 名前: ◆MERIKEN4.k mailto:sage [2012/11/27(火) 23:17:19.40 ID:qHzcgcY70] >>762 CUDAでも開発環境のバージョンによってかなり速度差が出てましたけど、 OpenCLではドライバのバージョンで違ってくるので頭が痛いです。 HashcatはカーネルをLLVM IRで配布してるみたいですけど、 似たようなことをしたほうがいいのかもしれません。
765 名前: ◆MERIKEN4.k mailto:sage [2012/11/28(水) 00:08:01.45 ID:v1ASRvbE0] Catalyst 12.9 Betaに戻してみたら、こんな感じでした。 VALUBusy: 28.91% -> 36.15% SALUBusy: 80.84% -> 113.88% MemUnitBusy: 66.81% -> 63.67% VALUBusyがちょっと上がっただけで速度は3倍になってるので、 ベクターユニットが遊んでいるせいで7970は相当余力を残している ことになります。かなりの性能向上が期待できそうなので、 OpenCLの実装が一段落したら、自分でGCNのコードをいじってみようかな…
766 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/28(水) 00:12:07.31 ID:JI44h4XK0] >>765 > SALUBusy: 80.84% -> 113.88% 100%越えってどゆことー?
767 名前: ◆MERIKEN4.k mailto:sage [2012/11/28(水) 05:40:16.34 ID:v1ASRvbE0] >>766 それはまったく謎ですw
768 名前: ◆MERIKEN4.k mailto:sage [2012/11/28(水) 06:28:09.26 ID:v1ASRvbE0] >>762 調べてみましたけど、2chのトリップ生成でのsaltの扱いはcrypt (3)の仕様から ずれているので、やっぱり4225通りであってました。 2ch トリップ仕様 sourceforge.jp/projects/naniya/wiki/2chtrip 最初に10桁トリップ検索の実装をした時にも思ったことですが、 見れば見るほどひどい仕様ですw
769 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/28(水) 08:12:30.61 ID:ttD8PkvV0] >>768 面妖な! ……ひょっとして10桁検索がどうしても遅くなるのはここにも理由があるんじゃ
770 名前: ◆MERIKEN4.k mailto:sage [2012/11/28(水) 19:13:59.54 ID:v1ASRvbE0] 7990ですけど別の会社からも発売されてますね。 PowerColor AX7990 6GBD5-2DHJ Radeon HD 7990 6GB www.newegg.com/Product/Product.aspx?Item=N82E16814131483 一枚で$899なので>>752 のカードより大分安いですが、がまんがまん…
771 名前: ◆MERIKEN4.k mailto:sage [2012/11/28(水) 19:29:28.10 ID:v1ASRvbE0] >>769 10桁検索が遅くなるのはBitslice DESでメモリへのランダムアクセスが 大量に発生するのが大きいです。こればっかりは仕方ないですね。
772 名前: ◆MERIKEN4.k mailto:sage [2012/11/28(水) 20:09:39.45 ID:v1ASRvbE0] isaファイルを出力させてGCNのコードを眺めてたんですが、 register spillsが発生している模様。"ScratchSize = 140;"なる記述が isaファイルにありました。道理でなかなか速度が出ないわけです。 プロファイラのScratchRegsの欄がNAになってたので完全に油断してました。 NAはnot applicableじゃなくてnot availableの略だったのね… なんにせよこれでMemUnitBusyやMemUnitStalledが高いのも、VALUBusyが 低いのも説明がつきます。これってCUDAのときみたいにS-Boxを書き換えたら なんとかなるのかしらん。
773 名前: ◆MERIKEN4.k mailto:sage [2012/11/29(木) 00:31:56.88 ID:VD1AV4Df0] S-Boxとおぼしき場所に倫理演算の命令に混じってbuffer_store_dwordと s_buffer_load_dwordx4という命令が大量にあったので、 たぶんこれが速度が出ない原因なんでしょう。 ちょっとすっきりしたけど、これってコンパイラのレジスタの割付が 全然うまく行っていないということですよね。やれやれです。
774 名前: ◆MERIKEN4.k mailto:sage [2012/11/29(木) 00:36:21.42 ID:VD1AV4Df0] 倫理演算じゃなくて論理演算でした。
775 名前: ◆MERIKEN4.k mailto:sage [2012/12/01(土) 23:53:39.30 ID:g8/dTHR/0] S-Boxの数を変えてISAファイルを調べてみたら、コンパイラがレジスタを きちんと再利用していないことが判明。 S-Boxes: 1 Kernel occupancy: 10 NumVgprs = 180; ScratchSize = 0; S-Boxes: 7 Kernel occupancy: 10 NumVgprs = 239; ScratchSize = 0; S-Boxes: 8 Kernel occupancy: 20 NumVgprs = 105; ScratchSize = 140; register spillsが起きるとメモリアクセスが枷になって遅くなるし、 起きなければoccupancyが半分になるしでなかなかうまく行きません。 Bitslice DESに必要なレジスタの数は64 + 17 = 81ぐらいなので、 180〜245というのはいくらなんでも多すぎです。 CUDAだったら直接PTXのコードを書けばいいんだけど、OpenCLだと そういうわけにもいかないので実に難しいです。使用するレジスタの数も CUDAみたいにコンパイル時に指定できたらいいんですけどねえ。
776 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/02(日) 13:44:02.57 ID:E9WK095v0] 駄目元でAMDのフォーラムに報告してみるとか
777 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/03(月) 19:33:58.87 ID:VDyT7kE/0] www.meriken2ch.com/programming/merikens-tripcode-finder そんなにPC酷使したいならこれで12桁の酉でも探してろ
778 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/03(月) 19:34:41.74 ID:VDyT7kE/0] すまん間違えたwちゃんと生贄連れてくるわ
779 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/03(月) 19:36:00.76 ID:Q+462s2K0] よりによってこのスレに誤爆www
780 名前:名無しさん@お腹いっぱい。 [2012/12/04(火) 14:07:03.07 ID:OIUiTKsY0] Catalyst 12.11 Beta11が出たな
781 名前: ◆MERIKEN4.k mailto:sage [2012/12/05(水) 13:40:50.64 ID:YhHPYAwa0] >>776 う〜ん、どうなんでしょうねえ。レジスタ割り付けを改善すれば 速度が上がるのは自明なので、特に報告するまでもない気もします。 実際12桁検索は倍近く速くなったので、今後に期待といったところです。
782 名前: ◆MERIKEN4.k mailto:sage [2012/12/05(水) 13:42:17.40 ID:YhHPYAwa0] >>777-779 ぜひ活きのいいのをお願いしますw
783 名前: ◆MERIKEN4.k mailto:sage [2012/12/05(水) 13:44:23.29 ID:YhHPYAwa0] >>780 かなり頻繁に更新してますね。現在ダウンロード中です。
784 名前: ◆MERIKEN4.k mailto:sage [2012/12/05(水) 13:58:19.89 ID:YhHPYAwa0] >>287 のPCIe用の延長ケーブルを使って、空冷用のスペースを 確保しつつ検索君1号にグラボを3枚積めることを確認しました。 見た目は最悪wですが、ちゃんと動いているので結果オーライです。 弾も色々揃えたので、帰省するまでに最高速の記録を更新できるかも しれません。
785 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/05(水) 18:55:54.39 ID:jmQ8Rzeo0] >>784 6G級あるか!?
786 名前: ◆MERIKEN4.k mailto:sage [2012/12/06(木) 14:44:56.38 ID:LfRKvPte0] >>785 さあ、どうでしょうねえ… ( ̄ー ̄)ニヤリ
787 名前: ◆MERIKEN4.k mailto:sage [2012/12/06(木) 14:57:33.42 ID:LfRKvPte0] ターゲットが長くなるとヒットするまでの平均時間をいまいち正確に 出せなかった問題ですが、次のライブラリを使うことで解決できることが わかりました。 Multiple Precision Integers and Rationals www.mpir.org/ Visual C++だとlong doubleがdoubleと同じ精度なので困ってたのですが、 これなら全く問題ないでしょう。
788 名前: ◆MERIKEN4.k mailto:sage [2012/12/06(木) 16:26:33.08 ID:LfRKvPte0] MPIRのビルドはあっさり成功して、ちゃんとTripcode Finderに リンクすることができました。サンプルで2の120乗を計算してみましたが、 ちゃんと正しい結果が出ています。このライブラリには分数計算のルーチンも 含まれているので、非常に正確に確率計算ができるはずです。わくわく…
789 名前: ◆MERIKEN4.k mailto:sage [2012/12/06(木) 17:18:12.37 ID:LfRKvPte0] おっと、間違えた。サンプルで計算したのは2の1920乗でした。 このライブラリ、logが計算出来ないから使うの結構面倒そうだな。 どうしたものか…
790 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/06(木) 20:46:13.83 ID:nOh2Wtf90] >>787-789 >ヒットするまでの平均時間をいまいち正確に出せなかった そうだったのですか!? ひょっとして有効桁数が2桁表示なのはそのせい……? ↓ところで、トリップ確率を計算するソフトを作っていたのですが、 up3.viploader.net/pc/src/vlpc012973.png 桁数が変わる「.」とかが入った時や準X連な時の正確な組み合わせ数を計算するのが難しいのデス…… どういった計算アルゴリズムで出しているのですか?大雑把でいいので教えて下さい!
791 名前: ◆MERIKEN4.k mailto:sage [2012/12/07(金) 08:23:57.13 ID:G1/OJRD00] >>790 基本的な流れは以下のとおりです。 (1) 正規表現のパターンを位置と固定長文字列の組み合わせに展開する。 (2) 各組み合わせごとの確率を計算する。 (3) (2)の確率の合計を求める。 注意しなければならないのは、各文字が特定の位置に出現する確率は 通常は1/64ですが、特殊文字の場合は違うということです。 例えば"."と"[:digit:]"がヒットする確率はそれぞれ64/64と10/64と しておかなければ正確な結果が出ません。 具体的な例を挙げると、12桁トリップ検索における"^test./"の出現確率は p = (1/64)*(1/64)*(1/64)*(1/64)*(64/64)*(1/64) となります。 また、位置指定をしていない"/test[:digit:]/"の場合、出現位置が 0〜5の6通りなので、 p = (1/64)*(1/64)*(1/64)*(1/64)*(1/64)*(10/64)*(1/64)*6 になります。
792 名前: ◆MERIKEN4.k mailto:sage [2012/12/07(金) 08:32:34.86 ID:G1/OJRD00] MPIRの分数の型であるmpq_tを使って確率計算をすると、 遅くて使いものにならないことが判明orz 厳密にしすぎるのも考えものですね… 仕方ないので浮動小数点数の型のmpf_tを使うことにします。 任意の精度を指定できるのでこれで十分でしょう。
793 名前: ◆MERIKEN4.k mailto:sage [2012/12/07(金) 10:59:12.72 ID:G1/OJRD00] MPIRを使ってヒットまでの時間を予測するルーチンを書き直しましたが、 結局doubleを使った元のルーチンに比べて数パーセント精度が 向上しただけでした。元のルーチンもわりと正確だったということですが、 前からだいぶ気になっていた部分だったのでまあ良しとします。
794 名前: ◆MERIKEN4.k mailto:sage [2012/12/07(金) 20:35:40.18 ID:G1/OJRD00 BE:3192048386-2BP(12)] >>790 あ、あと書き忘れてたけど、準x連の場合は該当する文字が出現する確率は 大文字と小文字をあわせて2/64になります。例えば"^[Aa]*$"のような 準12連が出現する確率は、 p = pow(2.0/64.0, 12) となります。
795 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/07(金) 22:19:25.47 ID:1HdVOJHZ0] >>791 >>基本的な流れ これだと、あるパターンが複数行で当てはまる際重複して数えてしまうような…… 「当てはまる全パターン」を正確に計算するのはカナリ厳しいことがよく分かりました >位置と固定長文字列の組み合わせ ほほう、なるほど。パーサを見直せば出来そうです ただ、実際にトリップ検索スレに出てくる案件を見る限りでは、 「.」とか「*」とかとかを使う機会は無さそうですね…… >>794 あーいや、こちらが言うところの「準X連」とは、正規表現では「*[Aa][Aa][Aa]*」みたいなもののことです (これが「純X連」になると、「*AAA*」となります) もちろん「^[Aa][Aa][Aa]*」から「*[Aa][Aa][Aa]$」まで虱潰しに出して合計してみてもいいのですが、 そうすると「BGCAAAAAAfgt」みたいなものが重複ヒットしてしまうようで…… 足し引きしてなんとかすることにします 確率計算での参考: www.geocities.jp/trip_chaser/tripdata.html
796 名前: ◆MERIKEN4.k mailto:sage [2012/12/08(土) 03:04:57.17 ID:vyeW7s150] >>795 > これだと、あるパターンが複数行で当てはまる際重複して数えてしまうような…… この問題はパターンを固定文字列に展開したあとで重複するものを 取り除くことでほとんどの場合回避できます。Tripcode Finderでは qsort()とuniq()の組み合わせで対処しています。 > あーいや、こちらが言うところの「準X連」とは、正規表現では > 「*[Aa][Aa][Aa]*」みたいなもののことです 正規表現では"*"は先頭に来ないのでいまいちよくわからないですが、 "^[^Aa]*[Aa][Aa][Aa][^Aa]*$"のことでしょうか。 > もちろん「^[Aa][Aa][Aa]*」から「*[Aa][Aa][Aa]$」まで虱潰しに出して合計してみてもいいのですが、 > そうすると「BGCAAAAAAfgt」みたいなものが重複ヒットしてしまうようで…… 確かにそうなんですけど、実際には上の処理さえ施しておけば 重複ヒットは無視できる確率でしか発生しないので、Tripcode Finderでは そこまで厳密に処理はしていません。あまり気にしなくてもいいんじゃないで しょうかw
797 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/08(土) 03:13:22.49 ID:rwOPHj120] >>796 なるほど……固定文字列に展開する作戦ですか。勉強になります。 「トリップ検索人のための便利ツール」的なものを、頑張って完成させようと思います。それでは。
798 名前: ◆JouJaku.HzIz mailto:sage [2012/12/08(土) 11:00:59.32 ID:lc8WRVoJ0] ご無沙汰しております。 電源が届いた後、色々試してみましたがどうも上手く行きません。 Quadro FX 3800, GTX480, GTX590をPCに挿してNVIDIAコンパネでQuadroだけCUDA offにして0.07a7 CUI64を[-c -g -x 128]で走らせると、下記エラーが発生して落ちます。 MERIKENsTripcodeFinderCUI: CUDA FUNCTION FALL FAILED: the launch timed out and was terminated (file 'C:/Users/Nullpo/Documents/Visual Studio 2010/Projects/MERIKENsTripcodeFinderCUI/Source Files/MTF_CUI_CUDA_SHA-1.cu', line 554) MERIKENsTripcodeFinderCUI: CUDA FUNCTION FALL FAILED: all CUDA-capable devices are busy or unavailable (file 'C:/Users/Nullpo/Documents/Visual Studio 2010/Projects/MERIKENsTripcodeFinderCUI/Source Files/MTF_CUI_CUDA_SHA-1.cu', line 461) MERIKENsTripcodeFinderCUI: CUDA FUNCTION FALL FAILED: all CUDA-capable devices are busy or unavailable (file 'C:/Users/Nullpo/Documents/Visual Studio 2010/Projects/MERIKENsTripcodeFinderCUI/Source Files/MTF_CUI_CUDA_SHA-1.cu', line 461) MERIKENsTripcodeFinderCUI: CUDA FUNCTION FALL FAILED: all CUDA-capable devices are busy or unavailable (file 'C:/Users/Nullpo/Documents/Visual Studio 2010/Projects/MERIKENsTripcodeFinderCUI/Source Files/MTF_CUI_CUDA_SHA-1.cu', line 461) Quadro+GTX590だと発生しません。三枚挿すと発生します。仕方が無いので、現在はGTX480+GTX590で運用しています。 とりあえず ガッ!
799 名前: ◆MERIKEN4.k mailto:sage [2012/12/08(土) 11:52:16.32 ID:vyeW7s150] >>798 ||// ∧_∧|∧_∧ ||/ r( (n´・ω・`n) ぬるぽついてないのに「がっ」される || ヽ゚ホllヌ)|( )  ̄ ̄ ̄ ̄ ̄ u―u' line 554とline 461はそれぞれ > CUDA_ERROR(cudaMemcpy(outputArray, CUDA_outputArray, sizeOutputArray * sizeof(GPUOutput), cudaMemcpyDeviceToHost)); と > cudaError = cudaMalloc((void **)&CUDA_outputArray, sizeof(GPUOutput) * sizeOutputArray); > ERROR0(cudaError == cudaErrorMemoryAllocation, ERROR_NO_MEMORY, "Not enough memory."); > CUDA_ERROR(cudaError); なので、両方共CUDA側のメモリの処理ですね。480と590のCCが2.0で、 Quadro FX 3800のCCが1.3なのでそれが原因かとも思ったのですが、 Quadro + GTX 590で発生しないみたいなのでそうでもないようですねえ。 エラーメッセージを見る限りではCUDAが無効担っているにもかかわらず APIからQuadroが見えているようです。NVIDIAコンパネでQuadroの CUDAをonにした場合はちゃんと動作しますか?
800 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/08(土) 11:53:33.23 ID:rwOPHj120] >>798 ユーザー名がぬるぽなのかガッ!と言いたいためにぬるぽにしたのか…… エラーメッセージでググる限りでは、 >the launch timed out and was terminated 「Primary Device(ディスプレイデバイス)に指定されているGPUで長時間カーネル関数を実行しすぎている」 (探したページではPrimary Deviceを切り替えて対処していたが、基本全部使うGPU検索ではどうか……) >all CUDA-capable devices are busy or unavailable 「ゾンビプロセスがGPUを占有している」(1つ目のエラーのせいで発生したエラーってことか?) 「fork()する前にcudaThreadExit()すればいいんじゃね」(要するに処理のミス?) 「ドライバを少し古いものに戻してみるのはどうか」(GPUあるある) てなかんじかな。 参考URL: d.hatena.ne.jp/ang65/20100721 septieme-sens.blogspot.jp/2011/09/cuda_10.html tsubame.gsic.titech.ac.jp/node/610 https://devtalk.nvidia.com/default/topic/479529/cuda-programming-and-performance/all-cuda-capable-devices-are-busy-or-unavailable-problem-in-a-multi-process-linux-application/#entry1140557
801 名前: ◆MERIKEN4.k mailto:sage [2012/12/08(土) 12:42:23.91 ID:vyeW7s150] >>800 ユーザー名がもともとNullpoなのですw 本名にしておかなくてよかった… 普通はlaunch time outはカーネルの処理時間が長すぎて発生する エラーなんですけど、このケースではCUDAが無効になっているはずの Quadroに対して検索スレッドが実行されているようなので、ドライバーの バグ臭いです。Quadroが無効になっていて480と590だけで検索が実行されて いるなら、エラーの数(=検索スレッドの数)は3個のはずなので… 時間ができたらこちらで再現できないか試してみます。
802 名前: ◆MERIKEN4.k mailto:sage [2012/12/08(土) 13:08:25.51 ID:vyeW7s150] >>800 もうちょっと調べてみたら、特定のGPUでCUDAが無効になっている場合、 cudaDeviceProp::computeModeをいちいちチェックして そのGPUが有効かどうか確認しなければいけないことがわかりましたorz stackoverflow.com/questions/8784572/how-to-choose-device-when-running-a-cuda-executable www.clear.rice.edu/comp422/resources/cuda/html/group__CUDART__DEVICE_g5aa4f47938af8276f08074d09b7d520c.html 直すのにちょっと時間がかかりますが、作業が終わったらここで報告するので しばらくお待ちください。
803 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/08(土) 19:37:38.89 ID:rwOPHj120] >>801 別に恨みはないが言わせてもらおう…… ( ・∀・) | | ガッ と ) | | Y /ノ 人 / ) < >__Λ∩ _/し' //. V`Д´)/ ←>>801 (_フ彡 / 話は飛びますが、検索していると、トリップキーの発見予定時間が 「it takes 2.3 days」などと表示されますよね? あれが単純に、「出現確率の逆数÷検索速度」だとした場合、 検索し始めて表示時間だけ待ってトリップキーが出現する確率は せ い ぜ い 6 3 % ぐ ら い し か な い ことを最近発見しました。要するに、「1/XのくじをN回引く間に1回でも当たる確率」ということですが。 この確率は、Nが極端に大きいと二項展開やテイラー展開で近似することができ、それによると 確率E=1-EXP(-N/X)。1/Xを「出現確率」、Nを「検索速度(毎秒)×時間(秒)」とすれば、 上記の値が出るということです。しかもこの値は比で考えることができるため、 「予想時間までに出てくる確率は63.2%」 「予想時間の半分の時間で出てくる確率は39.3%」 「予想時間の倍掛けて出る確率は86.5%」 などといったことが分かります。分かりやすくグラフにしてみました。 up3.viploader.net/pc/src/vlpc012980.png ……いや別になんとなく思いついただけなのですが(震え声)
804 名前: ◆MERIKEN4.k mailto:sage [2012/12/08(土) 20:27:31.63 ID:vyeW7s150] >>803 表示されているのはあくまでも「平均の」待ち時間なので、 「検索し始めて表示時間だけ待ってトリップキーが出現する確率」は 50%になるように調整されています。 > 単純に、「出現確率の逆数÷検索速度」だとした場合 これだと上の確率がちゃんと50%にならないので次のように計算しています。 pをパターンの出現確率とすると、n回のトリップの生成で パターンが出現*しない*確率q_nは、 q_n = (1 - p)^n になります。これから50%の確率でパターンが出現するのに必要な トリップ生成の回数n'は、 0.5 ≒ (1 - p) ^ n' ⇔ n' = ceiling(ln(0.5)/ln(1 - p)) となります。これから発見予定時間sは、次の式で求められます。 s = n' / [平均速度(TPS)] この計算はMTF_CUI_Patterns.cpp内のLoadTargetPatterns()の 後半で行われています。詳しくはソースを参照してくださいと言いたい ところですが、公開されているソースのこの計算の部分は非常にわかり にくいですw MPIRを使って書きなおしたので次のバージョンでは 前よりわかりやすくなったはずですが、大して変わらないかもしれません。
805 名前: ◆MERIKEN4.k mailto:sage [2012/12/08(土) 21:35:28.17 ID:vyeW7s150 BE:3258549577-2BP(12)] >>800 580+590の組み合わせでは問題は再現できませんでした。 バージョン306.97のディスプレイドライバで NVIDIA Control Panelで580でCUDAを使用しないように設定してやると、 ちゃんとCUDAのAPIからは580は隠蔽されるようになっていました。 というわけで、この問題はディスプレイドライバのバグである可能性が高いです。 一応cudaDeviceProp::computeModeをチェックする処理を追加しておいたので、 次の開発版を試してみて下さい。
806 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/08(土) 21:48:52.17 ID:rwOPHj120] >>804 それぐらい折込済み、だと……!? おみそれいたしました。 でも、その場合でも、q_nは、「発見予定時間だけ経つと0.5である」「発見予定時間のX倍経つと0.5のX乗になる」 ことから、発見確率の予測はそれほど難しくないようです(X=2だと発見確率が75%、X=0.5だと29.3%ほど)。 当該ソースは「// Calculate the matching probability etc.」あたりでしょうか。一度読んでみます。
807 名前: ◆MERIKEN4.k mailto:sage [2012/12/08(土) 22:45:58.29 ID:vyeW7s150] というわけでバージョン0.07のβ版を用意しました。 MERIKEN's Tripcode Finder 0.07 Beta 1 www.meriken2ch.com/programming/merikens-tripcode-finder 主な変更点はヒットまでの待ち時間の予測の改善と>>798 で報告された 問題への対処です。
808 名前: ◆MERIKEN4.k mailto:sage [2012/12/08(土) 22:53:58.49 ID:vyeW7s150] >>806 たしかにその場所ですけど、n'を計算する部分を書いたときには うごかすことしか考えていなかったので本当に分かりにくいですよw
809 名前: ◆JouJaku.HzIz mailto:sage [2012/12/09(日) 11:00:55.85 ID:VG0S6xiH0] >>807 対応して頂きありがとうございます。これから試してみます。 そもそもGeForceとQuadroではドライバが別パッケージになっているので、同時差しでバグが発生する可能性は大きそうですね。 Quadro使うやつはTesla使えってことか・・・。ついていけねぇ。
810 名前: ◆MERIKEN4.k mailto:sage [2012/12/09(日) 18:29:54.81 ID:D9EB7VO00] 12桁トリップ検索のRadeonへの対応の作業もほぼ終了したので、 最高速を測定してみました。オクでお安く手に入れた中古の6990を2枚使って 速度を稼いでいます。真ん中の7970は延長ケーブルでマザボにつなげて 2枚の6990の上に乗っけています。温度の心配はしなくても良くなったので ギリギリまでOCしています。動くかどうか半信半疑だったのですが なんとかなるもんですねw 【GPU0】DIAMOND 6990PE54G Radeon HD 6990 4GB @ 900MHz (OC) 【GPU1】Gigabyte GV-R7970C-3GD Radeon HD 7970 @ 1120MHz (OC) 【GPU2】DIAMOND 6990PE54G Radeon HD 6990 4GB @ 900MHz (OC) 【CPU】AMD Phenom II X6 1100T (定格) 【OS】 Microsoft Windows 7 64bit SP1 【バージョン】MERIKEN's Tripcode Finder 0.07 Beta 1 【トリップの種類】12桁 【1SMあたりのブロックの数(CUDA)】N/A 【1CUあたりのワークアイテムの数(OpenCL)】自動 【1WGあたりのワークアイテムの数(OpenCL)】自動 【1GPUあたりの検索プロセスの数(OpenCL)】1 【1検索プロセスあたりの検索スレッドの数(OpenCL)】2 【その他のオプション】-g 【Display Driver】Catalyst 12.11 Beta8 【10分間の平均速度】7428.97 tripcodes/s 【GPUの平均速度】7428.97 tripcodes/s 【CPUの平均速度】N/A 【GPUの使用率】97〜99% 【GPUの温度】83〜93℃ 【その他】GPUのみ。
811 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/09(日) 18:40:27.95 ID:HKJ77yRt0] 6990×2に5870付けて待て屋やったときは1500W超えたな(ワットチェッカー上限超えたw そんときはCPUも使ってたけど同等に電気食ってそうだww
812 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/09(日) 19:13:06.04 ID:38oGO8IR0] >>810 ぐおおおおお! CPUが空気wwwww
813 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/09(日) 20:50:13.83 ID:MhsAJkOg0] 最速記録の塗り替えか
814 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/10(月) 10:34:47.93 ID:NpT5XAETi] 6990って水冷にすれば1スロット化出来るよな でPCIex16スロット7本有るマザー結構な数有るよな 7枚刺したらいいんじゃないかな〜
815 名前: ◆MERIKEN4.k mailto:sage [2012/12/10(月) 17:54:08.67 ID:FmksHTb00] >>811 CPUには負荷はほとんどかかっていないのでそこまではいってないはずです。 恐らく検索君1号だけで1100〜1200Wぐらいです。 >>812 ここまでGPUが速いとCPU検索を同時実行すると却って速度が落ちるのです。 >>813 前スレを立てたときにくらべて10倍以上の速度が出せたので満足ですw >>814 お金があればもっと色々試したいんですけど、自分はさすがにもう限界ですねえ。 勇者の登場を待ちましょうw
816 名前: ◆MERIKEN4.k mailto:sage [2012/12/10(月) 18:59:36.16 ID:FmksHTb00] あ、そうそう。Beta 1に問題がなければ今週の金曜日ぐらいに バージョン0.07の正式版をうpする予定なので、 不具合があればそれまでに報告していただけると有難いです。
817 名前:☆☆勇者さま☆☆☆━━━╋━⊂( ̄▽ ̄∩) [2012/12/10(月) 19:36:17.47 ID:vm9IVZbG0] | ̄ ̄ ̄ ̄ ̄ ̄ ̄| | 速くなったな | | | | | ,. . _ |_______| --' 、  ̄ ̄ヽー- 、 | | ヽ ̄7 , , \ 、 「 ̄ 7 | | ヽ / /_ /ハ |ヽ、\ V ./ | | i il/ ヽl \ヽ. V ,. -{-、 __ .| ii i! o o | il | { Y/ l il |、 Д | li | `t-く ヽN ` --- <リiレ' | | `ー-- 、 / II - 2 ヽ `丶、 | |  ̄ !.ギ 子_ノ >-' ! | | ,r`''ー─''。r'^ヽ、_,/- 、 | | / `ヽ、 , '~~`V-─ 、 ) | | / /´`、 ! (_ノ i_j. / ./ ゙、 ! /_/ ゙、 ! :::`ー':::::::::::::::::::::::::::::ヽこノ:::
818 名前: ◆..//.//./5Hv mailto:sage [2012/12/10(月) 20:41:56.24 ID:Era62auz0] スレ発見しましたー。 MERIKENさんなら./の10完12桁出そうな予感! 酉ありがとうございます(ノ^^)ノ
819 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/10(月) 22:20:03.40 ID:LbISDnqB0] >>816 WinXP 32bit、GPUなしでver0.07 beta1の.exeを起動させると、「OpenCL.dllが見つかりませんでした…。」と出て起動できない(検索出来ない)。 ver0.06の安定版では起動させることが出来る
820 名前: ◆JouJaku.HzIz mailto:sage [2012/12/10(月) 22:41:16.10 ID:astkHfvt0] >>807 対応ありがとうございます。 最初にQuadro, 480, 590を繋げて"CUI64 -c -g"で実行。エラーも出ずに実行されました。自動ブロック数設定は相変わらず安定しませんが・・・ 次にNVIDIAコンパネでQuadroだけCUDA offにして"CUI64 -c -g -x 192"で実行。下記エラーが出るも、検索自体は実行されます。 MERIKENsTripcodeFinderCUI: CUDA FUNCTION FALL FAILED: unknown error (file 'C:/Users/Nullpo/Documents/Visual Studio 2010/Projects/MERIKENsTripcodeFinderCUI/Source Files/MTF_CUI_CUDA_SHA-1.cu', line 560) 画面の表示はこんな感じです。 CUDA0: (Quadro?) CUDA1: 560.5M TPS, 192 blocks/SM (480) CUDA2: 518.7M TPS, 192 blocks/SM (590) CUDA3: 518.6M TPS, 192 blocks/SM (590) ^Cで強制終了させて、もう一度実行させると、例のエラーが三行出てCPUでのみ検索が実行されます。 挙動が良く分からない・・・ OpenGL用にQuadroを残しておきたいけど、熱的にやばそうなので480と590だけで運用することにします。
821 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/10(月) 23:34:40.12 ID:Ya8wVC3a0] >>819 GPUでOpenCLかCUDA扱えないと使いづらいってのが俺の中でのこのソフトの認識 CPUだけなら待て屋とかSHArpとかがあるし(探索空間が違うから一緒にしてはいけない気もするが)
822 名前: ◆MERIKEN4.k mailto:sage [2012/12/11(火) 07:36:11.77 ID:G8KcgggZ0] >>819 報告ありがとうございます。こちらでも確認できました。 取りあえずOpenCLを添付することで対処したいと思います。
823 名前: ◆MERIKEN4.k mailto:sage [2012/12/11(火) 08:50:25.36 ID:G8KcgggZ0] >>821 実際Tripcode FinderのCPU検索は待て屋やSHArp Tripperほど速度は出ないですからねえ。 GPUが使用出来ないと警告が毎回出るのはさすがにやりすぎなのでこれは直しておきます。
824 名前: ◆MERIKEN4.k mailto:sage [2012/12/11(火) 09:04:22.97 ID:G8KcgggZ0] >>818 有難うございます。正規表現でいろいろパターンを指定できるので、 結構遊べますよw
825 名前: ◆MERIKEN4.k mailto:sage [2012/12/11(火) 10:05:57.67 ID:G8KcgggZ0] >>820 やっぱりドライバのバグみたいですねえ。 今度試す機会があったら"CUDA DEVICES"の"Compute Mode"の値を 調べてみて下さい。問題を回避できるかもしれません。
826 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/11(火) 15:41:44.59 ID:l2lR+Gjg0] なんかやってます WindowsのパスワードはGPUを25個使えば約6分から6時間で突破が可能、 毎秒3500億通りもの総当たりが可能な方法とは? gigazine.net/news/20121211-gpu-brute-force-attack/
827 名前: ◆MERIKEN4.k mailto:sage [2012/12/11(火) 16:11:15.02 ID:G8KcgggZ0] >>819 ついさっき修正が完了しました。次の安定版では直っているはずです。
828 名前: ◆MERIKEN4.k mailto:sage [2012/12/11(火) 16:31:35.11 ID:G8KcgggZ0] >>826 これ5台のラックマウントサーバーですよね。グラボが25枚だそうですけど、 サーバーによって構成が違うみたいです。8枚載っているサーバーの 写真があるので、8枚+5枚+4枚*3という構成でしょうか。他のサーバーの GPUを仮想化してHashcatで利用しているのは非常に興味深いです。 いつか自分でもこんな豪勢なクラスターを組み立ててみたいですねえ。
829 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/11(火) 16:40:36.00 ID:l2lR+Gjg0] >>828 やろうと思えば、個人レベルでも出来てしまう辺りがおもしろいですね
830 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/11(火) 17:23:04.08 ID:KG0LrKw40] 古いPCが沢山あるのでネットワーク対応型MTFを待ってます
831 名前: ◆MERIKEN4.k mailto:sage [2012/12/11(火) 19:39:54.02 ID:G8KcgggZ0] >>826 の記事のグラボが8枚載ったラックマウントサーバーはどうやら これのようです。 www.advancedhpc.com/gpu_computing/B7015F72V2.html しかしこうやってみると壮観ですねえ。 gigazine.jp/img/2012/12/11/gpu-brute-force-attack/snap0787.jpg
832 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/11(火) 21:55:11.42 ID:eYtNkyH+T] はりにきたらすでにはられてたか>>826
833 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/11(火) 22:56:32.68 ID:6gmHNGHj0] >>821 常用しているのはうにだけど、 このソフトはCPUのみでも動くようになっているから、動かないのは問題かなと思って報告した。 >>827 早い対応ありがとうございます。 OpenCL.dllをいれようと思ったものの、検索してもよく分からなかったもので……。
834 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/11(火) 23:05:15.63 ID:AXhxlsuZ0] >>828 控えめに一枚500M/sだとしても×25で12.5G/sか・・・ 8完が(ln(0.5)/ln(1-1/64^8))/(12.5*10^9)≒4.3時間で出てくる計算に
835 名前: ◆MERIKEN4.k mailto:sage [2012/12/11(火) 23:13:37.93 ID:G8KcgggZ0] >>830 とりあえず10桁トリップ検索とコードの整理をするのが先ですけど、 ネットワーク対応はいずれぜひやりたいですねえ。
836 名前: ◆MERIKEN4.k mailto:sage [2012/12/11(火) 23:29:58.01 ID:G8KcgggZ0] >>834 研究発表のスライドにはSHA-1で63G hashes/sでているとありましたよ。 passwords12.at.ifi.uio.no/Jeremi_Gosney_Password_Cracking_HPC_Passwords12.pdf これはパスワード解析での数字なので、トリップ検索ならもうちょっと 速くなるでしょう。なかなか豪気ですねえw
837 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/11(火) 23:31:14.25 ID:AXhxlsuZ0] >>830 ネットワーク対応の暁には学校のPCルーム総動員で検索させてみたいな・・・ いやGPU買えよと言われそうだが
838 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/11(火) 23:33:44.76 ID:AXhxlsuZ0] >>836 >トリップ検索ならもうちょっと速くなるでしょう 要するに単にハッシュ出して比較、だけじゃない最適化が掛かっているのか…… 8完が1時間切るとかどんなモンスターだww
839 名前: ◆JouJaku.HzIz mailto:sage [2012/12/12(水) 00:21:33.94 ID:gPuKMjn30] >>825 Compute Modeは全てcudaComputeModeDefaultでした。 違うのはCompute Capabilityだけで、Quadroは1.3、他は2.0です。 他の手を考えてみます。
840 名前: ◆MERIKEN4.k mailto:sage [2012/12/12(水) 06:17:27.59 ID:FX/ZJoUj0] >>839 そうですか。それは残念… 将来的には各GPUを使用するかしないかを個別に 設定できるようにする予定なのでいずれ解決できるかもしれませんが、 今の段階では難しいですねえ。
841 名前:名無しさん@お腹いっぱい。 [2012/12/12(水) 14:55:15.28 ID:/XRCYi610] >>343 のteslaがGTX5シリーズに負けてるのが印象的です fermiコアの解析速度はプロセッサクロック×メモリバンド幅ですかね? うちの560tiが580の報告の半分の速度しか出ないもので
842 名前: ◆MERIKEN4.k mailto:sage [2012/12/12(水) 16:13:34.77 ID:FX/ZJoUj0] >>841 メモリバンド幅は関係ないです。 580と560tiはそれぞれGF110とGF114なので単純には比較できないですけど 半分だとちょっと遅すぎるような気がしますね。ちゃんとCC 2.1用のバイナリは 入ってるはずだけど…
843 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/12(水) 16:49:47.66 ID:EU7chw1W0] GF114はSMあたりのコア数はGF110の32コアから48コアに増えていますが、 レジスタ数は増えていなくて、GF110は16SMでGF114は8SMなので GF114ではレジスタがボトルネックになりがちだったと思います。 とはいえSMあたりのコア数が増えている分少しは向上しているようでしたし、 リファレンスではクロックもGTX560Tiの方が上なので、半分となると遅すぎる気もしますが、 OCされたGTX580との比較でしょうか?
844 名前:841 [2012/12/12(水) 17:12:49.24 ID:SeK148sf0] 【GPU】Geforce GTX560ti ×2 【CPU】core i5 3470 【OS】Microsoft Windows 7 64bit SP1 【バージョン】MERIKEN's Tripcode Finder 0.07 Beta 1 【トリップの種類】12桁 【1SMあたりのブロックの数(CUDA)】192 【その他のオプション】-g -x 128 【Display Driver】306.97 【10分間の平均速度】 762.15Mtripcodes/s 【GPUの使用率】99% 【GPUの温度】71〜80℃ 【その他】 CUDA0,1:約381M TPS
845 名前: ◆MERIKEN4.k mailto:sage [2012/12/12(水) 18:58:07.81 ID:FX/ZJoUj0] さっき測ったら定格の580が683M TPSぐらいなので560tiの速度は 55%ぐらいですか。CUDA GPU Occupancy Calculatorで調べてみても 特にCC 2.1でOccupancyが下がるということもなかったので、ちょっと 原因がよくわからないですねえ。
846 名前:名無しさん@お腹いっぱい。 [2012/12/12(水) 19:21:29.29 ID:SeK148sf0] GF114はGPGPUには向いてないのですかねー。 現在最速はやはりGF110かな?
847 名前:名無しさん@お腹いっぱい。 [2012/12/12(水) 19:37:38.59 ID:jCx6f4p80] つttp://dokumaru.wordpress.com/tag/gf110/
848 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/12(水) 20:44:44.70 ID:EU7chw1W0] 55%ですか・・・もう少し出てもよさそうな気もしますが、おかしいというほどではないかと思います。 単精度や32ビット整数の演算性能自体は、GTX560Tiはコア数とクロック的にGTX580の80%近くありますが、 それはピーク性能であって、SHA-1ハッシュの演算ではレジスタがそれなりに必要になります。 SM数とクロック的にはGTX560TiはGTX580の53%程度であり、 それぞれのSMの違いはコア数(と倍精度や特殊関数など)でレジスタ数に変化は無いので レジスタがネックでコアを使いきれていないのだと思います。 GF114はグラフィックよりではあると思いますが、GPGPUでもレジスタを大量に使うものばかりではないでしょうし 消費電力や値段を考えると、GPGPUにはベストではないけどそれなりにではないでしょうかね。 GK104はGPGPUにはピーキー過ぎてお勧めしませんけど・・・
849 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/13(木) 04:38:55.18 ID:Fj613XFy0] GK110買えそう 楽しみ
850 名前: ◆MERIKEN4.k mailto:sage [2012/12/13(木) 05:13:49.96 ID:sid26Nen0] >>848 なるほどなるほど… CUDA Toolkit 5.0に添付されているOccupancy Calculatorでは このあたりの事情が反映されていないようです。カーネルのレジスタ数は46〜48で Occupancyは42%なのでレジスタ数が特に多いというわけではないのですが、 これがボトルネックになっているのは確実ですね。
851 名前: ◆MERIKEN4.k mailto:sage [2012/12/13(木) 05:17:50.58 ID:sid26Nen0] >>849 Tesla K20ですか? いいな〜 買えたら是非報告をお願いします。
852 名前: ◆MERIKEN4.k mailto:sage [2012/12/13(木) 05:44:43.66 ID:sid26Nen0] >>838 パスワード解析に比べてトリップ検索ではキーの生成が比較的単純なので、 それをうまく利用してやれば速度は1〜2割上がる傾向があります。 GPUクラスタの場合はノード間通信がボトルネックにならないので 更に速くなるものと思われます。しかしもう12桁トリップだと9完以上でないと 危ないですねえ。
853 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/13(木) 05:52:42.00 ID:q8Aa1QZH0] >>852 いやいやいや あくまでも12桁ですから、キーを割られる危険という意味では何完であろうと関係はないです 我々のような好き者にとっては問題なんですが
854 名前: ◆MERIKEN4.k mailto:sage [2012/12/13(木) 07:25:01.97 ID:sid26Nen0] >>853 > あくまでも12桁ですから、キーを割られる危険という意味では何完であろうと関係はないです あ、「危険」と書いたのはそういう意味じゃないです。 トリップの場合はある程度一致すればなりすましができるので キーが割られなくても十分危ないんですよね。トリップが一致しているか どうかを判断しているのは一般のユーザーで、普通の人はわざわざ 12桁目まで細かく確認しているわけではありません。ここらへんは普通の パスワードとはぜんぜん違うところです。
855 名前: ◆MERIKEN4.k mailto:sage [2012/12/13(木) 08:47:43.45 ID:sid26Nen0] 今唐突に12桁トリップのCPU検索を高速化するアイディアを思いついたん ですけど、1月の中旬まで帰省しているので実装はそれまでおあずけです。 残念… なんでMTFのCPU検索がSHArp Tripperやhip2に比べて遅かったのか 不思議で仕方がなかったんですけど、よく考えたら普通のSHA-1の ルーチンを使いまわしてたせいで、SSE2のレジスタをトリップ検索に 特化した形で効率的に使用していなかっただけでしたw 1個のハッシュの生成を高速化するより、SSE2の128bitレジスタを使って 4個同時に生成したほうが速いに決まってますよねえ。
856 名前: ◆MERIKEN4.k mailto:sage [2012/12/13(木) 09:05:24.37 ID:sid26Nen0] あと、よく考えたらキーの動的生成とBitslice DESのルーチンの動的書き換え ( >>712-713 )で10桁トリップのCPU検索も高速化できることに気づきました。 なんで時間のないときに限って面白い考えを思いつくんだろうorz
857 名前:ののたん ◆KiwamonoL. mailto:sage [2012/12/13(木) 13:36:10.93 ID:rNLBcKX70] >>855 えっ!? SIMD ってなかったの!(SIMD るってなんだよ。w まさか、Radeon でもやってないとか・・・・・。 ソースを読んでみる気は無い。www あとまあ Hashcat 知ってるんなら知ってるかもしれんが。 ttps://hashcat.net/p12/js-sha1exp_169.pdf
858 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/13(木) 16:42:37.91 ID:tgXDqPZ80] もうこれはMERIKENさんにメチャクチャ頑張ってもらうしかない展開
859 名前: ◆MERIKEN4.k mailto:sage [2012/12/13(木) 17:01:04.69 ID:sid26Nen0] >>857 SSE2を使ってるルーチンを拾ってきたんですけど、 ベクター化されてないのであんまり速度が出てなかったみたいです。 RadeonのほうはCUDA版のベタ移植なのでそれこそなにもしていませんw OpenCLドライバが頑張ってるのでせう。Southern Islandsだとベクトル化しても あんまり意味ないみたいですし… 資料のほうはあとでありがたく読ませて頂きます。 これでさらなる高速化が出来るかもしれないですね。ぐへへへへ…
860 名前: ◆MERIKEN4.k mailto:sage [2012/12/13(木) 17:06:59.50 ID:sid26Nen0] >>858 明日の朝の飛行機の便に間に合わせるのに徹夜で荷物をつめはじめたところなので さすがに帰省前は無理ですw 来月を楽しみにしていて下さい。 家を出る前に0.07の安定版はうpしておきます。
861 名前: ◆YSRKENkO6Y mailto:sage [2012/12/13(木) 19:27:33.63 ID:tgXDqPZ80] >>806 です。 検索作業をサポートするソフトをリリースしてみます(実験版だけど)。 依頼を検索パターンに変換したり、特定パターンを自動生成したりできます。 良かったらどうぞ。 www1.axfc.net/uploader/so/2713626.zip
862 名前:名無しさん@お腹いっぱい。 [2012/12/13(木) 19:51:21.07 ID:DyqVV5mA0] レジューム機能がほしいです
863 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/13(木) 21:20:16.88 ID:tgXDqPZ80] >>862 なんで検索空間>>酉空間なのにみんなレジューム機能が欲しくなるんだろうな……いや俺も思ってたことあったけど 自動実行と自動保存はAlpha 7で既に実装されてるから除くとして
864 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/13(木) 21:44:28.47 ID:sR2+e44BP] Radeon HD8000シリーズ楽しみすぎる
865 名前: ◆MERIKEN4.k mailto:sage [2012/12/13(木) 23:04:23.15 ID:sid26Nen0] バージョン0.07の安定版です。 MERIKEN's Tripcode Finder 0.07 www.meriken2ch.com/programming/merikens-tripcode-finder Alpha 7からの変更点は以下になります。 ・OpenCLドライバがインストールされていないと起動できないバグの修正。
866 名前: ◆MERIKEN4.k mailto:sage [2012/12/13(木) 23:06:06.40 ID:sid26Nen0] 飛行機の時間ギリギリなってしまったのでレスはまた明日させて頂きます。 それではまた〜
867 名前: ◆YSRKENkO6Y mailto:sage [2012/12/15(土) 21:07:08.23 ID:GRSKcena0] >>861 の更新版、「検索人の友 Ver.0.6」のお知らせ。 待て屋・SHArp・MERIKENの検索パターンを相互変換することができます。 (リンクはikura.2ch.net/test/read.cgi/qa/1321792877/667 に貼りました)
868 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/16(日) 17:19:41.64 ID:V5+y2FbN0] 「検索人の友 Ver.0.8」のお知らせ。検索パターンと検索速度から、出現予定時間を算出する機能を追加。 (リンク:ikura.2ch.net/test/read.cgi/qa/1348736616/317 に記載)
869 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/17(月) 06:52:14.80 ID:NsR6YqHWP] SHA256ハッシュを取ると全てのビットが0になるキーが知りたい
870 名前: ◆MERIKEN4.k mailto:sage [2012/12/17(月) 08:16:44.48 ID:obM+cmx70] >>862 レジューム機能は原理的に無理ですけど、 累計を保存する機能は近いうちにつけておきます。
871 名前: ◆MERIKEN4.k mailto:sage [2012/12/17(月) 08:32:18.59 ID:obM+cmx70] >>868 依頼変換は便利そうですね。スレから依頼を直接引っ張ってきたり、 「大小区別指定」をチェックボックスにして条件を複数同時に指定できると もっと便利かもしれません。帰省中で今は検索用のPCが使えない状態なので、 来月の中旬頃にはもっと詳しいことが書けると思います。
872 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/17(月) 16:23:37.32 ID:ilzoh/XC0] >>871 依頼引張り→依頼者が「正しい」形式で依頼してくるかが未知数という問題が・・・ 全部まとめたシステム的なものはムズカシイけど、コピペから自動認識程度なら検討可 チェックボックス→次のバージョン(Ver.2.0)で対応予定。 Ver.1.0に更新のお知らせ: ikura.2ch.net/test/read.cgi/qa/1348736616/320
873 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/17(月) 20:47:36.05 ID:tgzVEmdn0] >>869 なんでSHA256? 2chの12桁はSHA1だと思ったが…… 仮に2chのトリップがSHA256に対応したとして、BASE64で000000はAなのでAのx完のトリップになると思う
874 名前:名無しさん@お腹いっぱい。 [2012/12/25(火) 16:10:43.34 ID:8ibvVCIr0] おつかれさまです 現行では10酉探索にはradeonが使えないってことですが いつか改善される予定ってありますか?
875 名前: ◆MERIKEN4.k mailto:sage [2012/12/27(木) 14:10:32.77 ID:mxDEJqWX0] >>874 一応7xxxシリーズ限定で使えるものがほとんど出来上がっているんですけど、 速度に満足できないので公開を見合わせている状況です。 今考えているのはAMD ILをいじってレジスタ数の割付を最適化することです。 またまとまった時間が取れるようになったら色々試してみる予定なのでしばらく お待ちください。
876 名前: ◆YSRKENkO6Y mailto:sage [2012/12/27(木) 20:41:02.20 ID:dIBogKe10] 自作ソフトウェアの更新のお知らせ。ぜひお試しを。 [検索人の友 Ver.2.0] このソフトは、以下のような作業を自動化します。 ・検索依頼の各種形式への変換 →依頼スレでのテンプレに準拠。各種形式に変換して表示できます。 今回は大小指定の複数指定に対応。全大と全小を同時表示、なんてこともできます。 ・特定パターンの検索ワードの自動生成 →「純・準X連」「全数」「二構」「飛石」「最長」「最短」といったパターンの検索 ワードを自動的に作成します。10桁(待て屋)、12桁(MERIKEN)両方に対応。 ・各種トリップ検索ワードの相互変換 →「まあ、待て屋。」「SHArp Tripper」「MERIKEN's Tripcode Finder」の 3種類の検 索ソフトの検索ワードを互いに変換します。今回は「*」「+」といったパターンや、 「(|)」にて|が二つ以上の場合にも対応。 ・任意の検索ワードに対する出現確率を計算 →上記 3種類の検索ソフトでの検索ワードと検索速度を入力すると、発見予定時間を有 効数字4桁で表示します。発見予想順位を表示する機能も。 ・トリップテスト →10・12桁トリップをテストできます。生キー対応。 URL:www1.axfc.net/uploader/so/2732376.zip
877 名前: ◆YSRKENkO6Y mailto:sage [2012/12/27(木) 21:45:32.82 ID:dIBogKe10] 参考画面キャプ: blog-imgs-52.fc2.com/y/s/r/ysrken/tf2nd.png
878 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/28(金) 07:15:58.38 ID:LSB18vp7O] 俺はHD5750なので、7xxx限定だと寂しい。
879 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/28(金) 10:11:27.22 ID:btW3tXEk0] そんなグラボ使ってもゴミみたいな速度だからさっさと7990買った方がいい
880 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/29(土) 15:30:34.93 ID:QBY9tjiXO] CPU単体より速いし。
881 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/30(日) 17:08:22.25 ID:283bEnYe0] ハイエンドグラボだと暖房つけなくていいし。
882 名前: ◆MERIKEN4.k mailto:sage [2012/12/30(日) 21:35:19.18 ID:3b9pWfKV0] >>876 お疲れ様です。チェックボックスに対応して下さったんですね。 ありがとうございます。
883 名前: ◆MERIKEN4.k mailto:sage [2012/12/30(日) 22:01:34.70 ID:3b9pWfKV0] >>878 自分も5770を持ってるので対応したいのはやまやまなんですけど、 性能を出そうと思ったら最適化を1からやりなおして相当頑張らないと だめでしょうね〜 OpenCLじゃなくてAMD ILで書かないとうまくいかないと思います。 方法がないこともないみたいなんですけど、コードはGPU依存みたいだし 実際どうなんでしょうねえ。 AMD IL openwall.info/wiki/john/development/AMD-IL
884 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/31(月) 00:33:06.19 ID:5dWhV9Q+O] いや性能を出す必要はなく、動作すればいいのですよ。 CPUと併用すれば、単体より絶対速くなるしね。 勿論、速い方がいいけど、所詮5750だし。 パフォーマンスアップは、ソフトじゃなく ハードでやるべき。
885 名前: ◆YSRKENkO6Y mailto:sage [2012/12/31(月) 02:23:57.88 ID:FP3iWdXs0] >>882 MERIKENさんが帰ってきた、だと・・・!? >>884 同意 パフォーマンスに拘るのはCOOLだと思うけど、 ちゃんと動くものがあればあるだけ欲しいと思う層もいるのですよ
886 名前: ◆MERIKEN4.k mailto:sage [2012/12/31(月) 06:11:35.03 ID:awFOsDcV0] >>884 7970用のルーチンも一応5770でも動きますけど、CPUよりずっと遅いですよ。 GPGPUの最適化は難しいのです。
887 名前: ◆MERIKEN4.k mailto:sage [2012/12/31(月) 06:32:32.71 ID:awFOsDcV0] >>885 その「ちゃんと動」かすのが10桁トリップ検索の場合結構大変なんですよ。 ソフトウェアの最適化なしだったらGPUでもせいぜい2〜3M TPSといったところで、 ここから数十M TPSまで持って行くにはGPUのアーキテクチャに合わせてかなり いろいろ工夫しないといけないのです。
888 名前: ◆YSRKENkO6Y mailto:sage [2012/12/31(月) 07:57:11.86 ID:FP3iWdXs0] >>887 >2〜3MTPS そうなのか・・・勉強になります 私の自作ツールの場合スクリプト言語で書かれたものですので 最適化とか心配しなきゃならないものでもありませんゆえ Ver.2.0では正規表現の再現度を上げるのが大変だた・・・よく「*」「+」の展開法思いついたなあの時の俺
889 名前: ◆MERIKEN4.k mailto:sage [2012/12/31(月) 08:42:39.52 ID:awFOsDcV0 BE:1862028274-2BP(12)] 正規表現は結構めんどくさいですよね。 あと、ご自分のツールのお話は新しくスレを立ててそちらでされてはいかがでしょうか。
890 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/31(月) 08:57:16.76 ID:eH5h6/ri0] 追い出されててワロタw
891 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/31(月) 10:07:06.18 ID:o6b6oLP20] 待て屋スレ過疎ってるからそっちでいいんじゃね
892 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/01/02(水) 08:30:53.92 ID:EBbdMn+A0] コレって 先頭から1234・・・・・・・みたいな場合はどうすればいいの?
893 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/01/02(水) 10:34:58.70 ID:j1GWXSL70] どうするじゃない、ちゃんと詳しく書け。 子供かお前は、人に伝える努力をしろ
894 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/01/02(水) 12:57:32.84 ID:EBbdMn+A0] ◆1234******** みたいなトリップがほしいのですが 正規表現だけだと ◆**1234******** とかになってしまうので 希望の文字を先頭に持ってくる方法を教えて下さい
895 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/01/02(水) 14:19:05.98 ID:B+O8PAt80] ^ググれよwww.mnet.ne.jp/~nakama/regexp2.html
896 名前: ◆YSRKENkO6Y mailto:sage [2013/01/02(水) 15:57:36.42 ID:dPGu+6vs0] >>892 このソフトの文法から言えば、 ---------- #regex ^1234 ---------- か、 ---------- #noregex 1234 ---------- でいい
897 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/01/02(水) 23:11:07.52 ID:EBbdMn+A0] >>895 −896 ありがとうございます
898 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/01/03(木) 19:09:59.78 ID:ACm8OTnP0] HD7750 だとどのくらい出てるんでしょうか。
899 名前: ◆MERIKEN4.k mailto:sage [2013/01/03(木) 20:27:04.29 ID:uL2cvRSF0 BE:4256064588-2BP(12)] >>898 7750での報告はなかったはずです。コア数が7970の1/4なので、 クロック周波数の差を考え合わせると12桁トリップ検索で450M TPSぐらい じゃないでしょうか。
900 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/01/04(金) 08:22:04.31 ID:3pwj0oYQ0] >>899 今使ってる HD6670 だと 267M くらいなので 1.6倍かー
901 名前: ◆MERIKEN4.k mailto:sage [2013/01/04(金) 11:11:20.94 ID:9q/aQkBO0] 時間ができたので>>857 の資料を読んでみました。MTFではトリップのキーの 長さは12桁に決め打ちしてしまっているのでかなりの速度向上が期待できそう です。資料では最適化の結果命令数が21%減ったとのことでしたが、もう ちょっと減らせるかもしれません。 それにしても、やっぱりソフトウェアの最適化についてあれこれ考えるのは 面白いですねえ。工夫一つで性能が数割から数倍に向上するのが GPGPUの醍醐味ですしね。
902 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/01/04(金) 17:52:21.79 ID:vJlizUDg0] >工夫一つで プログラミングの腕って結局そこに結実するんでしょうな…… 上手くSIMDやGPGPUが決まった時の快感は異常
903 名前: ◆MERIKEN4.k mailto:sage [2013/01/05(土) 21:57:03.78 ID:7v0sXuCV0] >>902 ですよね〜 GPGPUにはなんとも言えない緊張感があります。
904 名前: ◆MERIKEN4.k mailto:sage [2013/01/05(土) 22:15:46.12 ID:7v0sXuCV0] >>857 の資料の内容は大体理解できました。要はSHA-1のブロックの最初の ワード以外を決め打ちにして計算の手間を省こうという話で、トリップ検索に そのまま応用できることがわかりました。PW[]を定数の配列にして CPU側であらかじめ計算してからカーネルに渡せばいいはずです。 これはかなり楽して速度が稼げる美味しい話みたいです。
905 名前: ◆JouJaku.HzIz mailto:sage [2013/01/09(水) 21:26:57.90 ID:htgpuiWN0] >>839 「QuadroにGeForceが合わないなら、Teslaを使えばいいじゃない。」 【GPU】Tesla K20c 【CPU】XeonX5680@3.33GHz x2 【OS】Win7Pro64SP1 【Ver】0.07 【Len】12 【BLK/SM】256 【Opt】-c -g -x 256 【Drv】310.70 【15minAv】777.25 MTPS 【GPU Av】705.03 MTPS 【CPU Av】72.22 MTPS 【GPU Ld】- 【GPU Tmp】- 【Oth】HT off, QuadroはCUDA off
906 名前: ◆JouJaku.HzIz mailto:sage [2013/01/09(水) 21:29:11.42 ID:htgpuiWN0] 今回はエラーも出ずに正常に動きました。 K20cはCPU負荷がGeForce5xxに比べて大きく、1枚でX5680の1コアを使い切る位です。 Open Hardware MonitorもGPU-ZもK20cにはまだ対応してないので、GPUの負荷や温度は分かりません。 整数演算はこんなものですかね。もう少し頑張って欲しかった。(´・ω・`)
907 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/01/10(木) 16:57:35.57 ID:d1+F/txNP] IDにgpu
908 名前: ◆MERIKEN4.k mailto:sage [2013/01/12(土) 14:28:42.75 ID:rJVHMMLY0] >>905-906 報告ありがとうございます。Tesla K20cにしてはちょっと遅いですねえ。 CC 3.5用のバイナリを実行ファイルに埋め込めば速くなるのかもしれませんが、 Toolkit 5.0を使うと他のカードでの速度が露骨に遅くなってしまうのが 悩みの種です。NVIDIAのカードでもOpenCL版を使えるように出来ないか 検討してみます。