【トリップ検索】MERIKEN's Tripcode Finderat SOFTWARE
【トリップ検索】MERIKEN's Tripcode Finder - 暇つぶし2ch35:名無しさん@お腹いっぱい。
12/09/29 08:32:45.87 F0pVK4ov0
手持ちのDualCPUのXeon 5080(NetBurst)と8800GTXの組み合わせだと12桁で
自動だと 132.72M
8スレッド 131.05M
7スレッド 132.40M
6スレッド 131.47M
みたいな結果となりますのでCPUの種類によっては自動が最適なんてこともあるみたいですよ

CPU検索のみを実行しますと
オート設定だと12.49M
8スレッドだと12.41M
7スレッドだと11.18M
6スレッドだと10.32M
5スレッドだと9.28M
4スレッドだと8.19M
3スレッドだと6.23M
2スレッドだと4.25M
1スレッドだと2.11M
という結果で同時期のハイエンドGPUの8800GTXは
GPU単体だと121.35Mなので10倍近く高速と言う結果となります

あと負荷掛け続けるとCPUが過熱し過ぎたのか警笛が鳴って焦ったw
やはりGPGPUはエアフローに気を付けないとCPUも熱くしてしまうので要注意ですね

36: ◆MERIKEN4.k
12/09/29 08:43:28.33 pr6TSdub0
>>34
CPU検索の自動設定は、何も考えずにCPU検索スレッドの数を
「(論理スレッドの数) - (GPUの数)」に設定しているだけなので、
これも変える必要がありますね。たぶんIntelの石ではhyper-threadingの
おかげでスレッド数を下手に増やすと遅くなる場合もあるのでしょう。
ここらへんはもうちょっと調べる必要があります。

現在の実装だととにかく速度を出すために目一杯計算資源を使っているので、
利便性の点からはかなり改善の余地があるでしょうねえ。検索スレッドの
優先度を低く設定してやるのも手かもしれません。今考えているのは検索の設定で
速度を「速い」とか「最大」とか「ゆっくり」とかから選べられるようにすること
です。GUIの実装が一段落したらぜひ取り組みたいですね。

37: ◆MERIKEN4.k
12/09/29 09:05:48.91 pr6TSdub0
>>35
詳しい報告、ありがとうございました。スレッド数を増やしてもペナルティに
ならないのはやはりXeonだからなんでしょうかね。非常に興味深いところです。
8800GTXも結構速度が出てますね。テスト用に一個欲しいところです。

このプログラムはシステム全体にとんでもない負荷をかけるのでかなり注意する
必要がありますね。私のメインのデスクトップPCはケースの蓋が開けっ放しです。
次からははじめからこんなの
URLリンク(www.dangerden.com)
か、こんなの
URLリンク(www.dangerden.com)
にしておきます…

38: ◆MERIKEN4.k
12/09/29 09:08:13.46 pr6TSdub0
あれ、写真が出てこないや。元のリンクはこっちです。
URLリンク(www.dangerden.com)
URLリンク(www.dangerden.com)

39: ◆MERIKEN4.k
12/09/29 09:14:52.79 pr6TSdub0
それはそうと、ウィンドウの状態の保存の処理をすっかり忘れてたので
現在実装しているところです。とりあえずここのコードを使わせてもらって
ウィンドウの位置は保存されるようになりました。
URLリンク(stackoverflow.com)
あとは各タブの状態を保存してやるようにすればGUIの実装は一段落ということに
なります。

40: ◆GTX680Mcys3u
12/09/29 09:16:59.23 F5hHEtjs0
>>35
そこはどうなんでしょね。
Keplerは従来よりもCPU負荷がきついですから
Fermiまでとは違うという事も考えられます。

いずれにせよ色々なプラットフォームで自動で最高の結果を出そうとすると
相当にデータ集めが必要なんだと思いますよ。単純に。
ホントにプログラミングとかかじったこともないド素人の意見ですけども。

41: ◆GTX680Mcys3u
12/09/29 09:19:29.25 F5hHEtjs0
つーかごめんなさい個人的なことをいうと
俺のノートはパワーもないしOCの幅もないけど、開発に携われるだけでうれしいです。
新バージョンにクレジットしてくださっただけでも本当にうれしかったです。

できることはできる範囲で全力でやります。

42: ◆MERIKEN4.k
12/09/29 09:25:10.70 pr6TSdub0
>>40
> Keplerは従来よりもCPU負荷がきついですから

こういう要素もあるんでしょうねえ。最適化の作業を進めていると
各Compute Capability毎に1枚テスト用のカードが欲しくなりますけど
流石にそんなわけにもいかないですからねえ。こうやって色々報告していただけると
助かります。

43: ◆GTX680Mcys3u
12/09/29 09:34:09.06 F5hHEtjs0
あとテスト報告ですけども
3820QM+GTX680Mの最新版でのベストスコアは
GPU(224Bl/SMX):294+CPU(6T):26の320MT/sでした。
これは瞬間値じゃなくて長時間平均をとりました。

CPU、GPUそれぞれの単体でも従来よりずっと速いです。

44: ◆MERIKEN4.k
12/09/29 09:36:34.21 pr6TSdub0
>>41
私としてはこのプログラムができるだけいろんなグラボで動くようになればいいと
考えているので、グラボの性能自体はそれほど気にしていないのです。実際のところ
ちゃんと動いているのが確認できて安心しましたw

45: ◆MERIKEN4.k
12/09/29 09:42:08.87 pr6TSdub0
>>43
Keplerちゃんもなかなか頑張ってますね。CCが3.0の場合はCPU検索スレッドの数を
1つ減らしてやるぐらいがちょうどいいのかな。あとで修正しておきます。

46: ◆GTX680Mcys3u
12/09/29 10:09:02.52 F5hHEtjs0
>>45
今までのことを考えるととんでもないスピードだと思いますよコレ
確かにFermiの方がCUDAは速いけどもKeplerでも十分に速いと思います
というか構造上KeplerにCUDAのスピード求めるのも酷ですしね

あとノートは数日前にGTX6xxMXが発表されてKepler化がどんどん進むと思われます
こんだけ省電力で3D性能(に限って言えば)上昇してればKeplerシフトは進むわなぁ

47:名無しさん@お腹いっぱい。
12/09/29 12:34:00.86 F0pVK4ov0
同じG80コアであるGeForce8800GTXとQuadroFX4600の同時使用は可能みたいですので
やはり動かす時は同じComputing Capability同士のGPUを使用した方が良さそうです
ついでに12桁での速度は
FX4600単体で80.25M
GPUx2で202.17M
CPUGPU込みで210.00M
消費電力は最大664Wとかなりの電気食いです

48:名無しさん@お腹いっぱい。
12/09/29 12:37:59.39 F0pVK4ov0
というかNetburstベースのXeonの効率の悪さに驚愕ですね
548Wも食って12M位しか出ないCPU
552Wとチョイ上回る程度で202MもでるGPU…

49: ◆MERIKEN4.k
12/09/29 20:14:34.09 pr6TSdub0
>>46
ま~ノートにFermiとか想像できないですからねえ。7xxシリーズでも
一部はKeplerのままかもしれません。

50: ◆MERIKEN4.k
12/09/29 20:20:49.38 pr6TSdub0
>>47-48
Compute Capabilityが違うカードのために幾つかcubinを用意してるんですけど、
これらのバイナリを同時に使うことは出来ないということなんでしょうね。
さっきソースでエラーチェックを怠っていた場所を特定したので、
新しいバージョンではちゃんとエラーが出るはずです。
Netburstはもう仕方がないですね。自分の使ってたPentium 4もとんでもない
爆熱仕様でした…

51: ◆MERIKEN4.k
12/09/29 20:23:42.65 pr6TSdub0
バージョン0.05のBeta版が出来ました。

MERIKEN's Tripcode Finder 0.05 Beta 1
URLリンク(www.meriken2ch.com)

今回の変更点は以下になります。

・ウィンドウの設定の保存。
・GUIの改善。
・正規表現のバグの修正。
・エラーチェックの改善。

このバージョンに問題がなければ、これをこのまま安定版にする予定です。

52: ◆MERIKEN4.k
12/09/29 21:08:28.50 pr6TSdub0 BE:1596024083-2BP(12)
さっきうpしたばかりのBeta版ですが、うっかりエラー処理の不具合を
見逃していました。すいません… 修正したバージョンに差し替えておいたので
ダウンロードされた方はお手数ですがもう1回お願いします。

MERIKEN's Tripcode Finder 0.05 Beta 2
URLリンク(www.meriken2ch.com)

53: ◆GTX680Mcys3u
12/09/30 02:39:31.15 agZKuHqF0
>>49
いやーそれがノートの6xxシリーズでも675Mとか670MなんかはFermiなんですよ。
そして当然ながら、全く同じ環境でも680M比で675Mは温度が10度以上高い。
真夏とはいえ、ゲームやるとGPUが90度オーバーとかいうトチ狂った温度になってましたから。

しかし675Mは580Mのリネームな上に
今度は(多分)Keplerの675MXを出すとかなんで分かりづらすぎです。

54:名無しさん@お腹いっぱい。
12/09/30 04:27:03.30 +wNyJ2vx0
今、ベータ版廻させて貰ってまけどT9600 2CHで、5時間目で2.8Mt/sってところですね
思ったような酉が出てきてないのでもう少し廻しますが、WCG構造解析しながらでこれは結構出てると思います
便利なツールをありがとうです

55: ◆MERIKEN4.k
12/09/30 09:41:04.48 ObpMiRkk0
>>53
90度で常用だとかなり不安ですねえ。一応設計上は97℃まで大丈夫なはずですけど…

>>54
どもども。CPU検索はもうちょっと速くしたいですね。

56: ◆MERIKEN4.k
12/09/30 09:56:55.32 ObpMiRkk0
AMDのグラボについて調べてたんですけど、7xxxシリーズから大幅に
アーキテクチャが変わっているそうで… 今持ってるのは去年試しに買った
5770だけなので、とりあえずコードをOpenGLで動くようにしてから、
最適化をおアーキテクチャ毎に行うことになりそうです。
まあなんにせよOpenGLへの移植はかなりの長丁場になりそうなので、
CPU検索の性能向上と並行して行うことになるでしょう。

57:名無しさん@お腹いっぱい。
12/09/30 10:09:09.71 pXlpWFSy0
tesla K20が出るとさらに凄いことになりそう

58: ◆MERIKEN4.k
12/09/30 10:13:22.70 ObpMiRkk0
さて、バージョン0.06の目標はCPU検索の速度向上なんですけど、
とりあえず簡単そうな12桁検索のほうから手を付けたいとおもいます。
次のコードが良さ気なんですけど、まずアセンブルできる環境を
整えないといけないですね…

次のはIntelの開発者が作った64bit版のルーチンで、

Improving the Performance of the Secure Hash Algorithm (SHA-1)
URLリンク(software.intel.com)

こっちが32bit版らしいです。

URLリンク(cvs.openssl.org)

59: ◆MERIKEN4.k
12/09/30 10:14:55.88 ObpMiRkk0
>>57
Tesla K20も試してみたいけどさすがにお値段が…
K10も$3200ぐらいですからね。

60:名無しさん@お腹いっぱい。
12/09/30 10:18:23.84 Js8qHTUK0
CPU検索の速度向上は期待大です
GPUと並行できるのってかなり強みだと思います

61: ◆MERIKEN4.k
12/09/30 10:28:15.25 ObpMiRkk0
今のCPU検索の実装は10桁検索の実装の副産物なので、
性能的にはそれほど最適化されてないのです。
どうやらSSE3をつかえばかなり高速化出来るらしいということまでは
わかったのですが…

62:名無しさん@お腹いっぱい。
12/09/30 10:30:40.08 Js8qHTUK0
そういえば10桁検索ツールのほとんどがSSE2止まりでしたね
開発進行中なのはMERIKENさんのだけじゃないでしょうか

63: ◆MERIKEN4.k
12/09/30 10:49:25.11 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
12/09/30 11:00:46.17 ObpMiRkk0
>>62
一応今の開発環境だとAVXまで対応できるんですけどねw
色々面白いことが出来るんじゃないかという気はしますけど、
x86系のアセンブラをいじるのはそれこそ10年ぶりぐらいなので、
今後の進展は神のみぞ知るといったところです。

65:名無しさん@お腹いっぱい。
12/09/30 11:09:03.16 3jZ6K13B0
SSE3以降は各社の足並みが揃うのがかなり遅かったですし
無理に最新の拡張命令に対応する必要もないと思いますけどね

