ビルド 3902 からの AVX / AVX2 + FMA3 / AVX512 + FMA3 命令セットによる MQL5 プログラムのコンパイル - ページ 3 12345678910...12 新しいコメント Renat Fatkhullin 2023.09.01 13:57 #21 注意散漫:人々はなぜウィンドウズ11が最新のプロセッサーを必要とするのか理解していない。彼らはTPMの議論に脱線する。 実際、マイクロソフトの技術者は、OSのカーネルやアプリケーションを錆びたバケツの下でコンパイルするのをやめ、少なくともAVXに切り替えることを夢見ている。そうすれば、スピードと能力を向上させることができるだろう。 しかし、彼らはまだ切り替えていない。非互換性を恐れ、それを引きずっているのだ。 lynxntech 2023.09.01 14:01 #22 AVX2ターミナルが後日リリースされるという情報を見逃していました。 AVX2とFMA3を使用して構築された第3バージョンのターミナルを間もなくリリース する予定です。 fxsaber 2023.09.01 14:02 #23 Renat Fatkhullin #:注意散漫:人々はなぜウィンドウズ11が最新のプロセッサーを必要とするのか理解していない。TPMの議論に脱線してしまう。実際、マイクロソフトの技術者は、OSカーネル/アプリケーションを錆びついたバケツの下でコンパイルするのをやめ、少なくともAVXに切り替えることを夢見ている。そうすれば、スピードと機能を向上させることができるだろう。しかし、彼らはAVXに切り替えず、非互換性を恐れて足を引っ張っている。 ここにいる皆さんは、EX5の実行速度やテスターを使った端末のガットの方がよっぽど気になると思います。 Renat Fatkhullin 2023.09.01 14:06 #24 fxsaber #:ここにいるみんなは、EX5のスピードやテスターで端末をガッツポーズすることのほうがずっと気になっていると思う。 Windowsの最適化レベルは、Windowsで実行されるすべてのプログラムのパフォーマンスの根本にある。 というのも、すべてのプログラムはWindows APIを大量に使用しており、AVX/AVX2などのことはまったくわからないからだ。しかし、場所によっては、オペレーティング・システムはもっと速く結果を出すことができる。 Renat Fatkhullin 2023.09.01 14:23 #25 根拠がないわけではありません - 私自身は、Ubuntu 22.04で非常に最新のNICの最新バージョン用の公式Intel IAVFオープンソース・ドライバを ビルドしています: make install..../tmp/iavf-4.9.1/src/.iavf.mod.o.cmd cmd_/tmp/iavf-4.9.1/src/iavf.mod.o := gcc -Wp,-MMD,/tmp/iavf-4.9.1/src/.iavf.mod.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/11/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -I./ubuntu/include -include ./include/linux/compiler_types.h -D__KERNEL__-fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE-Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387-mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone-mcmodel=kernel -DCONFIG_X86_X32_ABI-Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix-mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fno-delete-null-pointer-checks-Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member-O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wimplicit-fallthrough=5 -Wno-main -Wno-unused-but-set-variable-Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-clash-protection -g -gdwarf-5 -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -I/tmp/iavf-4.9.1/src-fsanitize=bounds -fsanitize=shift -fsanitize=bool -fsanitize=enum -DMODULE -DKBUILD_BASENAME='"iavf.mod"' -DKBUILD_MODNAME='"iavf"' -D__KBUILD_MODNAME=kmod_iavf-c -o /tmp/iavf-4.9.1/src/iavf.mod.o /tmp/iavf-4.9.1/src/iavf.mod.c 明示的に無効化:sse、sse2、mmx、3d now、AVX アドレス・サニタイザーが有効で、コード全体が遅くなる。少なくともO2最適化は有効になっている。 Intel x710/810 NICが効率よく、最小限のレイテンシで動作することを望むにはどうしたらいいでしょうか?オペレーティング・システム全体では、カーネルとドライバを最低限ビルドする必要があります。 Compilation of MQL5 programmes Machine Learning and Neural Programming tutorials fxsaber 2023.09.01 15:16 #26 Renat Fatkhullin #:根拠がないわけではない OSを含むソフトウェアの再コンパイル前と再コンパイル後のパフォーマンスを比較した数値を共有するリソースへのリンクを共有する。 Aleksey Nikolayev 2023.09.01 15:52 #27 念のため、EAを実行するのと同じサーバーでEAをコンパイルしなければならない。あるいは、AVXが私のラップトップの間違ったシステムにあることが判明するかもしれない) また、メタクォート・サーバーを使えば、かなり楽しくなる)。 Renat Fatkhullin 2023.09.01 16:04 #28 Aleksey Nikolayev #:念のため、EAを実行するのと同じサーバーでEAをコンパイルしなければならない。あるいは、AVXが私の仕事用ラップトップの間違ったシステムに入ってしまうかもしれない)また、メタクォート・サーバーを使えば、かなり楽しくなる)。 私たちのVPSネットワークでは、すべてのサーバーに少なくともAVXが搭載されています。ほとんどはAVX2です。 Renat Fatkhullin 2023.09.01 16:09 #29 fxsaber #:オペレーティング・システムを含むソフトウェアの再コンパイル前と再コンパイル後のパフォーマンス比較の数値を共有するリソースへのリンクを共有する。 すべてgoogleにあります。 合成テストは、特にハードウェアメーカーのものは、あまり明らかになりません。結論を出すには、多くのベンチマークをチェックする必要があります。 自分のケースを理解した上で、自分のプログラムですべてをテストする必要がある。フロート/ダブルの重い数学はよく加速される。そしてコンパイラは正しいはずだ。 Renat Fatkhullin 2023.09.01 16:28 #30 MetaQuotes-Demoで利用可能な現在のベータ版3905では、MQL5用の情報を拡張しました: void OnStart() { Print("CPU name: ",TerminalInfoString(TERMINAL_CPU_NAME)); Print("CPU cores: ",TerminalInfoInteger(TERMINAL_CPU_CORES)); Print("CPU architecture: ",TerminalInfoString(TERMINAL_CPU_ARCHITECTURE)); // новое Print(""); Print("EX5 architecture: ",__CPU_ARCHITECTURE__); // новое } CPU name: 12th Gen Intel Core i9-12900K CPU cores: 24 CPU architecture: AVX2 + FMA3 EX5 architecture: AVX ターミナルが動作しているプロセッサの能力をその場で認識することができます。 文字列マクロ__CPU_ARCHITECTURE__を 使用すると、EX5ファイルがどのコマンドセット用にビルドされているかを調べ、チェックすることができます。 ロードに失敗した場合は、次のように記述する: your CPU architecture does not allow to run the file 'test.ex5', AVX512 required, you have AVX2 12345678910...12 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
注意散漫:人々はなぜウィンドウズ11が最新のプロセッサーを必要とするのか理解していない。彼らはTPMの議論に脱線する。
実際、マイクロソフトの技術者は、OSのカーネルやアプリケーションを錆びたバケツの下でコンパイルするのをやめ、少なくともAVXに切り替えることを夢見ている。そうすれば、スピードと能力を向上させることができるだろう。
しかし、彼らはまだ切り替えていない。非互換性を恐れ、それを引きずっているのだ。
AVX2ターミナルが後日リリースされるという情報を見逃していました。
AVX2とFMA3を使用して構築された第3バージョンのターミナルを間もなくリリース する予定です。
注意散漫:人々はなぜウィンドウズ11が最新のプロセッサーを必要とするのか理解していない。TPMの議論に脱線してしまう。
実際、マイクロソフトの技術者は、OSカーネル/アプリケーションを錆びついたバケツの下でコンパイルするのをやめ、少なくともAVXに切り替えることを夢見ている。そうすれば、スピードと機能を向上させることができるだろう。
しかし、彼らはAVXに切り替えず、非互換性を恐れて足を引っ張っている。
ここにいる皆さんは、EX5の実行速度やテスターを使った端末のガットの方がよっぽど気になると思います。
ここにいるみんなは、EX5のスピードやテスターで端末をガッツポーズすることのほうがずっと気になっていると思う。
Windowsの最適化レベルは、Windowsで実行されるすべてのプログラムのパフォーマンスの根本にある。
というのも、すべてのプログラムはWindows APIを大量に使用しており、AVX/AVX2などのことはまったくわからないからだ。しかし、場所によっては、オペレーティング・システムはもっと速く結果を出すことができる。
根拠がないわけではありません - 私自身は、Ubuntu 22.04で非常に最新のNICの最新バージョン用の公式Intel IAVFオープンソース・ドライバを ビルドしています:
....
/tmp/iavf-4.9.1/src/.iavf.mod.o.cmd
cmd_/tmp/iavf-4.9.1/src/iavf.mod.o := gcc -Wp,-MMD,/tmp/iavf-4.9.1/src/.iavf.mod.o.d -nostdinc
-isystem /usr/lib/gcc/x86_64-linux-gnu/11/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi
-I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h
-I./ubuntu/include -include ./include/linux/compiler_types.h
-D__KERNEL__
-fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE
-Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security
-std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387
-mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone
-mcmodel=kernel -DCONFIG_X86_X32_ABI
-Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix
-mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fno-delete-null-pointer-checks
-Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member
-O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wimplicit-fallthrough=5 -Wno-main -Wno-unused-but-set-variable
-Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-clash-protection -g -gdwarf-5 -pg
-mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds
-Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -fno-strict-overflow -fno-stack-check
-fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -I/tmp/iavf-4.9.1/src
-fsanitize=bounds -fsanitize=shift -fsanitize=bool -fsanitize=enum -DMODULE -DKBUILD_BASENAME='"iavf.mod"' -DKBUILD_MODNAME='"iavf"' -D__KBUILD_MODNAME=kmod_iavf
-c -o /tmp/iavf-4.9.1/src/iavf.mod.o /tmp/iavf-4.9.1/src/iavf.mod.c
明示的に無効化:sse、sse2、mmx、3d now、AVX
アドレス・サニタイザーが有効で、コード全体が遅くなる。少なくともO2最適化は有効になっている。
Intel x710/810 NICが効率よく、最小限のレイテンシで動作することを望むにはどうしたらいいでしょうか?オペレーティング・システム全体では、カーネルとドライバを最低限ビルドする必要があります。
根拠がないわけではない
OSを含むソフトウェアの再コンパイル前と再コンパイル後のパフォーマンスを比較した数値を共有するリソースへのリンクを共有する。
念のため、EAを実行するのと同じサーバーでEAをコンパイルしなければならない。あるいは、AVXが私のラップトップの間違ったシステムにあることが判明するかもしれない)
また、メタクォート・サーバーを使えば、かなり楽しくなる)。
念のため、EAを実行するのと同じサーバーでEAをコンパイルしなければならない。あるいは、AVXが私の仕事用ラップトップの間違ったシステムに入ってしまうかもしれない)
また、メタクォート・サーバーを使えば、かなり楽しくなる)。
私たちのVPSネットワークでは、すべてのサーバーに少なくともAVXが搭載されています。ほとんどはAVX2です。
オペレーティング・システムを含むソフトウェアの再コンパイル前と再コンパイル後のパフォーマンス比較の数値を共有するリソースへのリンクを共有する。
すべてgoogleにあります。
合成テストは、特にハードウェアメーカーのものは、あまり明らかになりません。結論を出すには、多くのベンチマークをチェックする必要があります。
自分のケースを理解した上で、自分のプログラムですべてをテストする必要がある。フロート/ダブルの重い数学はよく加速される。そしてコンパイラは正しいはずだ。
MetaQuotes-Demoで利用可能な現在のベータ版3905では、MQL5用の情報を拡張しました:
ターミナルが動作しているプロセッサの能力をその場で認識することができます。
文字列マクロ__CPU_ARCHITECTURE__を 使用すると、EX5ファイルがどのコマンドセット用にビルドされているかを調べ、チェックすることができます。
ロードに失敗した場合は、次のように記述する: