OpenCL:MQL5での内部実装テスト - ページ 48

 
MetaDriver: でも、今度は4096ビーズで動かしてみます。 CPUは5分でカウントしてくれますよ。

そして、せめてex5以降は、他の人に楽しんでもらいましょう。

新しいビルドでは再コンパイルが必要です(明らかにCLContextCreate() のせいです)。そして、ex5も投稿される前に。

 
Mathemat:

そして、少なくともex5以降は、他の人に楽しませてあげてください。

新しいビルドは再コンパイルが必要です(CLContextCreate()のため、当然ですが)。以前もex5を掲載されていましたしね。

OKです。

2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30)CpuTime/GpuTime = 2330.657142857143
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Cpuでの結果 MachResult==4.02701 at 1529 pass
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) インティケータ数 = 16; ヒストリーバー数 = 50,000; パス数 = 4096
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CPU time = 326292 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Gpuでの結果 MachResult==4.02701 at 1529 pass
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) インティケータ数 = 16; ヒストリーバー数 = 50,000; パス数 = 4096
2012.04.08 01:58:07 ParallelTester_00-(16x7x3) (USDJPY,M30) GPU時間=140ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) OpenCL init OK!

ファイル:
 
MetaDriver:

OKです。

2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30)CpuTime/GpuTime = 2330.657142857143
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Cpuでの結果 MachResult==4.02701 at 1529 pass
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) インティケータ数 = 16; ヒストリーバー数 = 50,000; パス数 = 4096
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CPU time = 326292 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Gpuでの結果 MachResult==4.02701 at 1529 pass
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) インティケータ数 = 16; ヒストリーバー数 = 50,000; パス数 = 4096
2012.04.08 01:58:07 ParallelTester_00-(16x7x3) (USDJPY,M30) GPU時間=140ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) OpenCL init OK!


驚きです。どの星から来たか告白してください。開発者と同じ言葉で話す。超高速計算をしているんですね。これには理由があるんです。:))))
 
MetaDriver: OKです。

不思議な商売ですね。もちろん、あなたへの不満はありません。しかし、ここからが本題です。

あなたのスクリプトを実行すると、このようになります。

2012.04.08 03:11:28    ParallelTester_00-02-d16x7x3w_new (EURUSD,H1)    OpenCL not found.


一番最初の歴史的なスクリプトを実行する(最新のCLContextCreate()の 修正で手を加えた)。

2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    CpuTime/GpuTime = 24.39193381592554
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    Result on Cpu МахResult==1.20315 at 21 pass
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    CPU time = 23587 ms
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    Result on Gpu МахResult==1.20315 at 21 pass
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    GPU time = 967 ms
2012.04.08 03:12:36    ParallelTester_00-01x (EURUSD,H1)    OpenCL init OK!

素晴らしい...どうしよう、どこに書こう?サービスデスクに戻らなければならないのか?

追伸:ちなみに、GPUの演算はあまり速くなく、せめて300〜400msくらいにした方がいいですね。もしかしたら、実加速度100500(思い出してください、無限大より大きい唯一の数です!)を持っているのに、それを知らないのでしょうか?ただ、140msというのは、GetTickCount()で小さくできない数少ない数値ではないかという疑念があります(仮にそうなったとしても稀なことです)。

 
tol64:
すごいですねー。どこの星から来たのか、教えてください。開発者と同じ言葉で話す。超高速で計算してるんですね。これには理由があるんです。:))))
カザンでは、みんなこんな風に書いていますよ。
 
MetaDriver:
ここカザンでは、みんなそう書いていますよ。
そして、その通りです。
 
Mathemat:

1.奇妙なビジネスもちろん、あなたへの不満はありません。しかし、ここからが本題です。

あなたのスクリプトを実行すると、次のようになります。

2012.04.08 03:11:28    ParallelTester_00-02-d16x7x3w_new (EURUSD,H1)    OpenCL not found.

2.追伸:ちなみに、GPUでの計算はあまり速くなく、少なくとも300〜400ms程度であったことを確認してください。もしかしたら、実加速度100500(思い出してください、無限より大きい唯一の数です!)を持っているのに、そのことを知らないのでしょうか?140msはGetTickCount()が決して低くならない(低くなったとしても稀な)数値の一つではないかという疑念があるのです。

1.トレーラーのバージョンを試す。CLContextCreate(CL_DEVICE_ANY)で再コンパイルしてみた。

2.いえいえ、140msくらいで大丈夫です。(その他にもいろいろあります)

zyです。OpenCLのベクトル演算により高速化を実現しています。マニュアルを吸う - 挿入されます。;)

ファイル:
 
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    CpuTime/GpuTime = 162.8265625
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Result on Cpu МахResult==4.07621 at 824 pass
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    CPU time = 208418 ms
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Result on Gpu МахResult==4.07621 at 824 pass
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    GPU time = 1280 ms
2012.04.08 09:12:21    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    OpenCL init OK!
 
joo:

Radeonのルール!!!

;)

 
MetaDriver:

Radeonのルール!!!

;)

たくさん合格したんですね。:)