66: ◆MERIKEN4.k
12/09/30 11:12:30.11 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)
URLリンク(www.opensource.apple.com)

これはかなり楽して速度を上げられそうな予感…

67: ◆MERIKEN4.k
12/09/30 11:18:20.06 ObpMiRkk0
>>65
SHA-1ではAVXは使いませんけど、実はAVXによるBitslice DESの実装にはかなり
興味があるのです。なんせレジスタ長が128bitから256bitになっていますからね。
Bitslice DESの特性を考えれば、AVXによる恩恵を直接受けられるのではないかと
思われます。その前に10桁検索をSSE2に対応させるのが先なんですが…

68:名無しさん@お腹いっぱい。
12/09/30 11:29:08.05 2xjcYG2H0
興味をお持ちの分野から着手なさるのがいいかと。
それが有限の時間の中で一番効率がいいと思います。

我々下々にくだるご光栄のおこぼれも増えると思われます。
must to do 事項はなかなかしんどいですから。

ああ私は他力本願‥‥‥

69:名無しさん@お腹いっぱい。
12/09/30 11:31:58.23 Js8qHTUK0
エラーログに12完トリップキーを記録させて搾取するのがいいと思います(適当)

70: ◆GTX680Mcys3u
12/09/30 12:08:02.09 agZKuHqF0
>>67
うちのIvyちゃんにできることがあれば…
ワッパは少なくともこのスレじゃ最強なはずだし気楽に回せますよ。
全開でもCPUは45Wとかですから。

71:名無しさん@お腹いっぱい。
12/09/30 13:26:20.43 iSWzbDt2P
>>58
intelのなら特許からんでくるかもね(*‘ω‘*)

72: ◆MERIKEN4.k
12/09/30 13:30:17.43 ObpMiRkk0
>>71
Intelの中の人のコードは利用は自由だと書いてあるので問題ないでしょう。

> It is provided 'as is' and free for either commercial or non-commercial use.
URLリンク(software.intel.com)

73: ◆MERIKEN4.k
12/09/30 13:47:04.27 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.
URLリンク(www.openssl.org)

74: ◆MERIKEN4.k
12/09/30 13:54:58.11 ObpMiRkk0
>>68
とりあえず今はSSE3を使ったSHA-1のコードを動かすことが最優先です。

>>69
12完とか数世紀単位ですよw

>>70
新しいバージョンのテストをぜひよろしくお願いしますです。

75: ◆MERIKEN4.k
12/09/30 22:12:32.09 ObpMiRkk0
ちょこちょこといじっていたら、ちゃんとsha1-586.asmを
アセンブルして実行ファイルにリンクできました。
ここまでは簡単すぎて拍子抜けするぐらいです。
問題はこのルーチンを実際にどうやって使うかなんですけれども…

76: ◆MERIKEN4.k
12/09/30 23:12:23.49 ObpMiRkk0
Eric Young氏のコードを参考にしてアセンブラのルーチンを呼ぶ出すコードを
書いたら、信じられないことに1発で動きました! でもperlのスクリプトで
何もオプションを指定しなかったせいか速度はそこそこです。SSE3を使うコードを
生成させるオプションがあるはずなんだけどなあ…

77: ◆MERIKEN4.k
12/09/30 23:31:13.07 ObpMiRkk0
SSE3じゃなくてSSSE3でした。紛らわしすぎだろう…
何やら内部で外部変数を参照してCPUの種類の判別をしているみたいなんですが、
何をやっているのかさっぱりわかりません。"_OPENSSL_ia32cap_P"って
なんなんだろう…

78:名無しさん@お腹いっぱい。
12/09/30 23:40:09.91 RGcH+DdC0
とりあえずで書いたコードが思い通りに動くと発狂したくなるぐらい嬉しいよな

79: ◆GTX680Mcys3u
12/10/01 04:19:20.00 u4AKExwS0
>>77
こいつですね
URLリンク(www.openssl.org)

CPUIDを読みだしてプロセッサを判別する…ってことか

80:名無しさん@お腹いっぱい。
12/10/01 04:22:46.81 hZnlEP2oP
>>72
ちゃんと特許検索してみ(*‘ω‘*)

81: ◆MERIKEN4.k
12/10/01 06:03:28.91 a0DHVLob0
>>78
ここまですんなりいくとは思いませんでしたw
何事もためしてみるもんですね~

>>79
間違い無くそれですね。とりあえずその変数をチェックしている部分は
全部削除してしまうことにします。

82: ◆MERIKEN4.k
12/10/01 07:14:31.83 a0DHVLob0
CPU判定をしている部分を全部削除したらとりあえずSSSE3のコードは動きました。
…が、スピード自体はかなり微妙です。確かに今までのコードよりちょこっと速く
なってることはなってるんだけど、思ったほどではないです。これはもともと使っていた
SSE2 Intrinsicsで書かれたルーチンがかなり速かったということなのかなあ。

83: ◆MERIKEN4.k
12/10/01 08:32:04.96 a0DHVLob0
う~ん、しかしこうなるとオリジナルの64bit版のSHA-1のルーチンも試してみたく
なるな… 64bit対応はもうちょっとあとにする予定だったけど、せっかくCPU検索の
速度向上に取り組んでるんだから前倒しにするのもいいかもしれないですね。

84: ◆MERIKEN4.k
12/10/01 08:36:21.88 a0DHVLob0
32bit版と64bit版はGUIのほうで選ぶようにすれば楽に実装できるはずです。

あ、あとアプリケーションを終了させたときに.NETの例外が稀に発生するバグを
見つけました。バージョン0.05の安定版では直しておきます。

85: ◆MERIKEN4.k
12/10/01 12:28:23.51 a0DHVLob0
さっきまたバグを見つけました。一時停止てからすぐに再開すると、ごくまれに
経過時間が1ヶ月分増えてしまうのですが、これも直しておきました。
結構色々でてくるもんですねえ。

86: ◆MERIKEN4.k
12/10/01 17:06:08.42 a0DHVLob0
64bit版を試しに作って動かしてみたのですが、なんとなにもしないのに
12桁検索が32bit版よりも5M TPSほどはやくなっていました。13%ほどの
速度向上になります。やっぱりx64のほうが効率がいいって本当だったんですね…

87: ◆MERIKEN4.k
12/10/01 17:53:30.30 a0DHVLob0
で、SSSE3を利用した64bit版のSHA-1のルーチンを動かしてみたんですが、
これも一発できちんと動いたものの速度の向上はわずかでした\(^o^)/
今まで使っていたSSE2 Intrinsicsで書かれたルーチンが予想外に効率が良かった
というわけです。まあ64bit版と定格のCore i7-3770K単体の組み合わせで
40M TPSを超えてるんで結構な速度なんですけど、なんとも微妙な結果です。

88: ◆MERIKEN4.k
12/10/01 19:20:38.62 a0DHVLob0
う~ん、しかしこうなるとできることは限られてくるなあ。
とりあえず64bit版が大分速くなるということはわかったので、
これはバージョン0.06で使えるようにしておきます。

とりあえず12桁の方はこれ以上何も思いつかないので、今度は10桁トリップの
CPU検索のほうを速くしようかな。こっちは最適化の努力を全くしてなくて
SSE等のSIMD命令を一切使っていないので、速くなることは受け合いですw
まあ今の実装が遅すぎるだけなんですけれども…
CUDAのときのようにガリガリに最適化されたJohn the Ripperの実装を
持ってきてもいいし、自分でIntrinsicsを使ってちまちま最適化してもいいし、
色々手はあります。

89:名無しさん@お腹いっぱい。
12/10/01 19:30:41.64 6OH7/rEW0
10桁CPU検索はmtyの64bit版が最速かな?
超えられるようにがんばって!

90: ◆MERIKEN4.k
12/10/01 20:39:51.98 a0DHVLob0
>>89
AVX無しでmtyを超えられたら言うことないですねw
色々やりたいこともあるので当分の間楽しめそうです。
なんだかオラ、ワクワクしてきたぞ!

91:名無しさん@お腹いっぱい。
12/10/02 06:00:19.28 tGtdSIZ6P
>>90
AVXってちゃんとした整数演算を256bitでできるんけ(*‘ω‘ *)?

92: ◆MERIKEN4.k
12/10/02 22:23:58.25 gDYbWzJX0
さて、10桁トリップのCPU検索の高速化のために、テスト用のコードを切り出しました。
これで遠慮無くIntrinsicsを使ってコードを書き直せます。
まず最初にCで書かれたBitslice DESのルーチンをSSE2で書きなおして、
それからさらにAVXを使って書きなおしてやる予定です。AVXはレジスタ長が
倍になっただけのはずなので問題ないでしょう。

93: ◆MERIKEN4.k
12/10/02 22:38:16.78 gDYbWzJX0
あと、OpenCLへの移植のために、去年組んだPCを切り替え機を
使ってメインのモニタと入力装置につなげてやりました。これで気軽に
移植の作業ができます。1年ぶりぐらいにPC周りを大掃除したんですけど、
やっぱ整理整頓って重要ですね…

94: ◆AsabDllTGMsD
12/10/03 23:58:30.52 Y3pxRO5PP
ニヨニヨうぉっち用トリップその1(*‘ω‘ *)

95: ◆psQMDDKxpOBQ
12/10/03 23:59:23.15 Y3pxRO5PP
ニヨニヨうぉっち用トリップその2(*‘ω‘ *)

96: ◆MERIKEN4.k
12/10/04 12:16:09.60 e8gEtxC30
バージョン0.05の安定版をうpしました。

MERIKEN's Tripcode Finder 0.05
URLリンク(www.meriken2ch.com)

>>84-85のバグを修正した以外は、Beta 2と同じです。

97: ◆GikoNekobg
12/10/04 12:54:27.37 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
12/10/04 22:24:11.13 e8gEtxC30
>>97
あ、早速有り難うございます。CUI版もちゃんと動いていますね。
GUI版の作成にあたってCUI版にもある程度手を入れざるを得なかったので、
ちゃんと動作するかどうか不安だったんですよね~

99: ◆MERIKEN4.k
12/10/04 22:28:16.80 e8gEtxC30
今朝は10桁トリップのCPU検索の作業をしていたのですが、
Bitslice DESのルーチンをまとめてえいやっとSSE Intrinsicsで書きなおしたら
案の定動きませんでしたorz おとなしく動作確認をしながら少しづつ
書き直すことにします…

100: ◆GTX680Mcys3u
12/10/05 02:40:59.10 IR4Z+leR0
>>98
うちはGUI版で動かしてますが問題なしですよ
ばっちり動いてます

101:名無しさん@お腹いっぱい。
12/10/05 03:38:08.20 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
12/10/05 16:32:35.70 +pSShH4u0
>>100
それはなによりです。自分もGUI版をしばらく使ってますけど、
色々気になるところを直してようやく馴染んできた感があります。

>>101
そうですそうです、エラー処理のいい加減だったところがちゃんと直っているようで
良かったです。しかし10桁検索のルーチンはCC1.0でも動くように書いといた
はずなんですけど、共有メモリかレジスタ数の関係で動かないみたいですね。
注意書きに追加しておきます。

103: ◆MERIKEN4.k
12/10/05 16:45:05.37 +pSShH4u0
>>99の続きです。SSEで書きなおしたルーチンはようやく動くようになりました。
128個のキーを同時に処理できるのはちょっと感動します。
Intrinsicsの使い方を間違えて大いにはまりましたが、あとはBitslice DESの
ルーチンを実際の検索ルーチンに組み込むだけです。

