記事"計算用OpenCL のインストール方法と使用法"についてのディスカッション - ページ 6

 

誰かRX 580 / 570を含むアップデートができますか?

私は両方のカードを持っていますが、これらのカードを活用するための詳細なインストラクションのクックブックを持っていません。

ありがとうございます。

 
現在、GTX1070でOpenCLを動作させようとしていますが、Metatraderはハードウェアについて言及していませんし、どこかでアクティベートすることもできません。現在のMT5ではどのように見えますか?
 
hao xue:

誰かRX 580 / 570を含むアップデートができますか?

私は両方のカードを持っていますが、これらのカードを活用するための詳細なインストラクションのクックブックを持っていません。

とても感謝しています。

なぜターミナルがrx580を認識しないのかわかりませんが、openclは動作しています。このコードを試してみてください:

void OnStart()
  {
//---
   Print("TERMINAL_OPENCL_SUPPORT = ",TerminalInfoInteger(TERMINAL_OPENCL_SUPPORT));
   
   int cl_ctx; 
//--- OpenCL コンテキストを初期化する 
   if((cl_ctx=CLContextCreate(CL_USE_GPU_ONLY))==INVALID_HANDLE) 
     { 
      Print("OpenCL not found"); 
      return; 
     } 
//--- OpenCLデバイスに関する一般的な情報を表示する 
   Print("OpenCL type: ",EnumToString((ENUM_CL_DEVICE_TYPE)CLGetInfoInteger(cl_ctx,CL_DEVICE_TYPE))); 
   Print("OpenCL vendor ID: ",CLGetInfoInteger(cl_ctx,CL_DEVICE_VENDOR_ID)); 
   Print("OpenCL units: ",CLGetInfoInteger(cl_ctx,CL_DEVICE_MAX_COMPUTE_UNITS)); 
   Print("OpenCL freq: ",CLGetInfoInteger(cl_ctx,CL_DEVICE_MAX_CLOCK_FREQUENCY)," MHz"); 
   Print("OpenCL global mem: ",CLGetInfoInteger(cl_ctx,CL_DEVICE_GLOBAL_MEM_SIZE)," bytes"); 
   Print("OpenCL local mem: ",CLGetInfoInteger(cl_ctx,CL_DEVICE_LOCAL_MEM_SIZE)," bytes"); 

  }
 

皆さん、こんにちは。


AMD 530とNVIDEA gtx 1060を搭載したコンピュータでlensflareのコードを試しましたが、成功しませんでした。私のEAはサポートされているデバイスが0であると報告しています。どなたか同じ問題がありましたか?ありがとうございます!


void OnStart()
  {
//---
   Print("TERMINAL_OPENCL_SUPPORT = ",TerminalInfoInteger(TERMINAL_OPENCL_SUPPORT));
   
   int cl_ctx; 
//--- OpenCL コンテキストを初期化する 
   if((cl_ctx=CLContextCreate(CL_USE_GPU_ONLY))==INVALID_HANDLE) 
     { 
      Print("OpenCL not found"); 
      return; 
     } 
//--- OpenCLデバイスに関する一般的な情報を表示する 
   Print("OpenCL type: ",EnumToString((ENUM_CL_DEVICE_TYPE)CLGetInfoInteger(cl_ctx,CL_DEVICE_TYPE))); 
   Print("OpenCL vendor ID: ",CLGetInfoInteger(cl_ctx,CL_DEVICE_VENDOR_ID)); 
   Print("OpenCL units: ",CLGetInfoInteger(cl_ctx,CL_DEVICE_MAX_COMPUTE_UNITS)); 
   Print("OpenCL freq: ",CLGetInfoInteger(cl_ctx,CL_DEVICE_MAX_CLOCK_FREQUENCY)," MHz"); 
   Print("OpenCL global mem: ",CLGetInfoInteger(cl_ctx,CL_DEVICE_GLOBAL_MEM_SIZE)," bytes"); 
   Print("OpenCL local mem: ",CLGetInfoInteger(cl_ctx,CL_DEVICE_LOCAL_MEM_SIZE)," bytes"); 

  }
 

