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

 

Mathemat:

2012.06.02 05:49:25     OpenCL  CPU: GenuineIntel  Intel(R) Pentium(R) CPU G840 @ 2.80 GHz with OpenCL 1.2 (2 units, 2793 MHz, 8040 Mb, version 2.0 (sse2))
2012.06.02 05:49:25     OpenCL  GPU: Advanced Micro Devices, Inc. ATI RV770 with OpenCL 1.0 (10 units, 780 MHz, 512 Mb, version CAL 1.4.1720)
2012.06.02 05:49:25     OpenCL  CPU: Intel(R) Corporation  Intel(R) Pentium(R) CPU G840 @ 2.80 GHz with OpenCL 1.1 (2 units, 2800 MHz, 8040 Mb, version 1.1)

I.e.インテルCPUが先 インテルのOCLエンジンで その後、私の時代遅れのHD 4870、そしてまた石ですがAMDエンジンを 搭載しています。スクリプト

バージョンが違う、つまり、ハードに依存しないバージョンなのでしょうか?

OCL AMD 1.1を持っているのですが、1.2に修正する方法はありますか?もしかしたら、もっと早くなるかもしれません。

OCL 1.2をサポートする新しいAMD APP SDK 2.7を見つけたので、新しい結果を報告します(変更された場合)。

インストールしてみたが、バージョンは変わっていない。ハードウェアのサポートがないとか、そういうことかもしれません。

 
fyords: 入れてみてください、バージョンは変わってません。おそらく、ハードウェアのサポートがないとか。

そんなはずはない。1.2であるべきです。まず、AMDは自分の石を大事にし、その次に他の石について考えるだろう。自分のものでないものの上に立つことになるのです。また、両メーカーともSSE2は以前から搭載していました。

しかし、その差は大きくなく、10%くらいでしょうか。

 
Mathemat:

そんなはずはない。1.2でないとダメなんです。少なくともAMDは、まず自分の石を大事にし、それから他人の石を大事にするはずだ。それは、それに属さないものにも有効だろう。また、両メーカーともSSE2は以前から搭載していました。

しかし、その差は大きくなく、10%くらいでしょうか。

墜落しそうです。最近アップデートが効かなくなり、今は「バージョンが認証されていません」と表示されます。よし、呼吸している限り、呼吸させよう。そして、再インストールして新しいOCLを投入する。

SSE2も持っているし、さらにもちろん、10%では少ないですが、それでも嬉しいことです。

追伸:分かりやすい説明ありがとうございます。

 
ilovebtc:

例えば、私はRadeon 6930というグラフィックカードを持っていますが、これは1280のストリームプロセッサを持っています。エージェントリストにはどのように表示されるのでしょうか?1デバイスとして、または全1280個。

それだけで10プロセッサーの何倍もの速度があり、ボーナスは1デバイスを追加した分ではありません。

グラフィックカードはmqlで書かれたコードでは動作せず、特殊な言語(ここではOpenCL)で書かれたコードでしか動作しないのです。したがって、クラウド上のビデオカードは、OpenCL-APIを使用する(OpenCLを挿入する)mqlプログラムにのみ有効である。

もしあなたがこれらすべてを理解しているなら、私のコメントは無視してください。 ただ、フォーラムでは、OpenCLを使用してクラウドに接続しない、ほとんどの一般的なmql5プログラムの生産性が向上することを期待している人がいるように思えました。ということはありません。

 

IntelとAMDのSDKをインストールしました。

2012.06.07 18:40:28 OpenCL CPU: Intel(R) Corporation Intel(R) Core(TM)2 Duo CPU T8100 @ 2.10GHz with OpenCL 1.1 (2 units, 2100 MHz, 2045 Mb, version 1.1)

2012.06.07 18:40:28 OpenCL CPU: GenuineIntel Intel(R) Core(TM)2 Duo CPU T8100 @ 2.10GHz with OpenCL 1.2 (2 units, 2094 MHz, 2045 Mb, version 2.0 (sse2)) 