104: ◆MERIKEN4.k
12/10/05 17:20:50.98 +pSShH4u0
組み込みは無事終了しました。バージョン0.05の10桁CPU検索の速度は
2.77M TPS(w だったのですが、SSEで書きなおしたら9.22M TPS出ました。
332%(!)の速度向上ということになります。さすがに4倍というわけには
いきませんでしたが、それでもかなり綺麗にスケールしています。
これは32bit版での数字なので、SSEのレジスタ数が倍になる
64bit版での速度が楽しみです。

105:名無しさん@お腹いっぱい。
12/10/05 17:48:14.28 pHTRB6u40
私も楽しみです^q^

106: ◆MERIKEN4.k
12/10/05 18:00:32.97 +pSShH4u0
64bit版もすんなり動きました。12.21M TPS出ているのでこれまでのバージョンと
比べるとかなり速くなりました。まあでも同じCPUでmtyでは25.06M TPS出ているので
性能的にはまだまだこれからといったところです。

とりあえずはCUDAのときと同じようにS-Box内の一時変数の割り当てを手作業で
最適化することになりそうですが、アセンブラを使わずにSSE Intrinsicsのみで
どこまで最適化出来るかは未知数です。John the Ripperのアセンブラで書かれた
Bitslice DESのルーチンを使用することも考えたのですが、ABIの違いも考慮しなければ
いけないのが悩ましいところです。

107: ◆MERIKEN4.k
12/10/05 19:09:10.52 +pSShH4u0
ためしにS-Boxを書き換えてみたんですが、速度は全く変わりませんでした。
あとついさっき気づいたのですが、64bit版ではGPU検索が正常に作動しないようです。
このままではまずいので、とりあえず今のバージョンを修正して、GUIで32bit版と
64bit版を切り替えられるようにしてから次の開発版として公開する予定です。

108: ◆MERIKEN4.k
12/10/06 04:11:36.17 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
URLリンク(stackoverflow.com)

MSVC and MinGW DLLs
URLリンク(www.mingw.org)

まず>>107の作業を終わらせて、それからMinGWをインストールして
John the Ripperの実装を試して見ることにします。

109: ◆MERIKEN4.k
12/10/06 18:27:48.99 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の
> 同時使用はマズイという事なんでしょうかね
スレリンク(software板:987番)n

いや~、未だにこんな大きなバグが残っているとは思いませんでした。
前スレの987さん、ありがとうございました。

110: ◆MERIKEN4.k
12/10/06 18:44:20.86 de6FWJ+m0
それはそうと、最近こんな話を見つけました。

URLリンク(www.obr-hardware.com)

どうやらGTX 780はGK110ベースにはならないそうで…
今のうちにお安く590買っておいたほうがいいのかしらん。

111:名無しさん@お腹いっぱい。
12/10/06 20:02:35.08 llt7MSWe0
遠くから期待してます

112: ◆MERIKEN4.k
12/10/07 00:03:10.89 EmR007CB0
>>111
野望はRadeonにも対応して12桁と10桁の両方で最速のトリップ検索プログラムを
作ることですが、はたしてどうなるんでしょうねえ。

113:名無しさん@お腹いっぱい。
12/10/07 00:03:19.84 TPgrZGzQ0
>>109
お役に立てて光栄です
今度の修正がきたら8800GTX+GT520の
組み合わせで再度試させてもらいます

それとGT520やCPUで10桁検索を行った場合に出る
○.○世紀という表記は何かのギャグかと思いましたよ

114: ◆MERIKEN4.k
12/10/07 00:28:28.27 EmR007CB0
>>113
ぜひよろしくお願いします。
「世紀」の表示はプログラムを書いているときは大真面目だったんですけど、
実際に見るとかなりシュールですよねw

115: ◆MERIKEN4.k
12/10/07 00:45:01.29 EmR007CB0
とりあえず64bit対応版は出来ました。「詳細設定」からCPUの
命令セットを切り替えられるようになりました。
やってることはCUI版のx86のビルドとx64のビルドを切り替えてるだけなんですが…

で、OCしてどれぐらいスピードが出るか試してみたんですが、
前スレの12桁検索の最高速の記録にきれいに6M TPSほど上乗せできてます。
10桁のほうも113M TPSほど出るようになりました。
楽して速度向上、おいしいです(^q^)

もうちょっと色々テストしてから日曜の夜までには新しい開発版をうpする予定です。

116:名無しさん@お腹いっぱい。
12/10/07 09:22:22.24 Yi2bXl7w0
29万パターンを10桁GPU検索させたらグラボが停止しました
12桁の方は正常動作します

117: ◆MERIKEN4.k
12/10/07 09:29:53.63 EmR007CB0
>>116
グラボは何を使っていますか? ある程度早いグラボならブロック数を減らして
レジストリをいじれば動かせるかもしれません。詳しくはREADME.txtを
参照して下さい。

118: ◆MERIKEN4.k
12/10/07 09:43:56.42 EmR007CB0
10桁CPU検索のルーチンを修正してたら突然スピードがどんどん遅くなるという
不思議な現象が出ました。色々いじっても直らなかったので頭を抱えていたのですが、
なんとOCしていたIvy Bridgeが熱でスロットルダウンしていただけでした。
OCCTはちゃんと通ったのに… やはりCPU検索だけでもかなりシステムに
負荷がかかってるみたいです。

119:名無しさん@お腹いっぱい。
12/10/07 10:23:00.36 Yi2bXl7w0
>>117
アドバイスありがとうございます、GPUはGTX570です
READMEの情報を参考にしてみましたが
GPGPUをプライマリに設定しているせいか改善されませんでした
引き続き12桁の方で頑張ります

120:名無しさん@お腹いっぱい。
12/10/07 15:44:46.87 TPgrZGzQ0
>>118
ちゃんとしたCPUクーラーを乗せたらどうですかね?
Scythe製の3000円ぐらいの製品でも段違いかと思いますが

121: ◆MERIKEN4.k
12/10/07 18:11:21.42 EmR007CB0
>>119
うーん、それならばパターンの数が多過ぎて捌ききれていないということなんでしょうねえ。
もうちょっとループの回数を減らしたほうがいいのかな…

>>120
CPUクーラーはNoctuaのNH-D14です。でかいです。4.6GHzでの運用を試してみてたんですけど、
システムにかなり無茶させてるのでちょっと無理だったみたいです。これ以上は殻割りか水冷にでも
しないといけないんでしょうけど、ちょっと踏ん切りがつきません…

122:名無しさん@お腹いっぱい。
12/10/07 19:09:24.28 aza3uCJd0
1)CUIで、作動するときに#regexのtargetを全部書き出さないほうがいいのでは。
2)GUIの、検索パターンに大量コピペできませんか?

応援してます


123:名無しさん@お腹いっぱい。
12/10/07 19:24:22.64 TPgrZGzQ0
>>121
ありゃりゃOCしての話ですか・・・
ハイエンドクーラーを持ってるのなら無理せずに
コアが冷える2600k辺りを中古手に入れた方が良いかもですね

124: ◆MERIKEN4.k
12/10/07 19:36:45.22 EmR007CB0
>>123
Ivy Bridgeがこんなにクセのあるコアだとは思いませんでした。
まあ自分の用途だとCPUよりグラボにつぎ込むことになりそうですけどね~

125: ◆MERIKEN4.k
12/10/07 19:41:04.80 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:名無しさん@お腹いっぱい。
12/10/07 19:46:44.75 FtU0s6pd0
安価に最大45GHzの高速CPUを並列処理させてスパコン並みの環境を自宅でも可能にするオープンソースプロジェクト「Parallella」とは?
URLリンク(gigazine.net)

鳥検索が捗るな

127:名無しさん@お腹いっぱい。
12/10/07 20:06:18.70 TPgrZGzQ0
それってOpteron 6286SE 2.8GHz×16コアを
44.8GHzと言ってるようなものでは・・・

128:名無しさん@お腹いっぱい。
12/10/07 20:30:02.47 tYnRQ8TX0
原文では45GHzで90GFLOPSのCPU相当と言っているように見える。

5W以下らしいからワットパフォーマンスは悪くなさそうだし
10基とか20基積んでイーサネットとか付いた箱が安く出てくると面白そうだけど。

129: ◆MERIKEN4.k
12/10/07 20:33:20.47 EmR007CB0
新しい開発版です。

MERIKEN's Tripcode Finder 0.06 Alpha 1
URLリンク(www.meriken2ch.com)

今回の変更点は以下の通りです。

・64bit版の追加による高速化。
・10桁検索の高速化。
・複数のビデオカードが使用できないバグの修正。

130:名無しさん@お腹いっぱい。
12/10/07 20:35:27.96 FtU0s6pd0
おつ

131:名無しさん@お腹いっぱい。
12/10/07 20:44:15.70 TPgrZGzQ0
8800GTX+GT520(Win7x64 295.73)の組み合わせで
32Bit版は動く事を確認しましたが
64Bit版はcudart64_40_17.dllが無いと蹴られましたよ


132: ◆MERIKEN4.k
12/10/07 20:45:14.42 EmR007CB0
>>126-128
これ見る限りではデュアルコアのARMと16コアもしくは64コアの
Epiphanyというアクセラレータの組み合わせのようですね。
Epiphanyの各コアは800MHzもしくは1GHzで駆動するようです。
安くて速い並列コンピューター、おいしいです(^q^)

URLリンク(www.kickstarter.com)
URLリンク(www.adapteva.com)

133: ◆MERIKEN4.k
12/10/07 20:47:38.32 EmR007CB0
>>131
ありゃりゃ… うちの環境だともうCUDA Toolkitがインストールされてるから
気づきませんでした。すみません、今すぐ新しいパッケージを用意します。

134: ◆MERIKEN4.k
12/10/07 21:00:57.02 EmR007CB0
>>131
パッケージを新しいものと差し替えておきました。これで64bit版もちゃんと
動くはずです。

135: ◆MERIKEN4.k
12/10/07 21:22:29.19 EmR007CB0
>>122
(1)は正規表現の展開の処理が止まることがあるのでたぶん今のまま
にしておくことになると思いますけど、(2)については検討させて頂きます。
GUIにも気になるところがいろいろ出てきたので、いずれまとめて
改良する予定です。

136:名無しさん@お腹いっぱい。
12/10/07 23:57:53.42 tYnRQ8TX0
>>132
DARPAのエクサスケールスパコン計画を目指している?
Epiphanyのチップ自体は最大消費電力が2ワットで、1ボードに64チップまで載せられるとかいうのも気になる。


137:名無しさん@お腹いっぱい。
12/10/08 03:49:14.81 RwpmYvNz0
創・価
死・ね 
創・価
死・ね
創・価
死・ね
創・価
死・ね
創・価
死・ね
創・価
死・ね
創・価
死・ね
創・価
死・ね
創・価
死・ね
創・価
死・ね
創・価
死・ね


138: ◆MERIKEN4.k
12/10/08 12:53:41.31 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
12/10/08 20:54:09.77 OS1fDSQB0
x86-sse.Sだけ抜き出してアセンブルしたらあっさり通っちゃったけど、
これ、どうやって使うんだろう…

140: ◆MERIKEN4.k
12/10/09 19:09:32.89 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
12/10/10 00:53:13.60 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
12/10/10 20:18:17.67 KYul3EzA0
>>141
報告ありがとうございます。コア数が増えるに従って速度が綺麗にスケールするのは
当然なんですが、それにしてもCPUだけで70M TPSは凄いですね。
100M超えは…どうでしょうw

143:前スレ927
12/10/12 00:31:18.87 YecpfVtp0
大変な勘違いをしていたことが判明しました。
Xeon X5680@3.33GHz, 1CPU, 6コア, HT有効, 12スレッド
と、思い込んでいたのですが、中身を確認したら全然違いました。
Xeon X5680@3.33GHz, 2CPU, 12コア, HT無効, 12スレッド

通りでCPUが早い訳だ。orz
ウソ報告でごめんなさい。HT有効にして再計測してみますが、少し走らせた感じでは余り変わらないみたいです。


144:名無しさん@お腹いっぱい。
12/10/12 05:04:13.79 /e2OyK0a0
そんな速いCPU使わねーよw
…と思いつつ酉検索においてはやっぱり欲しい

145:名無しさん@お腹いっぱい。
12/10/12 05:25:48.99 AFd/y7mn0
自分で使ってる2CPUマシンを1CPUマシンと思い込んでるってどんだけー!
全て業者任せの富豪かよw

146: ◆MERIKEN4.k
12/10/12 06:25:09.95 t+XFtk6B0 BE:2128032184-2BP(12)
>>143
それでようやくすっきりしました。「Xeonはやっぱり速いな~」などと
何も考えずに思っていたんですけど、2年前のモデルで1CPUでその速度は
やっぱり速すぎですよねw hyper-threading有りでの報告もぜひお願いします。
うちのi7-3770Kでは4スレッドから8スレッドに増やすと27%ほど
速度が上がったので、hyper-threadingはある程度効果があるみたいですが…

147: ◆MERIKEN4.k
12/10/12 11:11:18.84 t+XFtk6B0
>>140の続きです。とりあえずテスト用のルーチンをでっち上げて
x86-sse.Sを試してみましたが、予想通り動きませんでした\(^o^)/
やはり自分で作成したBitsliceのルーチンを地味にIntrinsicsかインラインアセンブラで
書きなおすしかないようです。幸いなことにSSE2でのS-Boxの実装はx86-sse.Sの
中にあるので、これをうまくつかってやればループの最深部の書き換えは
可能でしょう。しかしこれは想像以上に手強いですねえ。

