OpenClとそのためのツール。レビューとインプレッション - ページ 7

 
icas:
"そうだ、そうだ、そうだろう "と。しかし、コインにはもう一つの側面がある」(『コーカサスの虜』C)。メタクオーターは、いよいよ「時代についていく」ですね。

何かのきっかけで鉄を続けることになったのでしょうか。そして、鉄は最も早く老化します。


普通のヒーローは常に逆を行く(C)何かの映画の曲です。


個人的には、MT4レベルの最適化でスピードを出すためには、ビデオカードの類も探さなければならないので、少しも気が進まないのですが。そして、最適化はオートトレーディングにおいて、計算コストの面で最も問題となる部分です。

さらに、もし明日、鉄工所の人たちが、同じ課題をもっと納得のいく形で解決できる別の機能を考え出したら、メタクオーツにとっては残念なことになる。結局、ハードウェアの開発者が一番発想が保守的で、隙あらば、これまでの枷を捨てて、他社に先んじるように何かを実装しようとするのです。

ソフトウェアの生産性を向上させる最も効果的な方法は、そのアルゴリズムを改善することです。この道から外れた試みは、特に他の開発者に依存した試みは、非常に惨めな結果に終わることが多いのです。

 
Reshetov:

個人的には、MT4レベルでの最適化のスピードを実現するために、いくつかのウィジェットを探さなければならないことに、全く刺激を受けません。そして、最適化はオートトレーディングにおいて、計算コストの面で最も問題となる部分です。

さらに、もし明日、鉄人たちが、同じタスクに対して、より受け入れやすい解決策を与える他の機能を考えたら、メタクオーツは残念なことになるのです。結局のところ、ハードウェアの開発者は、自分のアイデアに最も保守的でなく、機会があれば、これまでの松葉杖を忘れて競合他社を出し抜くために何かを実装しようとするのです。

ソフトウェアの性能を向上させる最も効果的な方法は、そのアルゴリズムを改善することです。この道から外れた試みはすべて、特に他の開発者に依存した試みは、非常に悪い結果に終わることが多いのです。


MQL5 Cloud Networkを お試しください - 最適化のスピードは今までのMT4にはないほど高速です。大規模な計算では、数千の独立したエージェントを使用すると、1秒間に数百の結果が失敗するのは驚くべきことでしょう。

GPUコンピューティングが基本的な取引アルゴリズムの増加をもたらすとは思えませんが、私たちには遠大な計画があります。次のビルドでは、データ交換や結果の後処理を伴う最も強力な計算ファームを構築することが可能になるなど、興味深いことがたくさんあります。

 
Renat:

GPUコンピューティングによって、基本的な取引アルゴリズムが増えるとは思えませんが、私たちは遠大な計画を持っています。 データ交換や結果の事後分析も 可能な最強の計算ファームを構築 できるようになりますから、次のビルドは非常に興味深いものになるでしょう。

へぇー!エージェントの計算結果をユーザーが閲覧できるようになるんですか?
 
joo:
すげえええええええええええええええええええええええユーザーがエージェントの計算結果にアクセスできるようになるということですか?

その通りです。

エージェントから大量のデータをホスト端末に転送し、計算が完了したら、端末本体で同じExpert AdvisorのOnTesterFinalize()メソッドを自動的に実行することができます。そのため、テスト結果の複雑な後処理を行うことが可能になります。

 
Renat:

その通りです。

エージェントから大量のデータをホスト端末に転送し、計算が完了したら端末本体で同じExpert AdvisorのOnTesterFinalize()メソッドを自動実行することが可能になる。そのため、テスト結果の複雑な後処理を行うことが可能になる。

カッコイイ!!!

また、手遅れになる前に。 エージェント用の OnTesterFinalize() メソッドも望ましい(同じでよいが、ホスト/エージェントの入力パラメータがある)。エージェントマシン上のマップファイル(キャッシュの重い指標など)にアレイを作成し、最終的に正しく削除することです。

 
Renat:

MQL5 Cloud Networkをお試しください - 最適化のスピードは今までのMT4にはないほど高速です。数千の独立したエージェントを使用して、1秒間に数百の結果を出すと、大規模な計算でクラッシュするのは驚くべきことです。

はい、すでにローカルの2コアPCで試しています。残念な結果になってしまいました。MT4が非常に高速に最適化されているのに対し、MT5のエンジンは2コアでほとんど動作しません。