どのopenCLプロセッサーを使用するか、どのように選択できますか?
CPU+Nvidia+Intelのようですが、メインページによると、Intel GPUの方が速いようです。

また、私のNvidiaは少し動いて、EAを終了しようとするとクラッシュします。

 

>MQL5でOpenCLを使用する利点を示すために、OpenCL_Sample.mq5スクリプトが書かれました。このスクリプトは、あるセット上の2つの変数から関数の値を計算し、その結果をグラフ・ラベル(OBJ_BITMAP_LABEL)を使用してチャート・ウィンドウに表示します。

この例は面白いのだが、驚くほど役に立たない......。

OpenCLで標準的なExpert Advisorを最適化する例を誰か作れないでしょうか?

MQL5の開発者は、OpenCL/CUDAではなく、MQL5でコードを書くべきだし、すべてのビデオカードのコア(CU)は、最適化のために利用可能なコアのリストで、普通のコアとして表示されるべきだと 思う。

そう思います.

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_BITMAP_LABEL
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_BITMAP_LABEL
  • www.mql5.com
//| Создает объект "Графическая метка"                               |               chart_ID=0,                               sub_window=0,                             x=0,                                      y=0,                                      width=0,                                  height=0,                 ...
 
Boris Egorov:

MQL5の開発者は、OpenCL/CUDAではなく、MQL5でコードを書くべきだ。そして、すべてのビデオカードのコア(CU)は、最適化のために利用可能なコアのリストで、普通のコアとして表示されるべきだ

私はそう思う.

MQL5でコードを書き、GPUでタスクを計算する機会が与えられたのに、なぜ騒いでいるのですか?

もう一つの疑問は、GPUで解決できるタスクとできないタスクの範囲を理解していないことだ。

https://habr.com/ru/company/combox/blog/425731/。

最適化タスクを並列化できるのであれば、GPUを使いましょう。

 
Igor Makanu:

MQL5でコードを書き、GPUでタスクを計算することが可能であるかのように。


で計算することが可能であるかのようだ。

OpenCLはなく、フレームワークの接続があり、何を計算するかを指示するだけなので、個人的にはCPUよりもGPUからファームを構築する方が簡単だ。

 
Boris Egorov:

python/#で行われているのと同じように。

そこにはOpenCLはなく、フレームワーク接続だ。

すべてが正しく、フレームワークはGPUタスク用にカスタマイズされている。


となると、質問はMQL5に対してではなく、MQL5用のフレームワークのクリエイターに対して なのだが、残念ながら彼ら(フレームワーク)は存在しない、

SBのalglibや、サードパーティ言語との統合に関する多くの記事がそうだ。

つまり、開発者が書いているように、自分で書け、既製の解決策はないのだ。

 
Igor Makanu:

すべてが正しく、フレームワークはGPUタスク用にカスタマイズされている。


ということは、質問はMQL5に対してではなく、MQL5用のフレームワークの作成者に対してである、

SBにはalglibがあるし、サードパーティ言語との統合に関する記事もたくさんある。

つまり、開発者が書いているように、自分で書け、既成の解決策はないのだ。

そういうわけでもない。

開発者たちは優秀で、ファジー、Alglib、pythonを実装している。なぜクールな開発者たちの貴重な時間を費やして、これだけのものを実装したのだろうか。

もちろん、私たちはニューラルネットワークについて話しているのだが、Alglibは極めて限定的なフレームワークであり、私が間違っていなければフリーではない。

pythonも不満だ.EAのロジックをまったく別の言語に移すにはどうしたらいいか考えてみてほしい。そしてまた戻る.正しくは、そんなことはできない.そして、この痔は何のためにあるのか。

だから、最初からcntkかtenzorflowのどちらかを実装する必要があった.そうすれば、標準的なオプティマイザーも遺伝的アルゴリズムも いらないし、GPUでも問題なく計算できる.