148: ◆MERIKEN4.k
12/10/12 14:27:28.94 t+XFtk6B0
ちょっと調べたらなんとVisual C++のインラインアセンブラはx64を
サポートしていないことが明らかになりましたorz 自分でアセンブラの
ルーチンを書くしかないのかしらん。

149:名無しさん@お腹いっぱい。
12/10/12 15:14:57.32 LEZMEwbq0
x64 Intrinsicsで頑張るしか

150: ◆MERIKENXsUyM
12/10/12 16:54:10.78 nf15QmxA0
targetはこれなんですけどね?^MERIKEN.s

◆MERIKENXsUyM #ヌ鋒ムナ徳6カル3o (C7 96 4E D1 C5 93 BF 36 B6 D9 33 6F)

これがあれですかね?”."



151: ◆MERIKEN4.k
12/10/12 17:26:23.92 t+XFtk6B0
>>149
IntrinsicsだとどうもSSEのレジスタの割り付けがうまくいってないみたいなんですよね~

>>150
正規表現だと"."はすべての文字にマッチするのでそれはあってます。
正規表現で"."を指定したいときには"\."と書いて下さい。

152: ◆MERIKENXsUyM
12/10/12 17:37:45.51 nf15QmxA0
これでしたか。  

# ^ $ () | [] [^] . + * \
#
# '.'は全文字にマッチするので、'.'そのものを指定したい場合は
# "\."と記入してください。なお、"[]"内では'\'を使う必要はありません。

癖がついてて、”.”使うんですね。

153: ◆MERIKEN4.k
12/10/12 17:48:42.88 t+XFtk6B0
>>152
そういうことです。

154: ◆MERIKEN4.k
12/10/12 18:33:15.16 t+XFtk6B0
なんとかならないものかとx86-sse.Sをもうちょっといじってみましたけど、
やはりちゃんと動いてません。また、さきほどからVC++が出力したアセンブラの
ファイルを眺めていたのですが、正直これじゃあスピードでないよね、といった
感じです。やはり残念ながらBitslice DESのルーチンを自分でアセンブラで書くしか
手はないようです。

155: ◆MERIKEN4.k
12/10/12 20:16:06.70 t+XFtk6B0
さすがに全部書きなおすのはしんどいのでS-Boxの部分だけでも、と考えて
別の関数に切り出してやったら、それだけで1.6M TPS速くなりました。
コンパイラの最適化サボりすぎだろう…

156:前スレ927
12/10/12 21:45:07.86 YecpfVtp0
>>145
全て業者任せの富豪から最近譲り受けたんだよ。
「とにかく解析が速いやつ」って注文したらしく、ハードのスペックが分かる資料が全然残ってねぇ。ヽ(´Д`;)ノ
数値がおかしいんで蓋開けてみたらCPUが二個付いてた・・・

157:名無しさん@お腹いっぱい。
12/10/12 22:13:03.82 qj1yBhqB0
CPU-Zぐらい使えよ

158: ◆MERIKEN4.k
12/10/12 22:46:11.90 t+XFtk6B0
>>156
> 数値がおかしいんで蓋開けてみたらCPUが二個付いてた・・・

これはなかなかシュールな絵ですねw GPU-Zもお勧めです。

159:名無しさん@お腹いっぱい。
12/10/13 01:29:23.89 QRc/1guh0
これがはいじそといわれる類の存在なんだね

160: ◆MERIKEN4.k
12/10/13 08:11:17.21 TRuxaTZw0
コンパイラの出力したx64のasmファイルを編集すれば楽かと思って
中間ファイルをMASMにかけてみたんですけど、すんなりアセンブルできません。
セグメントの指定で色々文句を言われたので直してみたんですが、
今度はアセンブルできたもののプログラムが落ちるようになってしまいました。
こりゃ相当な手間がかかりそうです。

161: ◆MERIKEN4.k
12/10/13 10:26:14.08 TRuxaTZw0
正直John the RipperのBitslice DESの実装を使えるようにするのも、
Bitslice DESのルーチンを1からアセンブラで書くのも時間がかかりすぎなので、
あともう一つだけアイディアを試してみて、それでうまくいかなかったら
CPU検索の最適化はとりあえず一旦お休みにします。

で、最後のアイディアというのは、Bitslice DESの最深部だけ別のコンパイラで
コンパイルしてやるということです。どうも調べてみるとVC++のSSE Intrinsicsの
最適化はGCCやICCに比べるといまいちなようなので、ある程度の効果は
期待できるでしょう。あとは32bit版だけインラインアセンブラを使って
最適化するという手もあるんですけど、それは後回しにします。

162: ◆MERIKEN4.k
12/10/13 19:53:34.86 TRuxaTZw0
で、Intel C++ Studio XE for Windowsの試用版でS-Boxをコンパイル
してみましたが、結果は速度が0.7M TPSほど上がっただけでした。
いや~、まいったまいった。

163: ◆MERIKEN4.k
12/10/13 22:22:21.33 TRuxaTZw0
しかしこれからどうしようかな。
x86のほうはインラインアセンブラも使えるしS-Boxもasmファイルに変換
できたので、とりあえずこちらの最適化を頑張るという手もあるんだよな…

164: ◆MERIKEN4.k
12/10/15 00:04:55.23 BTMO2uQH0
う~ん、どうやらGTX 780はGTX 680の改良版になりそうな模様…

What is going on with Nvidia’s GK114? Like AMD, the answer is not much
URLリンク(semiaccurate.com)

こりゃ来年のも見送りだな。今のうちにGTX 590を確保しておこうっと。

165:名無しさん@お腹いっぱい。
12/10/15 00:12:51.45 K5yud+Qv0
梅田の祖父でGTX590中古があったけど確か34k円位だっけか
まあ発熱には注意だな

166:名無しさん@お腹いっぱい。
12/10/15 06:58:14.36 J/Rcf+G00
tesla待とうよ!

167: ◆MERIKEN4.k
12/10/15 21:47:20.51 Lrut3SY50
>>165
確かに熱は大変なことになりそうですねえ。
580 SLIも大概でしたけど、590 + 580とか、システムが持つのかしらん。
電源にはかなり余裕があるんですけど、ちょっと心配です。

168: ◆MERIKEN4.k
12/10/15 21:50:33.10 Lrut3SY50
>>166
Tesla K20、欲しいですw
K10がだいたい$3300ぐらいですけど、K20はいくらぐらいになるんでしょうか…

169: ◆MERIKEN4.k
12/10/15 22:05:38.53 Lrut3SY50
正直なところどうしようか困っていた10桁CPU検索ですが、
ちょっと思いついてregister演算子をSSE Intrinsicsで使ってみたところ、
大した手間もかからずに20%ほど高速化出来ましたw
やはりVC++はSSE Intrinsicsの最適化を相当サボっている模様。
John the Ripperの実装を参考にしながらレジスタ割り付けを
工夫することでかなり高速できそうです。これでようやく光が見えてきました。

170:前スレ927
12/10/16 00:13:45.78 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:名無しさん@お腹いっぱい。
12/10/16 00:31:35.42 9lqlGkJS0
速ぇー

172: ◆GTX680Mcys3u
12/10/16 05:34:25.39 2F+yN34h0
速すぎワロタ

173: ◆MERIKEN4.k
12/10/16 06:12:56.30 VYAjNyPo0
>>170
こ、これはw OCしたら簡単に2G TPSを超えそうですねえ。
Phenom II X6 1100Tは6スレッドでは40M TPSぐらいです。
GPUが3個ならCPU検索スレッドも3つなので、まあ順当なところでしょう。
消費電力もそうですが、温度のほうも気になります。
うちの580 SLIは80℃超がふつうなので…590はもうオークションで
落としたんですけど、ちゃんと運用できるかどうか心配です。

174:名無しさん@お腹いっぱい。
12/10/16 07:34:33.08 KVGtEB2G0
>>170 >>173
590確保乙
そのうちトリプルGTX590とか強者が出そうだ…

175:名無しさん@お腹いっぱい。
12/10/16 08:57:05.26 kGLHXQmF0
検索停止ボタン押した途端にフリーズした・・・

176: ◆MERIKEN4.k
12/10/16 09:34:20.39 VYAjNyPo0
>>175
システム全体がフリーズしたなら、多分ハードウェアの問題でしょうねえ。
電力使用量が急激に変化するととにかく不安定になりがちです。

177: ◆MERIKEN4.k
12/10/16 09:48:05.29 VYAjNyPo0
>>174
365W * 3 = 1095Wですか… 電源が2つ入りますね、こりゃ。
まあGPUはあればあるほど速くなる仕様なので、理屈では
ラックマウントサーバーにTeslaを積めるだけ積んで
動かすことも可能なはずですけど…

178:RADEON AMD
12/10/16 10:01:53.40 pyaTDKGu0
| 冫、)ジー

179:名無しさん@お腹いっぱい。
12/10/16 10:10:33.23 pCO8MEiO0
linux版の登場が待たれるな

180:名無しさん@お腹いっぱい。
12/10/16 10:44:21.51 kGLHXQmF0
>>176
あ、レスサンキュです、マウスポインタも動かい状態でした。
なかなか安定した環境の構築は難しいです・・・

181:名無しさん@お腹いっぱい。
12/10/16 14:26:15.84 ab7Mi3qK0
CUDA5来ましたね
URLリンク(developer.nvidia.com)

NVIDIA,「CUDA 5」を正式発表。第2世代Kepler「GK110」に向けた準備が整う
URLリンク(www.4gamer.net)

182:前スレ927
12/10/16 20:05:19.50 Ou6FcCX40
>>173
夜中に部屋の窓を全開にして両方とも80℃ちょい。窓を閉めると90℃超えます。
今の季節だと、クーラー無しに昼間に常用するのは難しいと思います。
580SLIに590を付け足すなら、エアフローに気をつけて下さい。
最初、エアフローが悪くて580の温度が90℃を軽く超えていって怖い思いをしました。
消費電力は、計算時に+690Wでした。

前日書き忘れたのですが、ブロック数の自動設定機能が安定しませんでした。
走らせるたびに96?~168?の間をふらつきます。590の二つのGPUでも異なるブロック数になることもありました。

590は早々にXeonマシンに引っ越すつもりなのですが、まだ電源スペックが分からねぇヽ(´Д`;)ノ

183:きら ◆Kira.u9zNc
12/10/16 21:15:29.87 3LZeo7TdP
最新のドライバーに更新したら動きました!(前動かなかったのに・・・)
前スレではありがとうございました!
(富士通の京にトリップ検索させたらどうなるんだろう・・・)

184:きら ◆Kira.u9zNc
12/10/16 21:22:28.31 3LZeo7TdP
あと現バージョンのCUIで検索すると10桁になるか12桁になるかと
どうすればCUIで10桁を検索するか12桁を検索するか指定できる方法を教えてください

185: ◆MERIKEN4.k
12/10/17 05:17:38.72 esBMbwOk0
>>181
CUDA5は実際のところどうなんでしょうね~
RC版でビルドしたら12桁GPU検索がかなり遅くなったんですけど、
Production Releaseでは直ってるんでしょうか。あとで試してみます。

186: ◆MERIKEN4.k
12/10/17 05:28:25.58 esBMbwOk0
>>182
非常に参考になりますです。今ある580 SLIを580+590にする予定なんですけど、
2枚のグラボの間に隙間がないので、590は下側につけておいたほうが
よさそうですねえ。ケースにはまるといいんですけど…

ブロック数の設定の違いはいい解決方法が思いつかないです。まあ128以上
だったらほとんど誤差程度の違いしか出ないので大丈夫でしょう。

187: ◆MERIKEN4.k
12/10/17 05:30:02.53 esBMbwOk0
>>184
それは良かった。CUI版はデフォルトでは12桁検索になります。
オプションについてはREADME.txtを参照してください。

188:名無しさん@お腹いっぱい。
12/10/17 23:13:12.83 +vmD5NvT0
慣れてないならコマンドラインから直接打ち込むのではなく
ショートカット作って指定したほうが良いかと