もちろん理論的には、ローカルネットワークに接続されたコンピュータを追加で立ち上げることができ、その分パフォーマンスも上がります。コンピュータに搭載するビデオカードの枚数を増やすことで、性能を向上させることができます。しかし、テスターで最適化速度を上げるために、サーバーラックを購入しなければならない場合、その解決策にはなりません。

もちろん、無料ではありませんが、遠隔分散コンピューティングも 利用可能です。

でも、要はMT4の生産性で今は十分なんです。また、MT5はどんどんハードウェアに依存していくので、そのようなプラットフォームには移行したくありません。


レナット

GPUコンピューティングによって、基本的な取引アルゴリズムが増えるとは思えませんが、私たちは遠大な計画を持っています。

誤解を恐れずに言えば、コンピュータゲーム以外の用途でのGPUコンピューティングは、今のところあまり意味がないのです。ここで話は全く違ってくる。すなわち、3Dグラフィックス、すなわち画像やアニメーションは、メインコンピュータのプロセッサで作成(レンダリング)されるというパラドックスがある。一方では、高速メモリとグラフィックスのための強力なプロセッサとグラフィックスカードを生成するように見えるが、その一方で、3Dで行う必要があるすべての人は、ファンシーグラフィックスを購入していない、マルチコアプロセッサと従来、しかし高速RAM、時には農場にこのすべてのものを組み合わせるとレンダリングを購入します。さらに、レンダリングの結果は、かなり安価なグラフィックカードでも見ることができます(モニター上の画像の品質が大きな役割を果たします)。

ビデオカードメーカーは、このままでは利益が出ないので、自分たちの手で状況をコントロールしようとしているのは明らかです。しかし、今のところ非常にうまくいっていない。つまり、ある種のビデオカードに対応したレンダリングソフトが登場したのですが、計算してみると、品質と価格の比率がGPUに有利でないことが判明したのです。広告代理店や印刷会社は、GPUで素早く処理してバグを修正するよりも、通常のマルチコアやファームで3D画像をレンダリングするのを待ちたいのですが、最高品質でレンダリングすることはできません。レンダラはGPUへの移行を急がない。この場合、彼らのソフトウェアはビデオカードメーカーに依存することになり、特定のハードウェアに縛られることは顧客の意欲をそぐだけだからだ。

もし、メタクォーツ社が3Dグラフィックス用のファームを開発しているのであれば、この措置は理解できる。ただ、IMHOとしては、あまり無理をせず、グラフィックスカードメーカーがキャリブレーションを行うまで待ったほうがいいと思うので、時間の無駄です。

とはいえ、ボスである私が決めることではありません。しかし、ポイントはそのまま、つまり、ハードウェアに依存するソフトウェアに乗り換える気はないし、すぐには現れないということです。

 
Reshetov:

はい、すでにローカルの2コアPCで試しました。結果は残念なものでした。MT5で試しましたが、MT4は非常に高速な最適化を示しています。

デュアルコアで2000エージェントのMQL5 Cloud Networkを試されましたか?

それとも、ローカルパスを1本走らせて、それで休んでいたのでしょうか?

数百倍、数千倍という単純な高速化を実現したのは、MQL5クラウドネットワークのおかげです。GPUなしで、どのExpert Advisorでも。MQL5 Cloud Networkを使った計算の高速 化の例を動画で紹介します。


もちろん理論的には、ローカルネットワーク上で追加のコンピュータを動かすことができ、その分パフォーマンスも上がります。もっと多くのビデオカードを接続しても、性能は上がるはずです。しかし、テスターで最適化速度を上げるためには、サーバーラックを購入する必要があり、これは解決策ではありません。

もちろん、無料ではありませんが、遠隔分散コンピューティングも利用可能です。

数千のエージェントをワンボタンで瞬時に引き上げ(ネットワークウォームアップ時間約20~30秒)、素早くタスク計算ができるようにしました。何百時間もかけるのではなく、本当に30分もあれば終わります。

しかも、価格は誰でも確認でき、MQL5.comで登録した人にはもれなく2ドルのボーナスがつくという、とんでもないものです。

これは本当の革命です。今では、どんなユーザーでも、クルーデスを使うことでほとんど全てのスーパーコンピュータを肩代わりすることができる。そして、GPUの導入(金曜日にビルドが公開される予定)により、スーパーコンピュータを群れで倒すことが可能になる。


