DLLを使わずにMetaTrader 5で直接OpenCLを使ってできることは次のとおりです。 - ページ 14

 
kaus_bonus:


登録時にエラーが発生した場合は、とりあえずメールを確認してください。

登録時に、何らかのパスワードを入力すると「無効な形式です」と表示される。

このリンクは300MBで、ドラッグ&ドロップに時間がかかるので、クッキーを入れないと動かないかもしれません。

http://registrationcenter-download.intel.com/akdlm/irc_nas/vcp/11058/intel_sdk_for_opencl_setup_6.3.0.1904.exe

抜いてますね!ありがとうございます。
 
Intel SDK for OpenCL Applications を削除すると、新しいデバイスが表示されました。
OpenCL  Device #0:  CPU GenuineIntel  Intel(R) Core(TM) i7-2700 K CPU @ 3.50 GHz with OpenCL 1.1 (8 units, 3510 MHz, 16301 Mb, version 2.0, rating 25)
OpenCL  Device #1:  CPU Intel(R) Corporation  Intel(R) Core(TM) i7-2700 K CPU @ 3.50 GHz with OpenCL 2.1 (8 units, 3500 MHz, 16301 Mb, version 6.3.0.1904)

しかし、エラーは残る

OpenCL not found. Error code=5114
 
fxsaber:
Intel SDK for OpenCL Applications をインストールすると、新しいデバイスが表示されます。

しかし、エラーは残る

ちなみに、新しいエラーコードとして、ランタイムエラーが 追加されました。

err_math_overflow

4019

数学関数の計算中にオーバーフローが発生した


err_globalvariable_not_modified

4503

グローバル変数の変更は行っていない

err_globalvariable_cannotread

4504

グローバル変数値を含むファイルのオープンと読み込みに失敗しました。

err_globalvariable_cannotwrite

4505

グローバル変数の値を含むファイルの書き込みに失敗しました


err_trade_calc_failed

4758

利益またはマージン値の算出に失敗した


err_string_array_only

5063

文字列型の配列であること


err_opencl_too_many_objects

5113

OpenCLオブジェクトの最大数を超えています。

err_opencl_selectdevice

5114

OpenCLのデバイス選択エラー

 
Rashid Umarov:

ちなみに、新しいエラーコードとして、「実行時間エラー」が追加されました。

各タイプのエラーを発生させる例が少ない。
 
Rashid Umarov:
CLContextCreate 入力パラメータが 明示的に設定されていない場合のヘルプを修正しました。
Документация по MQL5: Работа с OpenCL / CLContextCreate
Документация по MQL5: Работа с OpenCL / CLContextCreate
  • www.mql5.com
Работа с OpenCL / CLContextCreate - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

このバグはまだ修正されていません。Intelの プロセッサ内蔵グラフィックスIGPは、デバイスタイプによるフィルタで、唯一のGPUデバイスとしてコンテキストで選択されません。

CLContextCreate(CL_USE_GPU_ONLY)
или
CLContextCreate()
Scripts script Seascape (GBPUSD,H1) loaded successfully
OpenCL  device #0: GPU Intel(R) Corporation Intel(R) HD Graphics 4400 with OpenCL 1.2 (20 units, 400 MHz, 1425 Mb, version 10.18.14.5117)
OpenCL  device #1: CPU Intel(R) Corporation Intel(R) Core(TM) i7-4500 U CPU @ 1.80 GHz with OpenCL 1.2 (4 units, 1800 MHz, 8087 Mb, version 4.2.0.148, rating 67)
OpenCL  device performance test started
OpenCL  device #0 performance test error: 'cannot create OpenCL program (5105)'
OpenCL  device performance test finished with error(s)
OpenCL  device #0: GPU Intel(R) Corporation Intel(R) HD Graphics 4400 with OpenCL 1.2 (20 units, 400 MHz, 1425 Mb, version 10.18.14.5117)
OpenCL  device #1: CPU Intel(R) Corporation Intel(R) Core(TM) i7-4500 U CPU @ 1.80 GHz with OpenCL 1.2 (4 units, 1800 MHz, 8087 Mb, version 4.2.0.148, rating 67)
Scripts script Seascape (GBPUSD,H1) removed