189: ◆MERIKEN4.k
12/10/19 17:08:27.82 tPUGSSRZ0
GTX 590が届いたんですけど、熱すぎて今使っているケースでは580と
一緒に使えないことが判明。どう頑張っても上のカードの温度がかるく90℃を
超えてしまいます。せっかく頑張ってケースに押し込むことができたのにorz
しょうがないので580+590はサブのデスクトップに引越しさせて、
こっちをトリップ検索専用PCとして使うことにします。

190: ◆MERIKEN4.k
12/10/19 17:14:45.52 tPUGSSRZ0
>>178
Radeonには次のバーションで対応する予定です。

>>179
Linuxにはここ10年ほど触っていないので対応の予定はありません。
CUI版の移植なら難しくないはずなので、いかがですかw

191:名無しさん@お腹いっぱい。
12/10/19 17:17:51.34 jLcBMxal0
Radeon版ってOpenCLなんでしょうかね?
それだとintel HD Graphics 4000でも動かせそうな気が

192:名無しさん@お腹いっぱい。
12/10/19 21:56:07.87 AU4hYOc80
最近BOINCに精を出してるのでアプデ来てもどっちを回すか迷うな……

193:名無しさん@お腹いっぱい。
12/10/19 22:30:53.90 uPFPWr+K0
仮にintel HD Graphicsでトリッパー動かせるとしたらどれぐらいの速度が出んのかな?

194:名無しさん@お腹いっぱい。
12/10/19 22:44:50.37 PDFO5+Lv0 BE:466156782-2BP(2345)
>>192
BOINCと同時に廻すと他のアプリケーションが非常に重くなって悲惨なことに…
実際にやって後悔したから

同時に廻すならアプリケーションを使わない時の方がいいと思われ

195: ◆MERIKEN4.k
12/10/20 17:13:35.27 G/VuaKds0
580+590をサブのテストベンチで使うことにしたので、
HD 5770ともう一枚の580をメインのデスクトップに移しました。
とりあえず5770を画面表示用にして、580はGPGPU専用にしてあります。
この組み合わせでちゃんと動くか心配だったのですが、
今のところ問題はありません。Tripcode Finderもちゃんと動いています。
これで理屈ではRadeonとGeForceで同時にトリップ検索を行うなんてことも
できるはずですが、果たしてどうなるんでしょうか。

196:名無しさん@お腹いっぱい。
12/10/20 17:21:11.04 XgDGXoWm0
NVとAMDのOpenCL関連のライブラリが競合とかしないのだろうか

197: ◆MERIKEN4.k
12/10/20 17:37:32.49 G/VuaKds0
>>191
OpenCLです。ただ、OpenCLはソース互換なので、Intelので
そのまま動くというわけじゃないですけどね。

198: ◆MERIKEN4.k
12/10/20 17:40:23.64 G/VuaKds0
>>196
NVIDIAのOpenCLのライブラリを結合しなければいいだけなので、
多分大丈夫でしょう(楽観)

199: ◆MERIKENXsUyM
12/10/20 19:27:01.81 +A4kXckV0
最近よくかたまるな・・
ヒットしたトリップを、tripcodesに保存前にフリーズ・・・orz
吐き出したトリップを、tripcodesに強制保存できませんか?
ひよわなPCで、スマソ。

200:ののたん ◆KiwamonoL.
12/10/20 19:42:44.56 F8IK+HH50
>>197
そのまま動くぞ。
カーネル部分はソースのままで同梱すればいいしな。
俺は一個のバイナリでラデ、ゲフォ、インテルで動かしてたぞ。

201:名無しさん@お腹いっぱい。
12/10/20 20:16:45.23 nw3ug2VV0
Intelで動く…だと…?

202:名無しさん@お腹いっぱい。
12/10/20 20:34:49.90 XgDGXoWm0
それでもしCPU検索よりも早かったらワロス

203:名無しさん@お腹いっぱい。
12/10/20 20:38:13.56 nw3ug2VV0
そんなまさか

204:名無しさん@お腹いっぱい。
12/10/20 21:38:05.89 /VUWpucu0
openCLはgpuでもcpuでも計算出来たような

205:ののたん ◆KiwamonoL.
12/10/20 22:20:50.50 F8IK+HH50
Ivy買ったら内蔵GPUでも動かしてみようと思ってたんだが、買う気が出ない。w

206: ◆MERIKEN4.k
12/10/21 06:02:04.03 y9BRtUtK0
>>199
あ~びっくりした。自分が書いたのかと思ったw
強制保存するオプションはあとで付けておきます。

207: ◆MERIKEN4.k
12/10/21 06:06:04.39 y9BRtUtK0
>>200
あれ、そうなんですか? どうやってやるのかもうちょっと調べねば…

208:名無しさん@お腹いっぱい。
12/10/21 06:45:05.50 G8jMn60X0
MERIKENsTripcodeFinderCUIなんですが、コマンドラインからの起動がうまくいかないです。


209: ◆MERIKEN4.k
12/10/21 06:56:44.91 y9BRtUtK0
>>208
どのようにうまくいかないのかkwsk

210:名無しさん@お腹いっぱい。
12/10/21 07:01:15.21 G8jMn60X0
指定がおかしいだけだと思うのですが
C:\MERIKENsTripcodeFinder_0.05\MERIKENsTripcodeFinderCUI.exe -f patterns.txt -g -c -x 16 -t 10で
色々表示された後に
MERIKENsTripcodeFinderCUI: Error: The pattern file could not be opened.と表示されてしまいます。

211: ◆MERIKEN4.k
12/10/21 07:12:22.77 y9BRtUtK0
>>210
> 色々表示された後に

ここのところをもうちょっとkwsk
あとpatterns.txtはどこにありますか?

212:名無しさん@お腹いっぱい。
12/10/21 07:17:54.17 G8jMn60X0
2レスに分割します。

C:\>C:\MERIKENsTripcodeFinder_0.05\MERIKENsTripcodeFinderCUI.exe -f patterns.txt
-g -c -x 16 -t 10
MERIKEN's Tripcode Finder 0.05
[compiled at 19:37:41 on Oct 3 2012 (PST)]
Copyright (C) 2011-12 ◆MERIKEN4.k
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions.

Using both GPU(s) and CPU as search devices.



213:名無しさん@お腹いっぱい。
12/10/21 07:18:16.18 G8jMn60X0
CUDA DEVICE
===========
CUDA Device Count: 3

Device No.: 0
Device Name: GeForce GTX 580
Multiprocessor Count: 16
Clock Rate: 1714MHz
Compute Capability: 2.0

Device No.: 1
Device Name: GeForce GTX 580
Multiprocessor Count: 16
Clock Rate: 1912MHz
Compute Capability: 2.0

Device No.: 2
Device Name: GeForce GTX 580
Multiprocessor Count: 16
Clock Rate: 1912MHz
Compute Capability: 2.0

CPU
===
Number of Processors: 12
Number of Search Threads: 10

TARGET(S)
=========

214:名無しさん@お腹いっぱい。
12/10/21 07:20:46.39 G8jMn60X0
patterns.txtですが、Cドライブ直下の他のファイルと同じ場所にあります。

215:名無しさん@お腹いっぱい。
12/10/21 08:07:41.03 G8jMn60X0
PCが故障してしまいました…。

216: ◆MERIKEN4.k
12/10/21 08:21:25.41 y9BRtUtK0
それならパターンファイルの指定を"-f C:\MERIKENsTripcodeFinder_0.05\patterns.txt"に
なおしてやればちゃんと動くはずです。
しかし580 3-Way SLIですか。う~ん、なかなかの勇者ですね…
PCが無事だといいんですけど…

217:名無しさん@お腹いっぱい。
12/10/21 10:18:22.73 G8jMn60X0
なるほど、有難うございます。
メインPCが復旧できたらやってみます。
CUIでの起動ですがオーバークロックして
GPU: 2400M tripcodes/s
CPU: 40M tripcodes/s付近出てた気がします。
まずはポンプを買わないと…。

218: ◆MERIKEN4.k
12/10/21 18:11:20.17 y9BRtUtK0
>>217
580が3枚あれば納得の速度です。2G TPS超は熱との勝負みたいですねえ。
自分も来週あたりに580+590の組み合わせで挑戦する予定です。
水冷が一番いいんでしょうけど、なかなか踏ん切りが付きません…

219: ◆MERIKEN4.k
12/10/21 18:21:32.72 y9BRtUtK0
さて、遅れに遅れている10桁CPU検索の高速化ですが、
未だにどうしたものか決めかねている状態です。
Intrinsicを使ってレジスタ割り付けを最適化するという方針は
そのままなんですが、どのようにするのか実に悩ましいところです。

220: ◆MERIKEN4.k
12/10/21 18:27:13.28 y9BRtUtK0
とりあえず手作業でS-Boxを1つ最適化してみてから、
最適化を自動化するかどうか決めてみよう…

221:名無しさん@お腹いっぱい。
12/10/21 18:35:28.43 G8jMn60X0
そうですね、こちらのソフトではひとつ起動すればGPUを纏めて動かしてくれるので大変に有難いです。
空冷では特にエアフローに気をつけないとカードの温度が90℃を超えてくるので大変と思います。
どちらも電力を必要とするカードですが、電源ユニットは大丈夫でしょうか?

導入に対して敷居や導入コストが高いのが難点ですが、ある程度まで理解できれば何とかなると思います。



222: ◆MERIKEN4.k
12/10/21 18:55:16.85 y9BRtUtK0
>>221
やっぱり何も考えてないで使えたほうが楽ですよね。
サブのデスクトップはおっぴろげのテストベンチなので大丈夫です。
URLリンク(www.newegg.com)
電源はCorsair AX1200なので、こっちも問題ないはずです。
水冷は後のお楽しみに取っておくことにしますw

223:名無しさん@お腹いっぱい。
12/10/21 19:04:56.65 G8jMn60X0
そうですね、初期設定さえ出来れば後の起動は楽なのがいいです。
こういった開放型のケース?で埃等は問題ないのでしょうか、その点怖い気がします。

これだけの容量であれば何も問題ないですね、あとは知識を収集して水冷化に挑戦といったところでしょうか。

224: ◆MERIKEN4.k
12/10/21 19:13:54.71 y9BRtUtK0
>>223
埃の掃除にはエアーコンプレッサーを使っています。
空冷の限界が見えたらぜひ水冷にも挑戦したいですね。

225: ◆999984973989
12/10/21 19:29:22.33 9ANtZStK0
水より冷える液体がいいですね。

>>206
間違いますよね。変えます

>>205
のたんぺさんは、引退ですか?

最強のトリップ検索人ですよね。

226: ◆MERIKEN4.k
12/10/21 20:36:39.65 y9BRtUtK0
>>225
そうしていただけると助かりますです。

227: ◆MERIKEN4.k
12/10/21 20:40:17.03 y9BRtUtK0
2時間以上S-Boxの書き換えに費やしましたが、まだ最初のS-Boxの作業すら
とても終わりそうにありません。こりゃ時間かかるわ…
しかしこれほんとうに効果があるのかしらん。

228: ◆MERIKEN4.k
12/10/22 07:33:09.17 NclU6rMj0
結局これも読まんといかんのかな。まいったなあ…

Intel 64 and IA-32 Architectures Optimization Reference Manual
URLリンク(www.intel.com)

229: ◆MERIKEN4.k
12/10/22 09:13:25.24 NclU6rMj0
Bitslice DESの各ゲートを、

A = OP(B, C)

という形から、よりSSEの命令セットに近い

A = OP(A, B)

という形に書き換えてるのですが、ようやくちょっとづつ速度が上がって来ました。
変換が終わったら、まとめられる一時変数をすべてまとめてしまう予定です。

230: ◆MERIKEN4.k
12/10/22 11:14:26.41 NclU6rMj0
とりあえずS-Boxを1つだけ書き換えてみましたけど、
速度は微増といったところで劇的な変化は見られませんでした。
やはりIntrinsicsでの高速化には限界があるようです。
Intrinsicsで書きなおしたルーチンをさらにアセンブリで書きなおすという手も
あるのですがこれはにはかなり時間がかかるので、CPU検索の高速化はここまでにして
OpenCLへの移植に移りたいと思います。


231:名無しさん@お腹いっぱい。
12/10/22 20:01:07.08 8SpyKQvk0
URLリンク(yy51.60.kg)

232: ◆MERIKEN4.k
12/10/23 08:28:38.16 Y+4Wukci0
新しい開発版です。今回の変更点は10桁トリップCPU検索の速度向上です。

MERIKEN's Tripcode Finder 0.06 Beta 1
URLリンク(www.meriken2ch.com)