2012.06.07 18:40:55 vect_v2_all_devices (EURUSD,H1) =======================================
2012.06.07 18:40:55 vect_v2_all_devices (EURUSD,H1) OCL martices mul:         ROWS1 = 2000; COLSROWS = 2000; COLS2 = 2000
2012.06.07 18:50:04 vect_v2_all_devices (EURUSD,H1) CPUTime = 548.515
2012.06.07 18:50:04 vect_v2_all_devices (EURUSD,H1) ---------------
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) read = 4000000 elements
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) Device = 0: time = 15.975 sec.
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) CPUTime / GPUTotalTime = 34.336
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 1571,356 ) = 2.88011026;    thirdCPU[ 1571,356 ] = 2.88011026;    buf[ 1571,356 ] = 2.88010764
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 791,407 ) = 1.36050534;    thirdCPU[ 791,407 ] = 1.36050534;    buf[ 791,407 ] = 1.36050797
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 1920,1928 ) = 2.97455144;    thirdCPU[ 1920,1928 ] = 2.97455144;    buf[ 1920,1928 ] = 2.97455001
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 386,216 ) = -1.05270028;    thirdCPU[ 386,216 ] = -1.05270028;    buf[ 386,216 ] = -1.05269444
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 158,1896 ) = 2.30077577;    thirdCPU[ 158,1896 ] = 2.30077577;    buf[ 158,1896 ] = 2.30077529
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 1403,1477 ) = 5.44755507;    thirdCPU[ 1403,1477 ] = 5.44755507;    buf[ 1403,1477 ] = 5.44755411
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 190,97 ) = -0.19755134;    thirdCPU[ 190,97 ] = -0.19755134;    buf[ 190,97 ] = -0.19754831
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 694,1569 ) = 5.30565643;    thirdCPU[ 694,1569 ] = 5.30565643;    buf[ 694,1569 ] = 5.30566406
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 1084,703 ) = -0.40982622;    thirdCPU[ 1084,703 ] = -0.40982622;    buf[ 1084,703 ] = -0.40982300
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 613,1814 ) = -2.08050942;    thirdCPU[ 613,1814 ] = -2.08050942;    buf[ 613,1814 ] = -2.08050990
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) ________________________
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) read = 4000000 elements
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) Device = 1: time = 14.868 sec.
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) CPUTime / GPUTotalTime = 36.892
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 726,1509 ) = -3.87149954;    thirdCPU[ 726,1509 ] = -3.87149954;    buf[ 726,1509 ] = -3.87148523
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 408,1551 ) = -3.54236746;    thirdCPU[ 408,1551 ] = -3.54236746;    buf[ 408,1551 ] = -3.54237366
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 837,1133 ) = -1.46401167;    thirdCPU[ 837,1133 ] = -1.46401167;    buf[ 837,1133 ] = -1.46400595
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 1885,1406 ) = 3.41383481;    thirdCPU[ 1885,1406 ] = 3.41383481;    buf[ 1885,1406 ] = 3.41383505
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 419,930 ) = -2.05204225;    thirdCPU[ 419,930 ] = -2.05204225;    buf[ 419,930 ] = -2.05204272
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 895,1065 ) = 2.29360199;    thirdCPU[ 895,1065 ] = 2.29360199;    buf[ 895,1065 ] = 2.29360104
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 1687,1449 ) = 2.12151670;    thirdCPU[ 1687,1449 ] = 2.12151670;    buf[ 1687,1449 ] = 2.12152243
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 1227,1863 ) = 4.48004580;    thirdCPU[ 1227,1863 ] = 4.48004580;    buf[ 1227,1863 ] = 4.48004818
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 1545,234 ) = 2.60638309;    thirdCPU[ 1545,234 ] = 2.60638309;    buf[ 1545,234 ] = 2.60638452
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 446,1500 ) = -8.61246967;    thirdCPU[ 446,1500 ] = -8.61246967;    buf[ 446,1500 ] = -8.61247253
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) ________________________

良いのか悪いのか?

 
Manov: それは悪いことなのか、良いことなのか?

まあ、4年半前に発売された2コアのモバイルプロセッサですからね。

新しいSSE命令やその他のアーキテクチャの革新がその主な役割を担っているようです。私のバジェットスタンプは、この作業で4-5倍速くなりました :)

しかし、OpenCLでは非常に良いゲインを得ることができます。いいんです、そんなもんでいいんです。

 
Mathemat:

4年半前に発売された2コアのモバイルプロセッサーですからね。

進歩は止まっていません。新しいSSE命令やその他のアーキテクチャの革新が大きな役割を担っているようです。私のバジェットスタンプは、この作業で4-5倍速くなりました :)

しかし、OpenCLでは非常に良いゲインを得ることができます。いいんです、そんなもんでいいんです。

ありがとうございました。

大規模な数学の計算では、OpenCLを這わせれば、計算時間が30倍以上短縮されるという理解で合っていますか?

 
Manov: 大規模な数学計算にOpenCLを使えば、実行時間が30倍以上短縮されるという理解で合っていますか?

そうですね、だいたいは......ディスクリートカードの場合です。とにかく、私のHD4870は同じ計算を0.5秒でやってくれるんです。

しかし、すべての集中的な計算が適切な加速に適しているわけではないことを理解しておく必要があります。

 

すべてイブニング。

Metatrader5でOpenCLの使い方を理解しようとしたが、細かい部分まで理解できなかった。

MT5 Testerのテストをさらに加速するためにビデオカードを使用することが可能かどうか、またそのためにはどうしたらよいか教えてください。

parallel_tester_00-01x_new_cycle スクリプトも試しましたが、どのように動作するのでしょうか?

 
vittt:

すべてイブニング。

Metatrader5でOpenCLの使い方を理解しようとしたが、細かい部分まで理解できなかった。

MT5 Testerのテストをさらに加速するためにビデオカードを使用することが可能かどうか、またそのためにはどうしたらよいか教えてください。

parallel_tester_00-01x_new_cycleスクリプトも試しましたが、どのように動作するのでしょうか?

このサイトには、このトピックに関する素晴らしい記事が2つあり、すべてが詳細に記述されています。