OpenCL:MQL5での内部実装テスト - ページ 56 1...495051525354555657585960616263...70 新しいコメント Sceptic Philozoff 2012.04.20 16:12 #551 Ashes: 役に立たなかった。何をしたのか、具体的に教えてください。AMDのAPP SDKを倒したところから始まっています。ところで、ParallelTester_00-01xスクリプトのCLContextCreate()関数に 0というパラメータを挿入していないかもしれません(ホスト(CPU)上で実行される可能性がある)。私の記事には書かれていませんでしたが。 Andrey Sharov 2012.04.20 16:38 #552 Mathemat: 何をしたのか、具体的に教えてください。AMDのAPP SDKをパクったところから始まって。適切なSetup.exe、Uninstallを実行し、AMD APP SDKをアンインストールします。リブートされました。Intel OCL (intel_ocl_sdk_1.5_x64_setup.exe) をインストール、RunTimeのみ。リブートされました。MT5を実行 - 結果が出ない。ご助言によりレジストリを修正しました。MT5をリロードした - がっかり。mql5さんの アドバイスに従ってパスを追加し、引用符の有無、x64、x32で試して みました。レジスタの各修正後、私のMT5を再び使用し、私の使用 - 同じ古い卵、片側のビューのみ。 これでHKEY_LOCAL_MACHINEは以下のようになります。(初期設定)REG_SZ (値は割り当てられない)C:\Program Files (x86)\IntelOpenCL SDK1.5bin↵ REG_DWORD 0x00000000 (0) Sceptic Philozoff 2012.04.20 16:53 #553 Ashes: 現在、HKEY_LOCAL_MACHINEは以下のような状態になっています。(初期設定)REG_SZ (値は割り当てられない)C:\Program Files (x86)\IntelOpenCL SDK 1.5bin╱x86╱intelocl.dll REG_DWORD 0x00000000 (0)中を見たことがありますか?例えば私は、このパスに何も持っていません(しかし、私はランタイムだけをダウンロードしてインストールしました、多分それはない理由です)。 そして2つ目は、フルパスなしでintelocl.dllを作ったところです。どうせランタイムインストール時に登録されたんだろうけど。追伸:フルパスで実験してみました。Metatraderは、フルパス(両方)のOpenCLを見ません。しかし、intelocl.dllという名前だけにすると、コンピュータを再起動しなくても、すべてがすぐに見えるようになるのです。システム内に存在する同名の2つのファイルから「正しい」ファイルを選択する方法がわからない。その経過をここで報告してください。それでも面白い、ニュアンスがあるのかもしれませんね。私自身、今までずっと悩んできて、結果的に「ごちゃごちゃ」してしまいましたが、とても気に入っています。追伸:ちなみに、Intelのリソースにいたとき、Intel SDKを完全にアンインストールしてから再インストールすることを勧められた。つまり、単にアンインストールするだけでなく、system32とsysWOW64ディレクトリに入ってinteloclに関連するものをすべて削除すること。intelocl*.dll、opencl*.dllなどのファイルです。この辺りは、http://software.intel.com/en-us/forums/intel-opencl-sdk/。 見つけたら、より正確なリンクを投げます。お役立ちリンク: http://software.intel.com/en-us/articles/opencl-release-notes/そして、ここ - 特に有用です: http://software.intel.com/en-us/forums/showthread.php?t=102023&o=a&s=lr, そこにUri Levy (Intel) のアドバイスが本当に役に立つかもしれません。とにかく、タンバリンゲームであることに変わりはない。 Sceptic Philozoff 2012.04.20 20:47 #554 MetaDriver(p. 53):これは、CPU(私の場合はデバイス1)上です。CLContextCreate(device)パラメータをスクリプトパラメータに引き込みました。 オプションを全てつつくことができます。面白いのは、これだ。 630ビルドのこのスクリプトは、なぜかそのように実行されないのです。メッセージはなく、ループに入り、石を100%まで読み込みます。そして、合理的な時間を超えることはありません。でも、すでにインテルのランタイムは持っています。 Vladimir Gomonov 2012.04.20 22:33 #555 Mathemat:面白いのは、その方法です。 630ビルドのこのスクリプトは、なぜかそのように実行されないのです。メッセージはなく、ループに入り、石を100%ロードします。そして、合理的な時間を超えることはありません。でも、すでにインテルのランタイムは持っています。再コンパイルすると、正常に動作するようになりました。2012.04.21 00:33:21 ParallelTester_00-02-{16 x7x3} (EURUSD,M1) CpuTime/GpuTime = 326.6 2012.04.21 00:33:21 ParallelTester_00-02-{16 x7x3} (EURUSD,M1) Result on Cpu МахResult==4.15901 at 208 pass 2012.04.21 00:33:21 ParallelTester_00-02-{16 x7x3} (EURUSD,M1) Соunt inticators = 16; Count history bars = 50000; Count pass = 512 2012.04.21 00:33:21 ParallelTester_00-02-{16 x7x3} (EURUSD,M1) CPU time = 40825 ms 2012.04.21 00:32:40 ParallelTester_00-02-{16 x7x3} (EURUSD,M1) Result on Gpu МахResult==4.15901 at 208 pass 2012.04.21 00:32:40 ParallelTester_00-02-{16 x7x3} (EURUSD,M1) Соunt inticators = 16; Count history bars = 50000; Count pass = 512 2012.04.21 00:32:40 ParallelTester_00-02-{16 x7x3} (EURUSD,M1) GPU time = 125 ms 2012.04.21 00:32:40 ParallelTester_00-02-{16 x7x3} (EURUSD,M1) OpenCL init OK! ファイル: ParallelTester_00-02-416x7x3j.ex5 28 kb Sceptic Philozoff 2012.04.21 00:55 #556 MetaDriver: 再コンパイルしましたら、正常に動作するようになりました。それはCPUに搭載されているのか!まあ、もしそうなら怖いけど...。興奮するのが早かった。実行してみたが、意味がなかった。 EAのログに一度も書き込みがない。スクリプトが始まってすぐに岩盤全体を埋め尽くしたが。つまり、何かを叩いたが、CLContextCreate() にたどり着けなかった(たどり着けば何か言うはずなんだけどな)。これは新しいことです。AMD SDKでコンパイルされたコードをIntelランタイムが理解できないようです。OCL_Deviceに0と-1の両方を設定しました。効果なし。一般的に、プラットフォームを選べないのは不便です。それができればいいんですけどね。再インストールはもう嫌だ。 Vladimir Gomonov 2012.04.21 04:28 #557 Mathemat:それはCPUに搭載されているのか!まあ、もしそうなら怖いけど...。いいえ、GPUにです。しかし、OpenCLのデバイスは選択可能です。ここでCPUに。2012.04.21 06:20:18 ParallelTester_00-02-{16 x7x3} (EURUSD,M1) CpuTime/GpuTime = 74.28571428571429 2012.04.21 06:20:18 ParallelTester_00-02-{16 x7x3} (EURUSD,M1) Result on Cpu МахResult==3.53209 at 36 pass 2012.04.21 06:20:18 ParallelTester_00-02-{16 x7x3} (EURUSD,M1) Соunt inticators = 16; Count history bars = 50000; Count pass = 512 2012.04.21 06:20:18 ParallelTester_00-02-{16 x7x3} (EURUSD,M1) CPU time = 40560 ms 2012.04.21 06:19:38 ParallelTester_00-02-{16 x7x3} (EURUSD,M1) Result on Gpu МахResult==3.53209 at 36 pass 2012.04.21 06:19:38 ParallelTester_00-02-{16 x7x3} (EURUSD,M1) Соunt inticators = 16; Count history bars = 50000; Count pass = 512 2012.04.21 06:19:38 ParallelTester_00-02-{16 x7x3} (EURUSD,M1) GPU time = 546 ms 2012.04.21 06:19:37 ParallelTester_00-02-{16 x7x3} (EURUSD,M1) OpenCL init OK! 興奮するのが早かった。実行してみたが、意味がなかった。 EAのログに一度も書き込みがない。しかし、スクリプトが起動してすぐに岩盤全体を埋め尽くしてしまう。つまり、何かを叩いても、CLContextCreate()にたどり着かないのです(もしそうなら、何かを言うはずですよね?)。何か新しいものを。IntelのランタイムがAMD SDKでコンパイルされたコードを理解できないようなのです。OCL_Deviceに0と-1の両方を設定しました。効果なし。一般的に、プラットフォームが選択できないのは不便です。そのような機会があることが望ましいと思います。再インストールはもう嫌だ。やばい、ランサムウェアだ(笑)では、ソースコードです。好きなように使ってください。AMD SDKではコンパイルできません。少なくともOCLのコードではそうなっています。OCLプログラムは、mqlコードの実行中にコンパイルされます。OCLスナップインからのEX5ファイルは、mql/ocl-driverのブリッジ関数のみをコンパイルしています。ドライバのメーカーによって異なるマシンコードにコンパイルされているとは思えません。この点については、開発者にしかわからないことですが。 ファイル: ParallelTester_00-02-z16x7x3i.mq5 14 kb Sceptic Philozoff 2012.04.21 06:44 #558 MetaDriver: AMD SDKでコードがコンパイルされない。 理解できます、私の話し方が悪かったのです(まあ、私はコーダー・プロではないのですが)。しかし、それでもOpenCLの「ライブラリ」ベンダー(APIではなく内部関数そのもの)に依存する。 Andrey Sharov 2012.04.21 11:13 #559 Mathemat:そちらで確認されましたか?私などは、このパスにそのようなものはありません(でも、ランタイムをダウンロードしてインストールしただけなので、それが理由かもしれません)。 そして2つ目は、フルパスなしでintelocl.dllを作ったところです。どうせランタイムのインストール時に登録されたんだろうけど。...裸の "intelocl.dll "は、最初にチェックされたものの一つである。x64とx86の両方のフォルダにその名前のファイルがあります。 Sceptic Philozoff 2012.04.21 16:38 #560 Ashes: 裸の "intelocl.dll "は、最初にチェックされたものの一つである。x64とx86の両方のフォルダにその名前のファイルがあります。 その時、どうしたらいいのかわからない。サポートチームが ヒントをくれるまで、解決策を探して自分を苦しめていたんだ。おそらく完全な解決策ではないでしょうが、私のパソコンではうまくいきました。 おそらく最初に学ぶべきは、以前のSDKの痕跡をきれいに消す方法でしょう。 1...495051525354555657585960616263...70 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
何をしたのか、具体的に教えてください。AMDのAPP SDKを倒したところから始まっています。
ところで、ParallelTester_00-01xスクリプトのCLContextCreate()関数に 0というパラメータを挿入していないかもしれません(ホスト(CPU)上で実行される可能性がある)。私の記事には書かれていませんでしたが。
何をしたのか、具体的に教えてください。AMDのAPP SDKをパクったところから始まって。
適切なSetup.exe、Uninstallを実行し、AMD APP SDKをアンインストールします。リブートされました。
Intel OCL (intel_ocl_sdk_1.5_x64_setup.exe) をインストール、RunTimeのみ。リブートされました。
MT5を実行 - 結果が出ない。ご助言によりレジストリを修正しました。MT5をリロードした - がっかり。
mql5さんの アドバイスに従ってパスを追加し、引用符の有無、x64、x32で試して みました。レジスタの各修正後、私のMT5を再び使用し、私の使用 - 同じ古い卵、片側のビューのみ。
これでHKEY_LOCAL_MACHINEは以下のようになります。
(初期設定)REG_SZ (値は割り当てられない)
C:\Program Files (x86)\IntelOpenCL SDK1.5bin↵ REG_DWORD 0x00000000 (0)
(初期設定)REG_SZ (値は割り当てられない)
C:\Program Files (x86)\IntelOpenCL SDK 1.5bin╱x86╱intelocl.dll REG_DWORD 0x00000000 (0)
中を見たことがありますか?例えば私は、このパスに何も持っていません(しかし、私はランタイムだけをダウンロードしてインストールしました、多分それはない理由です)。
そして2つ目は、フルパスなしでintelocl.dllを作ったところです。どうせランタイムインストール時に登録されたんだろうけど。
追伸:フルパスで実験してみました。Metatraderは、フルパス(両方)のOpenCLを見ません。しかし、intelocl.dllという名前だけにすると、コンピュータを再起動しなくても、すべてがすぐに見えるようになるのです。
システム内に存在する同名の2つのファイルから「正しい」ファイルを選択する方法がわからない。
その経過をここで報告してください。それでも面白い、ニュアンスがあるのかもしれませんね。私自身、今までずっと悩んできて、結果的に「ごちゃごちゃ」してしまいましたが、とても気に入っています。
追伸:ちなみに、Intelのリソースにいたとき、Intel SDKを完全にアンインストールしてから再インストールすることを勧められた。つまり、単にアンインストールするだけでなく、system32とsysWOW64ディレクトリに入ってinteloclに関連するものをすべて削除すること。intelocl*.dll、opencl*.dllなどのファイルです。この辺りは、http://software.intel.com/en-us/forums/intel-opencl-sdk/。 見つけたら、より正確なリンクを投げます。
お役立ちリンク: http://software.intel.com/en-us/articles/opencl-release-notes/
そして、ここ - 特に有用です: http://software.intel.com/en-us/forums/showthread.php?t=102023&o=a&s=lr, そこにUri Levy (Intel) のアドバイスが本当に役に立つかもしれません。とにかく、タンバリンゲームであることに変わりはない。
これは、CPU(私の場合はデバイス1)上です。
CLContextCreate(device)パラメータをスクリプトパラメータに引き込みました。 オプションを全てつつくことができます。
面白いのは、これだ。
630ビルドのこのスクリプトは、なぜかそのように実行されないのです。メッセージはなく、ループに入り、石を100%まで読み込みます。そして、合理的な時間を超えることはありません。でも、すでにインテルのランタイムは持っています。
面白いのは、その方法です。
630ビルドのこのスクリプトは、なぜかそのように実行されないのです。メッセージはなく、ループに入り、石を100%ロードします。そして、合理的な時間を超えることはありません。でも、すでにインテルのランタイムは持っています。
再コンパイルすると、正常に動作するようになりました。
それはCPUに搭載されているのか!まあ、もしそうなら怖いけど...。
興奮するのが早かった。実行してみたが、意味がなかった。 EAのログに一度も書き込みがない。スクリプトが始まってすぐに岩盤全体を埋め尽くしたが。つまり、何かを叩いたが、CLContextCreate() にたどり着けなかった(たどり着けば何か言うはずなんだけどな)。
これは新しいことです。AMD SDKでコンパイルされたコードをIntelランタイムが理解できないようです。OCL_Deviceに0と-1の両方を設定しました。効果なし。
一般的に、プラットフォームを選べないのは不便です。それができればいいんですけどね。再インストールはもう嫌だ。
それはCPUに搭載されているのか!まあ、もしそうなら怖いけど...。
いいえ、GPUにです。しかし、OpenCLのデバイスは選択可能です。ここでCPUに。
興奮するのが早かった。実行してみたが、意味がなかった。 EAのログに一度も書き込みがない。しかし、スクリプトが起動してすぐに岩盤全体を埋め尽くしてしまう。つまり、何かを叩いても、CLContextCreate()にたどり着かないのです(もしそうなら、何かを言うはずですよね?)。
何か新しいものを。IntelのランタイムがAMD SDKでコンパイルされたコードを理解できないようなのです。OCL_Deviceに0と-1の両方を設定しました。効果なし。
一般的に、プラットフォームが選択できないのは不便です。そのような機会があることが望ましいと思います。再インストールはもう嫌だ。
やばい、ランサムウェアだ(笑)
では、ソースコードです。好きなように使ってください。
AMD SDKではコンパイルできません。少なくともOCLのコードではそうなっています。OCLプログラムは、mqlコードの実行中にコンパイルされます。OCLスナップインからのEX5ファイルは、mql/ocl-driverのブリッジ関数のみをコンパイルしています。ドライバのメーカーによって異なるマシンコードにコンパイルされているとは思えません。この点については、開発者にしかわからないことですが。
そちらで確認されましたか?私などは、このパスにそのようなものはありません(でも、ランタイムをダウンロードしてインストールしただけなので、それが理由かもしれません)。
そして2つ目は、フルパスなしでintelocl.dllを作ったところです。どうせランタイムのインストール時に登録されたんだろうけど。
...
裸の "intelocl.dll "は、最初にチェックされたものの一つである。x64とx86の両方のフォルダにその名前のファイルがあります。
その時、どうしたらいいのかわからない。サポートチームが ヒントをくれるまで、解決策を探して自分を苦しめていたんだ。おそらく完全な解決策ではないでしょうが、私のパソコンではうまくいきました。
おそらく最初に学ぶべきは、以前のSDKの痕跡をきれいに消す方法でしょう。