面白いことに、同じポイントでPrintは 別のエラーコードを表示します。

Seascape (GBPUSD,H1)    OpenCL not found. Error=5114

明示的にデバイスを設定した場合。

CLContextCreate(0)

とか、こんな感じで

   long dCount = CLGetInfoInteger(0,CL_DEVICE_COUNT);
   for(int i = 0; i<dCount; i++)
     {
      int clCtx=CLContextCreate(i);

グラフィックス・コプロセッサーは、それがグラフィックス・コプロセッサーであることを認めるなど、汗を流して働いています。

0: Intel(R) HD Graphics 4400
OpenCL platform ver: OpenCL 1.2 
OpenCL platform profile: FULL_PROFILE
OpenCL device name: Intel(R) HD Graphics 4400
OpenCL device profile: FULL_PROFILE
OpenCL device ver: OpenCL 1.2 
OpenCL open c ver: OpenCL C 1.2 
OpenCL type: CL_DEVICE_GPU

OpenCL 1.2仕様では、この場合のキー文字はdevice(s)なのかもしれませんね?つまり、MQL5ラッパーは、単一のデバイスではなく、CL_DEVICE_TYPE_GPU タイプでフィルタリングされたGPUデバイスのアレイを返すのでしょう

このため、仕様に近い実装に修正し、コンテキスト内の指定されたタイプのデバイスをすべて選択し、clGetContextInfo(,CL_CONTEXT_NUM_DEVICES,) と同様の関数をもう一つ導入する必要があります。結局のところ、人々は、異なる種類のタスクを行う複数のGPUのファームを持っているかもしれません。

もうひとつ提案があるのですが、IGPのレーティングが定義されておらず、MQL5が最も高いレーティングのGPUデバイスを選択できないことが問題なのではないでしょうか?

ちなみに、このカッコよさ(評価)は何を基準にしているのでしょうか? GPUの周波数*台数?

clCreateContextFromType
  • www.khronos.org
clCreateContextFromType. Create an OpenCL context from a device type that identifies the specific device(s) to use.
 
aim-1:

このバグはまだ修正されていません。Intel プロセッサ内蔵グラフィックスIGPは、デバイスタイプによるフィルタで、唯一のGPUデバイスとしてコンテキストで選択されません。


ありがとうございます、今すぐ整理します。

ノートパソコンでNvidiaを無効にして確認しました。

device #0:  GPU NVIDIA Corporation GeForce GTX 1050 Ti with Max-Q Design with OpenCL 1.2 (6 units, 1417 MHz, 4096 Mb, version 442.70, rating 101)
device #1:  GPU Intel(R) Corporation Intel(R) UHD Graphics 630 with OpenCL 2.1 (24 units, 1200 MHz, 13014 Mb, version 26.20.100.7985, rating 73)

無効化した後、自動的に組み込みGPUを検出し、動作します。

OpenCL.Seascape (GBPUSD,M30)    OpenCL: GPU device 'Intel(R) UHD Graphics 630' selected


なお、あなたのIntelドライバーのバージョンは10.18.14.511で、私のバージョンは26.20.100.7985 です。

すべてのドライバをアップデートし、すべてのOSのアップデートをかけて、もう一度試してみることをお勧めします。
 
aim-1:

このバグはまだ修正されていません。Intel プロセッサ内蔵グラフィックスIGPは、デバイスタイプフィルターで単一のGPUデバイスとしてコンテキストで選択されません。

以下のようにお願いします。

  1. 端末を閉じる
  2. HKEY_CURRENT_USER/Software/MetaQuotes SoftwareからOpenCLを削除する。
  3. 端末の起動と テスト


その後、端末のログで OpenCL のエラーを確認する

例:

OpenCL device N performance test error: 'error text'

or

OpenCLデバイスNの性能テストに失敗


インテル® ビデオドライバの更新を確認する必要があります。

Запуск платформы - Для продвинутых пользователей - Справка по MetaTrader 5
Запуск платформы - Для продвинутых пользователей - Справка по MetaTrader 5
  • www.metatrader5.com
По завершении установки в меню "Пуск" создается группа программ торговой платформы, а на рабочем столе дополнительно помещается ярлык программы. Используйте их для запуска. Нельзя запускать одновременно две копии платформы из одной директории. Чтобы одновременно запустить несколько копий, установите соответствующее количество программ в разные...
 
Renat Fatkhullin:

あなたのインテルドライバーのバージョンは10.18.14.511で、私のバージョンは26.20.100.7985 であることに注意してください。

すべてのドライバを更新し、すべてのオペレーティングシステムのアップデートを入れて、もう一度試してみることをお勧めします。

レナットさん、早速のサポートありがとうございます。

もちろん、OpenCLの話題はとてもおいしく、特にMQL5.comの記事にはすでにこのトピックに関する良い資料がたくさんあるので、MQL5に行くモチベーションになりますね。

もちろん、コンプラインの前の更新については、通常の清潔さは守られています。今日は一晩中、ドライバとSDKを理解するのに必死でした。

この石(IGP)のインテルのサイトでは、最新(Q3'13リリース時の2019.11.25から、お使いのCPU世代のドライバー)をインストール、つまりCPUとGPUの両方をサポートしています。CPUのみのランタイムを以前削除し、Khronosブランチのレジストリをクリーンアップしました。

Windows 8.1とこのインテル第4世代Core CPUのGPUを最後にサポートしたオリジナルの「Intel SDK for OpenCL Applications 2016 R2」は、インテルのウェブサイトでの公開を終了しています。ウイルスフリーでダウンロードできる場所をご存知でしたら、教えていただきたいです。

しかし、ランタイムも問題なく動作するはずで、その通りです。GPUは、CLContextCreateで 明示的に選択した場合のMQL5情報コマンド(上記参照)と、EA SeaScapeスピードの両方で確認することができます。また、ログにエラーは表示されません。

あなたのレジストリブランチを夜、仕事が終わってから開いて、特別なスタートアップを使って遊んでみますが、私のGPUに割り当てられたMQL5レーティングの不在は、CL_USE_GPU_ONLY フィルターの美人コンテストアルゴリズムによると、その排除の理由です。

 
aim-1:

レナットさん、早速のご対応ありがとうございました。

もちろん、OpenCLのトピックはとてもおいしく、特にMQL5.com Articlesにこのトピックに関する良い資料がすでにたくさんあるので、MQL5に行くモチベーションになります。

もちろん、コンプラインの前の更新については、通常の清潔さは守られています。今日は一晩中、ドライバとSDKを理解するのに必死でした。

この石(IGP)のインテルのサイトでは、最新(Q3'13リリース時の2019.11.25から、お使いのCPU世代のドライバー)をインストール、つまりCPUとGPUの両方をサポートしています。CPUのみのランタイムを以前削除し、Khronosブランチのレジストリをクリーンアップしました。

Windows 8.1とこのインテル第4世代Core CPUのGPUを最後にサポートしたオリジナルの「Intel SDK for OpenCL Applications 2016 R2」は、インテルのウェブサイトでの公開を終了しています。ウイルスフリーでダウンロードできる場所をご存知でしたら、教えていただきたいです。

しかし、ランタイムも正常に動作するはずで、それはそうです。GPUは、CLContextCreateで 明示的に選択した場合のMQL5情報コマンド(上記参照)と、EA SeaScapeのスピードの両方から確認することができます。

私は後で仕事の後に夕方あなたのレジストリブランチを開いて、特別なスタートアップを使用して再生しようとしますが、イモはMQL5によって割り当てられた私のGPU評価の不在は、CL_USE_GPU_ONLY フィルタを通じて美人コンテストアルゴリズムに従って排除された理由です。

私たちとしては、また見て、ログを増やしていきたいと思います。