しかし、問題の本質は、今のところMT4の生産性で十分だということです。また、MT5がハードウェアに依存するようになると、このプラットフォームには移行したくありません。

単純なケースであれば、生産性は十分(というか、自分で保証している)。膨大で細かい計算をするには、パワーが足りません。

MT4とMT5のテスターを比較する際の間違いは、多通貨を正確にテストするためのディテールと能力が大きく異なることに人々が目をつぶっていることです。

ハードウェアの依存性についても的外れでしたね。

  • MT5は32ビットと64ビットの両方のアーキテクチャをサポートしています(64ビット版の方が実際に高速で強力です)。
  • MT5ではすべてのローカルコアを使用
  • MT5は、リモートエージェント(32ビット、64ビット)を使用します。
  • MT5はMQL5クラウドネットワークを利用しており、ノートPCの数千倍の性能を持つコンピュータから計算結果を受け取ることができます。
  • MT5はハードウェアに依存しないOpenCLを採用しており、様々なGPUプロセッサーと連携可能です

自分が間違っていることを明確に認識した上で、あからさまな希望的観測をしているのですね。


ゲーム開発者は、利益が流れていくこの状況に満足せず、自分たちの手で状況をコントロールしようとすることは明らかです。しかし、今のところ非常にうまくいっていない。つまり、ある系統のビデオカードに対応したレンダリング用のソフトウェアが登場したのですが、計算してみると、品質と価格の比率がGPUに有利でないことがわかります。広告代理店や印刷会社は、GPUで素早く処理してバグを修正するよりも、通常のマルチコアやファームで3D画像をレンダリングするのを待ちたいのですが、最高品質でレンダリングすることはできません。レンダラはGPUへの移行を急がない。この場合、ソフトウェアがビデオカードメーカーに依存することになり、特定のハードウェアに縛られることは顧客の意欲をそぐだけだからだ。

私はGPUの擁護者ではありませんが(長い間、率直に反対してきました)、あなたの結論は間違っています。

開発者はまだこの方向に信じていないため、GPU用のソフトウェアはありませんが、特定のハードウェアに神話上のバインディングを繰り返していないです。良識のために、OpenCLとは何か、何のために発明されたのか(ハードウェアやプラットフォームに依存しない)くらいは読んでおきたいものです。

企業は、惰性と確立されたプロセスのために、ソフトウェアレンダリングを使用せざるを得ないだけです。企業にソフトウェアを変更させるのは大変なことで、今後3~5年間は不可能な場合が多い。この3年間のGPUの飛躍と、その作者による普遍化の強調がはっきりと見えることから、結果の向上だけでなく、新機能の追求も積極的に行うことが妥当であると考えます。


メタクォーツが3Dグラフィックス用のファームを開発するのであれば、このような措置もまだ理解できるのですが。そして今、IMHOは、あまり無理をせず、ビデオカードメーカーがすべて落ち着くまで待ったほうがいいと思うので、時間の無駄でしかありません。

とはいえ、ボスである私が決めることではありません。しかし、ポイントはそのまま、つまり、ハードウェアに依存するソフトウェアに乗り換える気はないし、すぐには現れないということだ。

私たちも長い間待ち、批判し、反対してきましたが、その時が来ました。

そして、「ハードウェアに依存するソフトウェア」についての再確認は、今回で3回目となる。

 
Reshetov:

はい、すでにローカルの2コアPCで試しました。結果は残念なものでした。MT4は高速に最適化されるのに、MT5では2コアでやっとという残念な結果です。

主に、他のすべてが同じである場合、MT5はより良いティック履歴モデリングを使用しているため、MT5でのテスト速度はMT4よりも遅くなります。速度を大幅に低下させることができます。ただ、MQではMT4のようにもっとシンプルなティック生成方法(ティックを全く使わないテストのバリエーションも)を実装してほしいという希望があります(そういう要望も多く、最近の工夫を見ると実装される希望はありますね)。

レシェトフ

細かいことを言えば、GPUコンピューティングはコンピュータゲーム以外ではあまり役に立ちません。ここでは、話はまったく違う。すなわち、3Dグラフィックス、すなわち画像やアニメーションは、メインコンピュータのプロセッサで作成(レンダリング)されるというパラドックスがある。一方では、高速メモリとグラフィックスのための強力なプロセッサとグラフィックスカードを生成するように見えるが、その一方で、3Dで行う必要があるすべての人は、派手なグラフィックスを購入していない、マルチコアプロセッサと従来、しかし高速RAM、時には農場にこのすべてのものを組み合わせるとレンダリングを購入します。さらに、レンダリングの結果は、かなり安価なグラフィックカードでも見ることができます(モニター上の画像の品質が大きな役割を果たします)。