233: ◆MERIKEN4.k
12/10/23 08:36:00.46 Y+4Wukci0
>>231
なるほど、これが>>200のブツですね。なんか普通にNVIDIAとIntelの
GPUで動いてますね… ちょっと自分でも試してみよう。

234: ◆MERIKEN4.k
12/10/23 08:37:16.76 Y+4Wukci0
結局OpenCLならどのベンダのライブラリを使っても他のベンダの
GPUが使えるということなんでしょうか。

235: ◆MERIKEN4.k
12/10/23 09:03:33.94 Y+4Wukci0
次のページを参考にしてAMD APP SDKのOpenCLのライブラリを
Tripcode Finderにリンクしてみました。

URLリンク(stackoverflow.com)
URLリンク(stackoverflow.com)

なんか普通にOpenCLからGTX 580もHD 5770も見えてます。

> OpenCL reports 2 platforms.
>
> Platform 0: NVIDIA Corporation NVIDIA CUDA OpenCL 1.1 CUDA 4.2.1
> Platform 1: Advanced Micro Devices, Inc. AMD Accelerated Parallel
> Processing OpenCL 1.2 AMD-APP (1016.4)

Core i7-3770KのGPUは見えていないようなのでIntelのドライバを入れて
もう一回試してみます。

236: ◆MERIKEN4.k
12/10/23 09:24:02.40 Y+4Wukci0
よく見たらこれGPUじゃなくてプラットフォームなのか。
なにはともあれドライバをインストールしたらIntelのプラットフォームも
見えるようになりました。

> Platform 0: NVIDIA Corporation NVIDIA CUDA OpenCL 1.1 CUDA 4.2.1
> Platform 1: Advanced Micro Devices, Inc. AMD Accelerated Parallel
> Processing OpenCL 1.2 AMD-APP (1016.4)
> Platform 2: Intel(R) Corporation Intel(R) OpenCL OpenCL 1.1

237: ◆MERIKEN4.k
12/10/23 10:02:37.30 Y+4Wukci0
デバイス一覧を取得しました。なぜかCore i7が2つあります。
JuniperってHD 5770のコードネームか。紛らわしいなあ…

> OpenCL reports 3 platforms.
>
> Platform 0: [NVIDIA Corporation] [NVIDIA CUDA] [OpenCL 1.1 CUDA
> 4.2.1]
>   0: [NVIDIA Corporation] [GeForce GTX 580]
> Platform 1: [Advanced Micro Devices, Inc.] [AMD Accelerated Parallel
> Processing] [OpenCL 1.2 AMD-APP (1016.4)]
>   0: [Advanced Micro Devices, Inc.] [Juniper]
>   1: [GenuineIntel] [ Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz]
> Platform 2: [Intel(R) Corporation] [Intel(R) OpenCL] [OpenCL 1.1 ]
>   0: [Intel(R) Corporation] [ Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz]

238: ◆MERIKEN4.k
12/10/23 10:27:30.20 Y+4Wukci0
2つ見えているIntelのは両方共CPUみたいです。
HD 4000はどこに行ったんだろう…

239:ののたん ◆KiwamonoL.
12/10/23 11:38:20.45 Mm6auUgH0
もうどこからつっこめばいいのかわからんなこれ。w

CPU Only のランタイムしかいれてないんじゃねーの?
やったことないから知らんけど。www

240: ◆MERIKEN4.k
12/10/23 12:01:55.08 Y+4Wukci0
いや~、これちょっとやばいですよね…
IntelのOpenCLのSDKをインストールしても見えなかったのでおかしいなと
思ってたんですけど、なんとマザボにディスプレイを繋いだらようやく
OpenCLのAPIからIntel HD 4000を認識できるようになりました。

> 1: [Intel(R) Corporation] [Intel(R) HD Graphics 4000] [GPU]

CUDAと違って、OpenCLはかなりカオスですねえ…

241: ◆MERIKEN4.k
12/10/23 12:37:57.54 Y+4Wukci0
やはりディスプレイをつながないとHD 4000はOpenCLデバイスとして
認識されないようです。ここでIntelの人がそう言っているので確実でしょう。
なんというか、いろいろ勿体無いです。

HD Processor Graphics failed to load as a device in Code Samples
URLリンク(software.intel.com)

242:ののたん ◆KiwamonoL.
12/10/23 17:48:47.97 Mm6auUgH0
いやいや、つっこみどころが多いのは OpenCL に対してじゃなくて。
ちゃんとマニュアルとか読んだ方がいいんじゃね?

まあまだサンプル動かしてみただけの段階なんだろうけど。

243: ◆999984973989
12/10/23 19:21:09.50 I3p6Oxvg0
夫婦漫才ですね。  このすれは・・・

244: ◆MERIKEN4.k
12/10/24 00:31:25.16 idf8ye870
もともとマニュアルは絶対必要にならないと読まない方なんでw
それよりサンプル読んでたほうが参考になるし…
まあCUDAと似たようなものなので、近いうちに動くものが出来るように
なるでしょう。

245:名無しさん@お腹いっぱい。
12/10/24 20:28:41.44 qG+AQb1B0
一時停止の状態を保存できないのでしょうか。

246: ◆MERIKEN4.k
12/10/24 20:40:18.19 idf8ye870
>>245
それは難しいですね。
累計検索時間と生成されたトリップの累計を表示させることなら出来ます。
次のバージョンでプログラムの構造に大きく手を入れる予定なので、
これまでに希望のあった機能はまとめて追加する予定です。

247: ◆MERIKEN4.k
12/10/24 20:44:36.27 idf8ye870
とりあえずこのサンプルを読んだら大体の流れはわかりました。

Getting started with OpenCL and GPU Computing
URLリンク(www.thebigblob.com)

まずSHA-1とDES cryptのルーチンを移植して、ちゃんと動くのが確認してから
実際の検索ルーチンを作成することにします。やることはCUDAの場合と
ほとんど変わらないので、割とすんなり行きそうな予感…

248: ◆MERIKEN4.k
12/10/24 20:49:35.03 idf8ye870
そうそう、今日テストベンチ用の部品が届くので、後で580+590をそっちに
移してTripcode Finderを動かして見ることにします。
2G TPS超は確実ですが、どこまで上乗せできるか楽しみです。

249:245
12/10/24 21:05:41.68 qG+AQb1B0
>>246
ありがとうございました。楽しみにしてます。

250:名無しさん@お腹いっぱい。
12/10/25 20:33:30.73 ocjKS/zjP
SHA256ハッシュを取ると全ビットが0になるキーを探してください

251: ◆CCCCkCCCCk
12/10/25 22:22:49.94 w8XLKVhj0
初めまして。

なんとなくトリップ検索(特に12桁)を再開したくなり、
ひょんなことから、こちらの安定版を頂きました。

残念ながらラデオン使用+中古パーツ寄せ集めの自作なんで、
貴ソフトを100%活用できていませんが、表示される検索数には驚いていますw

CPU検索+スレッド自動ですが、
Phenom Ⅱ Black x6 が、6コア100%稼動するのを初めて見ました。

ソフトの進化、期待しています。
(こっちのハードも進化させねばorz)

252: ◆MERIKEN4.k
12/10/25 23:29:49.74 gkWWDV1H0
テストベンチに580+590を移したのでまた最高速の測定をしてみました。
590は意外にOC耐性があります。ビデオカードはむき出しで間を空けてあるので
GPUの温度は84度に抑えられています。

【GPU】NVIDIA GeForce GTX 580 (OC: 940/2004MHz) + GTX 590 (OC: 830/1728MHz)
【CPU】AMD Phenom II X6 1100T (定格)
【OS】Microsoft Windows 7 64bit SP1
【バージョン】MERIKEN's Tripcode Finder 0.06 Beta 1
【トリップの種類】12桁
【オプション】-x 192 -c -g
【Display Driver】306.23
【10分間の平均速度】 2291.56M tripcodes/s
【その他】7完1タゲ。CPUの速度は約19.6M TPS。

253: ◆MERIKEN4.k
12/10/25 23:33:19.55 gkWWDV1H0
>>251
12桁のCPU検索は限界に近い速度が出ていると思われます。
近いうちにラデにも対応する予定なのでその時はテストをお願いします。

254: ◆MERIKEN4.k
12/10/25 23:37:05.64 gkWWDV1H0
>>250
見つけるのに一体何世紀かかるんでしょうねえ…

255: ◆MERIKEN4.k
12/10/26 04:37:11.50 2pNAGJzV0
>>251
よく読み返したら安定版だったんですね。
それだったら次の安定版で5M TPSほど速くなります。

256: ◆MERIKEN4.k
12/10/26 09:17:26.32 2pNAGJzV0
最高速の測定の続きです。あの後まさかと思って580をもう一枚
追加したらあっさり3G TPS超えできました。さすがテストベンチw
でもGPUの温度は最高で89℃なのでそろそろ限界でしょう。
温度さえ何とかなれば590 3-Way SLIで4G TPS超えも出来そうですが…

【GPU】NVIDIA GeForce GTX 580 SLI (OC: 930/2004MHz) + NVIDIA GeForce GTX 590 (OC: 830/1728MHz)
【CPU】AMD Phenom II X6 1100T (定格)
【OS】Microsoft Windows 7 64bit SP1
【バージョン】MERIKEN's Tripcode Finder 0.06 Beta 1
【トリップの種類】12桁
【オプション】-x 192 -c -g
【Display Driver】306.23
【10分間の平均速度】 3080.98M tripcodes/s
【その他】7完1タゲ。CPUの速度は約13.1M TPS。

257:名無しさん@お腹いっぱい。
12/10/26 18:49:10.26 8HQ+za6d0
>>241
ディスプレイを繋がなくても、Windowsの設定で"画面を拡張"にしたらできますよ

258: ◆MERIKEN4.k
12/10/27 02:20:50.37 y8rBUfat0
>>257
試してみたけどやっぱりOpenCLのAPIからは見えていません。
実際に物理的にディスプレイをつながないと駄目なようです。
折角の機能なのにもったいない… これって将来のドライバ更新で
改善されたりするものなんでしょうかねえ。

259: ◆MERIKEN4.k
12/10/27 02:49:49.84 y8rBUfat0
あのあとテストベンチのGPUの電圧のクロック周波数をAfterburnerで細かくいじって、
普段使っている検索パターンで安定して2.3G tripcodes/s出せるようになりました。
正規表現を使ったかなり複雑なパターンなので、その分だけGPUの温度も上がって
しまい苦労しました。室温はだいたい30℃で、GPUの温度は最高で91℃です。熱すぎです。

GTX 580 (975mV 700/2004MHz)
GTX 580 (975mV 480/1000MHz)
GTX 590 (925mV 800/1728MHz)

このように上から順番に隙間なく並んでいるのですが、真ん中の580の放熱が
やはりというかうまくいかないらしく、クロック周波数を限界まで落とさざるを
得ませんでした。

260:名無しさん@お腹いっぱい。
12/10/27 03:09:40.84 QA+aurA10
そこまでクロックを落とすのなら無理せず他のGPU乗せた方が…

261: ◆MERIKEN4.k
12/10/27 03:30:05.40 y8rBUfat0
もともと真ん中の580は乗っけるつもりがなくて、
590を買って余ってたのを使っただけなのでこれでいいのですw
最初はグラボを3枚のっけるなんて考えてもいなかったので…

余った580はオクで売っぱらう予定だったんですけど、
今の構成が思いのほかうまく動いているので当分このままにしておきます。

262:名無しさん@お腹いっぱい。
12/10/27 04:09:48.65 Gt8Alwps0
各マシンに分散したらいいんじゃないの?
ということで家庭内分散コンピューティング対応のネットワーク検索に期待してます
SETI@homeみたいな

263: ◆MERIKEN4.k
12/10/27 05:59:49.53 y8rBUfat0
>>262
最終的にはそこに行きつくんでしょうねえ。
いずれぜひ取り組んでみたいけど、その前にスタンドアロンで
最高のトリップ検索プログラムを作るのを先にしたいと思います。

264:名無しさん@お腹いっぱい。
12/10/27 11:13:11.34 RRaDuUU/0
>>258
BIOSで常に有効にしたり出来ないのでしょうかね?

>>259
冬も暖房不要になりそうですねw
グラボの冷却は最終的にはやはり水冷なのでしょうかねえ・・・

265: ◆MERIKEN4.k
12/10/27 12:59:43.56 y8rBUfat0
>>264
BIOSの設定も色々いじってみたけど駄目でした。
>>241のリンク先でIntelの人がはっきりと無理だと言ってるので無理なんでしょう。

