Der OpenCL-Schlüssel wurde vor der Ausführung entfernt. Das Verhalten hat sich nicht geändert.
Das heißt, der erste Start des Expert Advisors mit CLContextCreate(CL_USE_GPU_ONLY) führt zu den oben genannten Fehlern und der Expert Advisor startet nicht. Ab dem zweiten Durchlauf wird das Initialisierungsprotokoll der OpenCL-Geräte nicht mehr angezeigt, es gibt nur noch einen Fehler im EA-Protokoll und EA funktioniert nicht mehr. Beim Neustart des Terminalsfunktioniert EA mit einem korrigiertenCLContextCreate(0)-Befehl- es erscheint eine mega-realistische Meereslandschaft. Gleichzeitig werden im Initialisierungsprotokoll dieselbenLeistungstestfehler angezeigt, aber im EA-Protokoll herrscht Ruhe.
Der Schlüssel ist leicht verändert:
[HKEY_CURRENT_USER\Software\MetaQuotes Software]
before - "OpenCL"=hex:91,57,f4,f8,2e,0b,19,c5,e9,ef,30,dd,c9,a9,af,8c,00,00,00,00,00,00,00,58,f7,f7,28,88,c5,e1,77,3c,4c,f8,8a,4d,31,88,88,6c,2a,09,a4,b3,d8,e2,3f
после - "OpenCL"=hex:91,57,f4,f8,2e,0b,19,c5,e9,ef,30,dd,c9,a9,af,8c,00,00,00,00,00,00,00,00,58,f7,f7,28,88,c5,e1,77,3c,4c,f8,8a,4d,31,88,88,98,6b,19,ab,41,5c,fd,3f
Im Prinzip ist dieses Verhalten unkritisch, wenn man EA/Skripte fixiert und Geräte umgeht, indem man sie explizit anspricht und das CL_DEVICE_TYPE-Zeichen überprüft. Es ist imho sogar besser, die Aufgaben auf Geräte mit eigener Bewertung zu verteilen. Es ist einfach frustrierend, wenn Initialisierungsfehler auftreten. Wer weiß, wie sich OpenCL in der nächsten Schlacht verhalten wird.
Bitte helfen Sie mir, dasOriginal Intel SDK für OpenCL-Anwendungen 2016 R2 zu finden, um die Kernel zu schreiben und zu testen. Es ist sinnlos, an Intel auf Russisch zu schreiben ;)
Immer, wenn das Skript zum ersten Malausgeführt wird:
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, version10.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, version4.2.0.148, rating 21)
OpenCL device performance test started
OpenCL test compilation failed with error:
':9:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled
:10:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled
:11:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled
:12:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled
:13:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled
:20:4: error: use of type 'double' requires cl_khr_fp64 extension to b
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, version10.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, version4.2.0.148, rating 21)
Scripts script Seascape (GBPUSD,H1) removed
Ich habe ähnliche Fehler, aber vor einem Jahr funktionierte es auf einem schwächeren Tablet problemlos.
OpenCL device #0: GPU Intel(R) Corporation Intel(R) HD Graphics 400 with OpenCL 1.2 (12 units, 600 MHz, 1598 Mb, version20.19.15.4364)
OpenCL device #1: CPU Intel(R) Corporation Intel(R) Atom(TM) x5-Z8550 CPU @ 1.44 GHz with OpenCL 1.2 (4 units, 1440 MHz, 4016 Mb, version5.2.0.10094)
OpenCL device performance test started
OpenCL test compilation failed with error: '1:9:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 1:10:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 1:11:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 1:12:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 1:13:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 1:20:4: error: use of type 'double' requires cl_khr_fp64 extensio
OpenCL device #0 performance test error: 'cannot create OpenCL program (5105)'
OpenCL test compilation failed with error: 'Compilation started 2:9:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 2:10:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 2:11:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 2:12:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 2:13:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 2:20:4: error: use of type 'double' requires
OpenCL device #1 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 400 with OpenCL 1.2 (12 units, 600 MHz, 1598 Mb, version20.19.15.4364)
OpenCL device #1: CPU Intel(R) Corporation Intel(R) Atom(TM) x5-Z8550 CPU @ 1.44 GHz with OpenCL 1.2 (4 units, 1440 MHz, 4016 Mb, version5.2.0.10094)
BeimAusführendes Skripts mit CLContextCreate(CL_USE_GPU_ONLY):
Ihre Karte unterstützt keine doppelten Berechnungen:
use of type 'double' requires cl_khr_fp64 extension to be enabled
Bei Finanzberechnungen kann man wegen der enormen Rundungen keine Fließkommazahlen verwenden, und daher ist die Unterstützung von Doppelberechnungen ausdrücklich erforderlich.
Bisher war es möglich, OpenCL ohne Double zu aktivieren, aber das war nicht sinnvoll.
Dass Atom die gleiche Fehlermeldung über die Verdoppelung ausgibt, ist sehr seltsam.
Es unterstützt auch nicht das Doppelte.
Es ist an sich schon seltsam, eine solche Unterstützung durch das Terminal zu verlangen... Meine .cl-Datei hat überhaupt kein Double und ich verwende OpenCL nicht für präzise wissenschaftliche Berechnungen.
Außerdem handelt es sich nicht um einen alten Atom-Prozessor, sondern um einen modernen mit einer separaten GPU
Es gibt in der Tat keine Unterstützung für cl_khr_fp64
Ich kann das offizielle Datenblattder Intel HD Graphics 4400 mit Informationen über die fehlende doppelte Genauigkeit im Netz nicht finden, um sicherzugehen, dass es sich nicht um ein Treiberproblem handelt.
Renat, können Sie mein obiges Skript ausführen, um festzustellen, ob Ihr IGP doppelte Genauigkeit unterstützt?
Wenn ja, dann wird klar, warum Ihr Leistungstest erfolgreich war.
Vielleicht versuchen Sie dann die Option der Konvertierung mqlrates Arrays zu int auf CPU vor dem Senden an OpenCL, multipliziert sie mit Digits. Der Speicherverbrauch wird halbiert. Spielen Sie danach mit Vektoren oder versuchen Sie, bei der Verwendung von Fließkommazahlen keine Fehler zu machen. Im Prinzip sollte die Genauigkeit der Ziffern+1-Indikatoren mehr als ausreichend sein.
Datetime kann auch leicht in int umgewandelt werden, wenn 1440 Minuten im Tag in den ersten 12 Bits (oder in den ersten 2 Bytes) und die Tage in den hohen Bits sind. Der Geschwindigkeitsgewinn von int gegenüber double sollte ausreichen, um den Overhead von iTime-ähnlichen Funktionen in Kerneln zu decken.
Сравнительный анализ видеокарт Intel HD Graphics 515 и Intel UHD Graphics 630 по всем известным характеристикам в категориях: Общая информация, Технические характеристики, Видеовыходы и порты, Совместимость, размеры, требования, Поддержка API, Память, Поддержка технологий. Анализ производительности видеокарт по бенчмаркам: PassMark - G2D Mark...
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Der OpenCL-Schlüssel wurde vor der Ausführung entfernt. Das Verhalten hat sich nicht geändert.
Das heißt, der erste Start des Expert Advisors mit CLContextCreate(CL_USE_GPU_ONLY) führt zu den oben genannten Fehlern und der Expert Advisor startet nicht. Ab dem zweiten Durchlauf wird das Initialisierungsprotokoll der OpenCL-Geräte nicht mehr angezeigt, es gibt nur noch einen Fehler im EA-Protokoll und EA funktioniert nicht mehr. Beim Neustart des Terminalsfunktioniert EA mit einem korrigiertenCLContextCreate(0)-Befehl- es erscheint eine mega-realistische Meereslandschaft. Gleichzeitig werden im Initialisierungsprotokoll dieselbenLeistungstestfehler angezeigt, aber im EA-Protokoll herrscht Ruhe.
Der Schlüssel ist leicht verändert:
[HKEY_CURRENT_USER\Software\MetaQuotes Software]
before - "OpenCL"=hex:91,57,f4,f8,2e,0b,19,c5,e9,ef,30,dd,c9,a9,af,8c,00,00,00,00,00,00,00,58,f7,f7,28,88,c5,e1,77,3c,4c,f8,8a,4d,31,88,88,6c,2a,09,a4,b3,d8,e2,3f
после - "OpenCL"=hex:91,57,f4,f8,2e,0b,19,c5,e9,ef,30,dd,c9,a9,af,8c,00,00,00,00,00,00,00,00,58,f7,f7,28,88,c5,e1,77,3c,4c,f8,8a,4d,31,88,88,98,6b,19,ab,41,5c,fd,3f
Im Prinzip ist dieses Verhalten unkritisch, wenn man EA/Skripte fixiert und Geräte umgeht, indem man sie explizit anspricht und das CL_DEVICE_TYPE-Zeichen überprüft. Es ist imho sogar besser, die Aufgaben auf Geräte mit eigener Bewertung zu verteilen. Es ist einfach frustrierend, wenn Initialisierungsfehler auftreten. Wer weiß, wie sich OpenCL in der nächsten Schlacht verhalten wird.
Bitte helfen Sie mir, dasOriginal Intel SDK für OpenCL-Anwendungen 2016 R2 zu finden, um die Kernel zu schreiben und zu testen. Es ist sinnlos, an Intel auf Russisch zu schreiben ;)
Warum versuchen Sie es nicht mit dem AMD SDK?
Versuchen Sie ein Upgrade auf Beta 2543
beta 2545, Freigabe 2560.
Immer, wenn das Skript zum ersten Malausgeführt wird:
BeimAusführendes Skripts mitCLContextCreate (CL_USE_GPU_ONLY):Seascape (GBPUSD,H1) OpenCL not found. Error=5114Ich habe ähnliche Fehler, aber vor einem Jahr funktionierte es auf einem schwächeren Tablet problemlos.
und jetzt funktioniert auch das nicht mehr:mit den Parametern: CL_USE_ANY, CL_USE_CPU_ONLY, CL_USE_GPU_ONLY - Ergebnis: -1 mit Fehlercode: 5115
mit den Parametern: 0, 1 - Ergebnis: positiv
beta 2545, Freigabe 2560.
WennSie das Skript zum ersten Malausführen:
BeimAusführendes Skripts mit CLContextCreate(CL_USE_GPU_ONLY):Ihre Karte unterstützt keine doppelten Berechnungen:
Bei Finanzberechnungen kann man wegen der enormen Rundungen keine Fließkommazahlen verwenden, und daher ist die Unterstützung von Doppelberechnungen ausdrücklich erforderlich.
Bisher war es möglich, OpenCL ohne Double zu aktivieren, aber das war nicht sinnvoll.
Jetzt schränken wir sie ausdrücklich ein.
Ich habe ähnliche Fehler, aber vor einem Jahr funktionierte es auf einem schwächeren Tablet problemlos.
Und jetzt funktioniert auch das nicht mehr:mit den Parametern: CL_USE_ANY, CL_USE_CPU_ONLY, CL_USE_GPU_ONLY - Ergebnis: -1 mit Fehlercode: 5115
mit den Parametern: 0, 1 - Ergebnis ist positiv
Es ist sehr merkwürdig, dass Atom den gleichen Fehler bei der Verdopplung produziert.
Wir werden das überprüfen müssen.
Dass Atom die gleiche Fehlermeldung über die Verdoppelung ausgibt, ist sehr seltsam.
Es unterstützt auch nicht das Doppelte.
Es ist an sich schon seltsam, eine solche Unterstützung durch das Terminal zu verlangen... Meine .cl-Datei hat überhaupt kein Double und ich verwende OpenCL nicht für präzise wissenschaftliche Berechnungen.
Außerdem handelt es sich nicht um einen alten Atom-Prozessor, sondern um einen modernen mit einer separaten GPU
Ihre Karte unterstützt keine Doppelzählung
Fragen wir das Gerät selbst:
Die Antwort des Tanks:
OpenCL-Gerät ext: cl_intel_accelerator cl_intel_advanced_motion_estimation cl_intel_ctz cl_intel_d3d11_nv12_media_sharing cl_intel_dx9_media_sharing cl_intel_motion_estimation cl_intel_simultaneous_sharing cl_intel_subgroups cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_depth_images cl_khr_gl_event cl_khr_gl_msaa_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_image2d_from_buffer cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
Es gibt in der Tat keine Unterstützung für cl_khr_fp64
Ich kann das offizielle Datenblattder Intel HD Graphics 4400 mit Informationen über die fehlende doppelte Genauigkeit im Netz nicht finden, um sicherzugehen, dass es sich nicht um ein Treiberproblem handelt.
Der einzige Weg, um festzustellen, ob eine Grafikkarte FP64 hat, ist, Lefty-Benchmarks zu verwenden:
https://askgeek.io/ru/gpus/vs/Intel_HD-Graphics-515-vs-Intel_HD-Graphics-4400
Übrigens scheint auch der Grafik-Coprozessor von Renata keine FP64-Unterstützung zu haben:
https://askgeek.io/ru/gpus/vs/Intel_HD-Graphics-515-vs-Intel_UHD-Graphics-630
Renat, können Sie mein obiges Skript ausführen, um festzustellen, ob Ihr IGP doppelte Genauigkeit unterstützt?
Wenn ja, dann wird klar, warum Ihr Leistungstest erfolgreich war.
Vielleicht versuchen Sie dann die Option der Konvertierung mqlrates Arrays zu int auf CPU vor dem Senden an OpenCL, multipliziert sie mit Digits. Der Speicherverbrauch wird halbiert. Spielen Sie danach mit Vektoren oder versuchen Sie, bei der Verwendung von Fließkommazahlen keine Fehler zu machen. Im Prinzip sollte die Genauigkeit der Ziffern+1-Indikatoren mehr als ausreichend sein.
Datetime kann auch leicht in int umgewandelt werden, wenn 1440 Minuten im Tag in den ersten 12 Bits (oder in den ersten 2 Bytes) und die Tage in den hohen Bits sind. Der Geschwindigkeitsgewinn von int gegenüber double sollte ausreichen, um den Overhead von iTime-ähnlichen Funktionen in Kerneln zu decken.