ビデオカードメーカーは、このままでは利益が出ないので、自分たちの手で状況をコントロールしようとしているのは明らかです。しかし、今のところ非常にうまくいっていない。つまり、ある種のビデオカードに対応したレンダリングソフトが登場したのですが、計算してみると、品質と価格の比率がGPUに有利でないことが判明したのです。 広告代理店や印刷会社は、GPUで素早く処理してバグを修正するよりも、通常のマルチコアやファームで3D画像をレンダリングするのを待ちたいのですが、最高品質でレンダリングすることはできません。レンダラはGPUへの移行を急がない。この場合、彼らのソフトウェアはビデオカードメーカーに依存することになり、特定のハードウェアに縛られることは顧客の意欲をそぐだけだからだ。

メタクォーツが3Dグラフィックス用のファームを開発しているのであれば、この措置は理解できるのですが。しかし、IMHOは、あまり無理をせず、ビデオカードメーカーがすべて落ち着くまで待ったほうがいいと思うので、時間の無駄だと思います。

状況はほぼ正反対です。未来を考える人は皆、GPUコンピューティングに切り替えています。ビデオコンピュータからスーパーコンピュータを作っているのです。

今やGPUは、映像、音声、写真、そして力学や静力学の強度計算まで、あらゆるものを計算します。

非公式情報です。
CUDAに関する一般的な情報
http://www.gpgpu.ru/
http://www.computerra.ru/interactive/423392/
http://cgm.computergraphics.ru/issues/issue16/cuda
http://www.ixbt.com/video3/cuda-1.shtml
http://www.ixbt.com/video3/cuda-2.shtml
http://www.thg.ru/graphic/nvidia_cuda_test/print.html
http://www.thg.ru/graphic/nvidia_cuda/print.html
https://ru.wikipedia.org/wiki/CUDA

CUDAドキュメント
http://www.uraldev.ru/articles/id/33
http://www.steps3d.narod.ru/tutorials/cuda-tutorial.html

CUDAの例と記事
http://www.codeproject.com/info/search.aspx?artkw=CUDA

印刷された文献。
http://www.ozon.ru/context/detail/id/5080841/
http://www.ozon.ru/context/detail/id/5432077/


公式情報です。

関連技術
http://www.khronos.org/opencl/

http://www.nvidia.ru/object/cuda_home_new_ru.html
http://nvidia.custhelp.com/cgi-bin/nvidia.cfg/php/enduser/std_alp.php

http://developer.nvidia.com/object/gpucomputing.html
http://developer.nvidia.com/object/cuda_3_2_downloads.html
http://developer.nvidia.com/page/documentation.html
http://developer.nvidia.com/object/nsight-downloads.html

CUDAコード例

http://developer.download.nvidia.com/compute/cuda/sdk/website/samples.html

アプリケーション

http://www.nvidia.ru/object/cuda_research_ru.html

コミュニティからのデモ

http://www.nvidia.ru/object/cuda_apps_flash_new_ru.html


これらはほとんどCUDAのリンク(隠し場所から引っ張ってきた)ですが、すべてOpenCLにもそのまま適用できます。それに、CUDA(ハードウェアに依存する技術)よりもOpenCL(ハードウェアに依存しない技術)の方が将来性がある。


レシェトフ
マスターがボスなので、私が決めることではありませんが。しかし、本質は変わらない。つまり、ハードウェアに依存するソフトウェアに乗り換えたいという願望は、今も、そしてこれからも現れないだろう。

昔ながらのCPU用のプログラムを書くことを誰も止めはしない。すべてのプログラムが動作します。


ZSレナートに 先を越された。

 

joo:

...

ZSレナートに 先を越された。

二刀流。情報は決して余分なものではありません。:)非常に有益なブランチ、それはダウンしないように、固定されることさえあるはずです。
 
icas:
Renatさん、MT4でOpenCLのサポートはあるのでしょうか?

残念ながら、そうではありません。

しかし、来週にはMetaTrader 4の大きなアップデートがあり、今週には新しいMetaTrader 4 for iPhone/iPadが発売される予定です。