恐らく消費電力はシステム全体で1000W近いので、電気ヒーターなど目ではありませんw
まあ性能のことだけ考えるなら水冷のほうがいいんでしょうけど、
保証がなくなるのと手軽にグラボの交換ができなくなるのは痛いですね。
590 4枚差しとかちょっと見てみたい気がしますけどねw

266:名無しさん@お腹いっぱい。
12/10/27 19:54:23.00 sNktJKqm0
>>265
BIOS設定でもどうにもならないとなると厳しいですね。

手持ちの電気ヒーターの消費電力を測ってみたことがあるのですが
強では表示どおり1200W、弱で600Wだったのでなかなか手ごわいですよw

GTX590を4枚となると1500Wを超えて電源が2系統必要になりそうです。


267:名無しさん@お腹いっぱい。
12/10/27 20:22:25.50 QA+aurA10
200V端子なら…
いや市販のプラグとコード見たことないけど

268: ◆MERIKEN4.k
12/10/28 00:33:21.89 Xbgvyzs00
家庭用電源だとさすがに厳しいですねw
590 3枚あたりが個人でできる限界でしょうか。

269: ◆MERIKEN4.k
12/10/28 00:37:03.15 Xbgvyzs00
Tesla K20がようやく発売開始になったみたいですね。
URLリンク(www.sabrepc.com)
$3500なのでK10と似たようなお値段ですが、手が出ないことにはかわりませんw
誰かTripcode Finderをこれで動かしてみてくれないかな~

270: ◆MERIKEN4.k
12/10/28 06:46:31.10 Xbgvyzs00
>>247のサンプルをTripcode Finderのソースに組み込むことに成功しました。
ちゃんと実行ファイルと同じディレクトリにあるOpenCLのソースファイルが
コンパイルされて実行できてます。次はCUDAのSHA-1のルーチンを
コピペして動作するかどうか確認することにします。

271: ◆MERIKEN4.k
12/10/28 07:07:21.83 Xbgvyzs00
1年前に書いたCUDAのSHA-1のルーチンを読み返してみたけど、
やはりDES cryptに比べると相当簡単です。これならテストも割りと
すんなりといくかな。

272: ◆MERIKEN4.k
12/10/28 09:39:11.88 Xbgvyzs00 BE:4788072498-2BP(12)
サンプルを書き換えてOpenCLのSHA-1のルーチンをテストするコードを
でっち上げたのですが、1発で12桁トリップの変換に成功しました。
10桁CPU検索の作業に比べてなんと楽なことよ…

273: ◆MERIKEN4.k
12/10/28 09:52:54.49 Xbgvyzs00
私の机の隣で爆音を立てて熱風を撒き散らしつつ24時間稼働している
「検索君1号(仮名)」ですが、あまりにうるさいので昔買って放置してあった
Sonyのノイズキャンセリングヘッドフォンを引っ張りだしてきました。
効果は抜群で、数ヶ月ぶりに自室に(見かけ上の)静寂が訪れました。
580 1枚でうるさいと持ってた頃が懐かしいです…

274:名無しさん@お腹いっぱい。
12/10/28 09:55:29.83 xpUhApe40
これは12桁での速度を維持しながら10桁での検索も可能ということなのでしょうか?

275: ◆MERIKEN4.k
12/10/28 10:02:40.32 Xbgvyzs00
>>274
違います。NVIDIA以外のグラボでもGPU検索ができるようになるかも、という話です。
計算量が桁違いなので、理論的に10桁検索が12桁検索と同じぐらい速くなるということは
あり得えないです。

ただ、RadeonのグラボはNVIDIAのものに比べて10桁検索に向いているということは
ありそうです。というかCUDAと10桁検索が壮絶に相性が悪いだけなのかも
しれませんが…

276:名無しさん@お腹いっぱい。
12/10/28 11:16:46.22 JD+mWdaq0
>>268
電源ユニット2台で別系統のコンセントを使えば大丈夫かと思いますw
そこまでするなら複数台に分けた方がいいですけど。

277:名無しさん@お腹いっぱい。
12/10/28 11:23:26.19 JD+mWdaq0
>>275
Radeonがアーキテクチャ的にDES cryptの計算もやりやすいのでしょうか?
OpenCLならGeForceでもマシになったりするのかも気になります。

278: ◆MERIKEN4.k
12/10/28 11:33:10.81 Xbgvyzs00
>>277
ゲフォよりもラデのほうがレジスタの数が多いとかいう話をどこかで見かけました。
それにラデのほうが実際に速度が出てますしね。OpenCLはCUDAより遅くなるのが
目に見えているのでラデへの対応はありません。

279: ◆MERIKEN4.k
12/10/28 11:34:57.99 Xbgvyzs00
間違えた。>>278の最後の行は「ゲフォへの対応はありません」だった。

280:名無しさん@お腹いっぱい。
12/10/28 11:41:03.95 JD+mWdaq0
やはりレジスタが一番の理由ですか。
GeForceはKeplerでの方向性とか見ていると厳しくなりそうですね。

281: ◆MERIKEN4.k
12/10/28 12:15:12.94 Xbgvyzs00
>>280
レジスタの数がそこまでなくても、高速なメモリがあればそれでいいんですけどね。
CUDAの10桁検索も共有メモリの量さえ増えれば多分倍以上の速度が出るでしょう。
オンダイの高速メモリをL1キャッシュに使うぐらいならもっと共有メモリを
増やして欲しいもんです。

GeForceでのGPGPUの今後はわかりませんね~
GK110がGeForceに降りてきてくれればいいんですけど…

282: ◆MERIKEN4.k
12/10/28 21:10:17.36 Xbgvyzs00
>>276
やっぱそうですよね~ トリップ検索を始めたときにはこんなに熱処理に悩まされるとは
思いもしませんでした。分散処理対応を真剣に考えよっと。

283: ◆CCCCkCCCCk
12/10/28 23:07:58.09 XmyhG/mG0
こんばんは。

>>253
ちょっと古いグラボなんでどうなるか分かりませんが、データ取りにはなると思います。
年明けなら、うまくいけば上位のヤツが手に入りそうです。

>>255
おおっ、楽しみにしています。

>>282
コンピューターの歴史は熱との戦い・・・
真空管のENIACなんか、凄かったでしょうね。

//

とりあえず、ご報告。
CPUはAMD PhenomⅡ x6 1090T Black Edition 3.2Ghz
ターゲット5種・5完~12完で稼動です。
最高で23.68Mtrip/sぐらいです。
ターゲットを12種にしたら、高21.88Mtrip/s、平21.66Trip/sぐらいです。
そちらと同じ検索条件にすれば、もっと早くなるのは分かってますが、つい・・・^^;

ではまた。

284: ◆MERIKEN4.k
12/10/29 02:42:12.63 nQV6S3Gh0
>>283
データ取りでも有難いです。ぜひよろしく。

285: ◆MERIKEN4.k
12/10/29 02:47:14.79 nQV6S3Gh0
あのあとOpenCLのSHA-1のルーチンの速度を測定しようとしたのですが、
適当な作りのテスト用コードではちゃんと測定できませんでした。残念…
やはりある程度検索ルーチンを作りこまないといけないようです。
まあしょうがないといえばしょうがないですね。
とりあえず前方一致検索の分だけ作ってみます。

286: ◆MERIKEN4.k
12/10/29 02:53:39.55 nQV6S3Gh0
これはRadeon向けの最適化の資料です。あとでじっくり読もうっと。

AMD Accelerated Parallel Processing OpenCL Programming Guide
URLリンク(developer.amd.com)

287: ◆MERIKEN4.k
12/10/29 06:19:58.32 nQV6S3Gh0
あまりも検索君1号(仮)のGPUの温度が高すぎて心臓に悪いので、
こんなものを注文しました。

BestDealUSA PCI-E Express 16X Riser Card Extender Extension Cable Ribbon Flex
URLリンク(www.amazon.com)

これで真ん中のグラボを浮かせてやって空気の流れを良くしようという狙いです。
まあ見た目は悪くなるだろうけど、効果は確実にあるでしょう。

288: ◆MERIKEN4.k
12/10/29 09:44:46.80 nQV6S3Gh0
OpenCLのルーチンをデバッグしてるんですけど、
実行時にOpenCLのコードのコンパイルに失敗しても
結構詳しいエラーメッセージが取得できるので助かります。
CUDAほどお手軽ではないですけど、
思ったより手間がかからずに済みそうです。

289: ◆MERIKEN4.k
12/10/29 12:57:58.70 nQV6S3Gh0
CUI版を少しずつOpenCL対応のために書き換え始めました。
CUI版での変更がGUI版に自動的に反映されるのが便利といえば便利です。
とりあえず"AMD HD 5770"と"Intel HD Graphics 4000"はGUI版から見えるように
なりました。OpenCL対応は単純作業が多そうなので、毎日少しづつ
進めていくことにします。

290:名無しさん@お腹いっぱい。
12/10/29 14:04:33.31 yyXkW2IU0
つまりオンボだけどCore iしりーずな人でもGPUパワーが使えるのか……胸熱

291:名無しさん@お腹いっぱい。
12/10/29 14:36:56.78 5Sl8Z/AoP
自分はOpenCLでSHA256ハッシュを探索して
ハッシュの先頭に0のビットが多く並ぶキーを探すプログラムを書いているんですが
Windows7で265MHash/s出ていたのが80MHash/sしか出なくなって
原因調査中です

292:名無しさん@お腹いっぱい。
12/10/29 19:19:37.57 mTINnVu80
>>290
前に別のところで聞いた話だとすずめの涙みたいな計算速度だった覚えが

293:名無しさん@お腹いっぱい。
12/10/29 21:24:08.35 myu28mTs0
8800GT メモリ2GBのPCですが、検索停止ボタンを押すと完全に固まります
フリーズ中はGPUのファンは静かになっていて、HDDが規則的なリズムでガリガリと鳴りつづけていました

さきほど1分ほど動かして検索停止ボタンを押した時は15分経っても復帰しませんでした。多分、そのまま動かし続けてもフリーズするのは時間の問題だと感じました
再起動した後、とりあえず10秒(検索速度などの表示が出るまで)で止めてみたのですが、停止ボタンを押した後に一瞬画面が真っ黒になって「ディスプレイドライバの応答停止と回復」のポップアップが表示されました
この調子ですぐ止めればセーフか?と思い、続いてブロック数を自動から1に変更して開始したところ、同じように10秒で止めても完全にフリーズしてしまいました
メモリの容量か何かが関係しているのかとも思いましたが、それにしては検索中もメモリの利用率は別に増えてなかったのが不思議です。

使っていて変な汗が出たソフトナンバーワンなのは間違いないです

294: ◆MERIKEN4.k
12/10/29 21:30:51.78 nQV6S3Gh0
>>293
多分問題は電源かGPUの温度でしょう。メモリは殆ど使わない作りになっているので
まず関係ないです。SpeedFanとかAfterburnerで温度をチェックすると
いいかもしれません。

295: ◆MERIKEN4.k
12/10/29 21:32:28.03 nQV6S3Gh0
>>290
>>292
実際に検索させてみないことにはわからないですけど、
性能はあんまり期待できないでしょうね~ まあおまけみたいなもんです。

296: ◆MERIKEN4.k
12/10/29 21:34:25.08 nQV6S3Gh0
>>291
なかなか不思議なプログラムですねえ。手直しすると突然速度が落ちるという
ことはよくあります。バージョン管理は必須ですね。

297:名無しさん@お腹いっぱい。
12/10/29 21:44:29.50 myu28mTs0
>>294
電源ですか!なるほどなるほど・・・なんだか靄が晴れた気分です

298:名無しさん@お腹いっぱい。
12/10/29 23:27:29.31 5Sl8Z/AoP
>>296
すいません291はWindows8にしたらって書くのを忘れてました

299:名無しさん@お腹いっぱい。
12/10/30 00:35:03.80 DNUGLhjc0
>>295
AMD APUの場合は
URLリンク(www.amd.com)
A10-5800Kで理論値はCPU部分が約120GFLOPS、GPU部分が約600GFLOPSと5倍程度差があるらしいので
うまく利用できるとそこそこ期待できそうですが、問題はVLIWへの最適化でしょうかね?


300: ◆MERIKEN4.k
12/10/30 03:13:30.53 6+f0bjdv0
いい機会なのでコードの整理をして、パターン処理の関数を1つのファイルに
まとめました。正規表現のパーサが含まれているので結構な大きさです。
これでコードもすっきりしたのでOpenCLデバイスの処理を追加しやすくなりました。
コード全体を眺めるのは久しぶりなんですけど、継ぎ足しに継ぎ足して
随分たくさん書いたもんです。

301: ◆MERIKEN4.k
12/10/30 03:17:19.66 6+f0bjdv0
>>299
トリップ検索では浮動小数点演算は使わないのでFLOPSはあんまりあてにならない
んですけど、AMDのAPUならそこそこ性能は出るでしょう。最適化については
今のところ全く分かりませんw とりあえず動くOpenCLのコードができてから
考えることにします。

302: ◆MERIKEN4.k
12/10/30 08:03:47.74 6+f0bjdv0
OpenCLデバイスの初期化の処理も実装し終わりました。
あとはスレッド周りを修正すれば、実際の検索ルーチンに取り掛かれます。

----

Using GPU(s) as a search device.

OPENCL DEVICE
=============
OpenCL Device Count: 2

Vendor: Advanced Micro Devices, Inc.
Name: Juniper
Clock Frequency: 850MHz
Global Memory Size: 1024M bytes
Version: OpenCL 1.2 AMD-APP (1016.4)
Driver Version: 1016.4 (VM)

Vendor: Intel(R) Corporation
Name: Intel(R) HD Graphics 4000
Clock Frequency: 350MHz
Global Memory Size: 1624M bytes
Version: OpenCL 1.1
Driver Version: 8.15.10.2761

303: ◆GTX680Mcys3u
12/10/31 02:24:34.52 h5Ao5/fb0
お久しぶりです。
ノート用でGTX680M発売決定らしいです。
URLリンク(www.geforce.com)

GK104コアでCUDAコア数はGTX680同等、クロックはGTX680Mと同等
メモリクロックはGTX680M比で40%増し。
ノートも段々デスクトップと変わらなくなってきましたね。

性能次第じゃGTX680Mの時と同じでeBayからMXMカード取り寄せるかも…。

304: ◆GTX680Mcys3u
12/10/31 20:45:23.81 h5Ao5/fb0
>>303まちがい
新しいGTX680相当のSMX数で出るのは680MXです

305: ◆MERIKEN4.k
12/11/01 08:07:20.98 pqoHlXrk0 BE:1197018836-2BP(12)
>>303-304
なるほど、こういうのでアップグレードするんですね。
URLリンク(www.ebay.com)
ちょっと割高な気もするけど、これだけコンパクトにまとまっているのは凄いですねえ。

306: ◆MERIKEN4.k
12/11/01 08:11:48.87 pqoHlXrk0
OpenCL検索のスレッド周りの処理も一応仕上がりました。
これでいよいよ検索ルーチンの実装を始められます。

307: ◆MERIKEN4.k
12/11/01 18:28:16.36 pqoHlXrk0
検索ルーチンを作り始めたんですけど、Intelの実装とAMDのとで微妙に挙動が違って
きますね、これ。AMDのではエラーがでなくてもIntelのでエラーが出たりしてます。
思ったよりデバッグに時間がかかるかもしれません。
とりあえず両方のプラットフォームでトリップの変換ができていることは確認できました。
やっぱりIntelのほうが大分遅いですねえ。

308: ◆MERIKEN4.k
12/11/01 19:11:17.86 pqoHlXrk0
そうそう、検索君1号(仮)ですが、一番下のPCI-EスロットにGTX 590を移したら
温度の問題は全て解決しましたw いい具合に2番目と3番めのカードのあいだに
1スロット分の隙間が出来ました。590とマザボのピンが干渉するので
ケースの電源ボタン等は使えなくなったけど、別のがマザボについているので今のところ
困っていません。普段使っている検索パターンで安定して2.7G TPSでています。
1年前に800M TPS出して大喜びしていたのが遠い昔のようですw

もうさすがに買わないですけど、電源の容量から計算すると590 3枚でも
十分動作しそうです。3072コアで同時にトリップ検索なんて考えただけで
胸が熱くなりますw

309: ◆GTX680Mcys3u
12/11/01 20:24:07.51 d/NjzRgi0
>>305
それです。
その一番大きなMXM3.0bという規格でもデスクトップ用の半分以下のサイズだと思いますよ。

ちょっと安いところのが撤退してますねぇ。
今出てる一番安いのはAlienware用のVRAM2GB版だけど
自分が買った時はVRAM4GB版でも799ドルだったのに。
さすがに999ドルなら自分も買ってなかったでしょうけども。

日本ってこういうパーツ全く出回らないんですよね。ニッチだけど需要はありそうなのに。

310: ◆MERIKEN4.k
12/11/02 02:08:46.32 pOqRQijG0
>>309
部品が手に入りづらいとストレス溜まりますよね。
アメリカの人達はわりと大型のノートPCを好むというのもあるかもしれません。

311: ◆MERIKEN4.k
12/11/02 02:21:27.01 pOqRQijG0
OpenCL検索のGPU側のコードを書き終えました。
とは言っても次の資料を見てCUDAのコードを書き換えただけですが…

Porting CUDA Applications to OpenCL
URLリンク(developer.amd.com)

あとはCPU側のコードを用意してやればOpenCL検索ができるようになるはずです。
OpenCLのコードは問題なくビルドできているので、あと残っているので
めんどくさそうなのはメモリ周りの処理ぐらいです。まあなんとかなるでしょう。

312: ◆MERIKEN4.k
12/11/02 05:21:44.88 pOqRQijG0
CPU側のコードを用意ができたのでOpenCL検索を試してみたのですが、
Radeonだとwork-groupの数が不正だと怒られて動かせませんでした。
で、Intelのほうを試してみたら、奇跡的にトリップは生成されました。
が、めちゃくちゃ遅い! 遅すぎる! 仕方がないのでとりあえず
Radeonで動くようにしてからコードの見直しをすることにします。

313: ◆MERIKEN4.k
12/11/02 05:34:17.58 pOqRQijG0
ちょっと手直ししたら今度はclEnqueueNDRangeKernelで
CL_OUT_OF_RESOURCESが出てしまいました。
仕様書を見たらレジスタやカーネルへの引数の数が多すぎるとこのエラーが出るらしいです。
いろいろ面倒くさいなあ…

314: ◆MERIKEN4.k
12/11/02 05:39:42.98 pOqRQijG0
どうやらwork-groupのサイズはclGetKernelWorkGroupInfoで取り出さないと
いけない模様。これでうまくいくといいけど…

315: ◆MERIKEN4.k
12/11/02 07:27:52.40 pOqRQijG0
あの後色々調べてみたけど原因はわかりませんでした。
う~ん、CUDAの検索ルーチンをそのまま移植するんじゃなくて、
少しづつ動くのを確認しながら作り込んでいったほうがよかったのかなあ。
完全に煮詰まってしまったので食事をしてきます。

316: ◆MERIKEN4.k
12/11/02 10:39:28.35 pOqRQijG0
AMDのOpenCLの実装で動かなかった理由がようやくわかりました。
16M bytesあるキービットマップの配列へのポインタをカーネルの引数で渡していたのが
原因でした。CUDAで実装したときも我ながら無茶な実装だと思ったものですが、
今の今まですっかり忘れていましたw 取りあえずなくても動くので
OpenCLではキービットマップを使わないことにしておきます。
多ターゲットの検索だとキービットマップがかなり有効なのはわかっているので、
あとで小さめのも作ることにします。

317: ◆MERIKEN4.k
12/11/02 12:03:11.26 pOqRQijG0
というわけでOpenCLの12桁検索の試験実装がめでたくRadeon HD 5770で
動くようになりました。GPU使用率65%で190M TPS出ているので、CUDAの実装の
ベタ移植にしては上出来でしょう。ヒット率も綺麗に予想値に収束しています。
いや~これでようやく安心できました。

あ、あとIntel HD 4000では同じコードで3M TPSしかでていませんw
こりゃほんとにおまけですねえ。

318: ◆MERIKEN4.k
12/11/02 12:29:52.07 pOqRQijG0
GPU使用率を上げようといろいろ頑張ってみたのですが、
ちっとも上がってくれません。global_work_sizeとlocal_work_sizeを
いじっても駄目でした。mtyのときも似たようなことがあったし、
ドライバの仕様なのかなあ。

319: ◆MERIKEN4.k
12/11/02 13:03:48.65 pOqRQijG0
ちっともGPU使用率が上がらないので、思いつきで1つの5770に対して
2つの検索スレッドを走らせたら、見事にGPU使用率が96%まで上がって
301M TPS出るようになりましたw 冗談みたいな話ですが
ヒット率は予測通りなのでちゃんとうごいているようです。
なんか釈然としないけど、きちんと動作しているのでこのままにしておきます。

320: ◆MERIKEN4.k
12/11/02 13:23:20.71 pOqRQijG0
しかしRadeonは思った以上に性能が出ますねえ。
5770でこれなら7970だったら1枚で1G TPSを超えるかもしれません。
10進検索のほうも楽しみです。OpenCL検索の実装が順調に進んで、
GTX 780が噂通り680の改良版なら、次に買うのは8970になるかもしれません。

321:ののたん ◆KiwamonoL.
12/11/02 13:54:01.66 ayT59sJq0
>>318
それを知ってるのに秘孔は知らないのか?
URLリンク(sourceforge.jp)

効果があるかどうかはしらん。w

322: ◆MERIKEN4.k
12/11/02 14:53:44.04 pOqRQijG0
>>321
その処理をTripcode Finderに組み込もうとしたらAPIが古過ぎてコンパイル
できませんでした(´・ω・`)

323:ののたん ◆KiwamonoL.
12/11/02 17:13:31.39 ayT59sJq0
>>322
効果があるか試すだけなら、バイナリもあるぜ。
URLリンク(trip2ch.net)

やってることは単純だから、今のAPIで同じことをやればいいんだろうけど。

324:名無しさん@お腹いっぱい。
12/11/02 19:08:34.63 druh0GIy0
URLリンク(yy43.60.kg)


325:名無しさん@お腹いっぱい。
12/11/02 20:45:07.84 RumtBqwhP
目指せ純12連発見

326:前スレ927
12/11/03 01:40:23.60 nhwVplaB0
HTがトラウマになったので、影響を調べてみました。

CPU: Xeon X5680@3.33GHz x 2
GPU: Quadro FX 3800
Prg: 0.06a1
Len: 12
Targ: "TEST/"
Opt: -c -g -x 16
Drv: 306.79

この条件でOSとHTを買えて計測しました。


327:前スレ927
12/11/03 01:45:43.54 nhwVplaB0
先ずはXPから。
Case 1-1
CPU: HT off (12 thread)
OS: WinXP SP2 64bit
1hrAv: 240.76M TPS
Others:
243.23M TPS (curr)
171.13M TPS (GPU)
72.11M TPS (CPU)

Case 1-2
CPU: HT on (24 thread)
OS: WinXP SP2 64bit
30minAv: 247.84M TPS
Others:
247.50M TPS (curr)
171.13M TPS (GPU)
76.72M TPS (CPU)


328:名無しさん@お腹いっぱい。
12/11/03 01:50:13.99 nhwVplaB0
次は7です。
Case 2-1
CPU: HT off (12 thread)
OS: Win7 SP1 64bit
30minAv: 241.77M TPS
Others:
241.44M TPS (curr)
169.01M TPS (GPU)
72.43M TPS (CPU)

Case 2-2
CPU: HT on (24 thread)
OS: Win7 SP1 64bit
30minAv: 246.28M TPS
Others:
246.97M TPS (curr)
170.87M TPS (GPU)
76.10M TPS (CPU)

329:前スレ927
12/11/03 02:01:41.49 nhwVplaB0
連投済みません。
XPから7にしても性能変わらんねぇ。(´・ω・`)
HT on/offでも大して変わらんねぇ。(´・ω・`)

GTX590を追加しようとしたのですが、電源容量が足りないことが判明。
GPU用に8ピンx2を用意する上手い方法は無いでしょうか?
ATX電源だと確かスイッチ入れないと出力されなかったような気が・・・

330:ののたん ◆KiwamonoL.
12/11/03 02:51:49.87 ZeqW5mDD0
>>329
つ「URLリンク(www.freedom-pc.com)
一台目の電源ユニットに連動するやつも見たことあるけど。

だがしかし、おすすめはしない。いろんな意味で【危険】だから。
素直に電源ユニットをいいやつに交換したほうが。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch