OpenCL: interne Implementierungstests in MQL5 - Seite 43

 
Mathemat:
Und neu gebootet. Das ist dasselbe: OpenCL-Z sieht die CPU nicht als ein Gerät. Er sieht überhaupt nichts.
Nicht überzeugend. Führen Sie ein OpenCL-Skript oder ähnliches aus. OpenCL-Z ist kein Kriterium für Wahrheit.
 
MetaDriver: Nicht überzeugend. Führen Sie eine Art OpenCL-Skript aus. OpenCL-Z ist kein Kriterium für Wahrheit.

Ja, ich habe es versucht, MT5 hat nicht einmal eine solche Zeile über OpenCL beim Starten. Früher gab es das, und es war eine Garantie für die Ausführung von OpenCL-Code.

fyords : Ich verwende Ihren Uninstaller! PRO, um auch die Registrierung zu bereinigen.

Und wenn Sie versuchen, den Kernel-Prozessor im Gerätemanager zu löschen und dann neu zu starten, setzt Windows neue CPU-Treiber ein, vielleicht funktioniert OpenCL dann wieder.

Ich werde es als letzten Ausweg versuchen. Ich mag keine Software, die über die Registrierung läuft.

Oh, eine neue Idee! Wie entfernt man Kernel aus dem Dispatcher?

joo: Gehen Sie in den abgesicherten Modus und versuchen Sie, die Zweige in der Registrierung, in denen OpenCL erwähnt wird, manuell zu entfernen. Wechseln Sie dann wieder in den normalen Modus und installieren Sie den Treiber erneut.

Hehe, sie sind schon weg...

P.S. Es ist endlich da.

 
Mathemat:
...

Oh, eine neue Idee! Und wie deinstalliere ich Kerne über den Manager?

...

Wie üblich klicken Sie mit der rechten Maustaste auf den Kernel->Deinstallieren, dann werden Sie zum Neustart aufgefordert - nein, alle Kernel müssen deinstalliert werden und dann neu gestartet werden

Hurra Kameraden!!! :)

 
fyords: Wie üblich mit der rechten Maustaste auf Kernel->Deinstallieren klicken, dann wird nach einem Neustart gefragt - nein, alle Kernel sollten deinstalliert werden und dann neu gestartet werden

Wo befindet sich dieser Kernel im Manager - welcher Prozess?

Ja, ich habe es verstanden. Doch dazu kam es nicht. Wie ich es geschafft habe, absolut alles zu löschen, kann ich nicht verstehen. Wahrscheinlich, weil ich das AMD APP SDK nicht von Windows aus deinstalliert habe, sondern mit dem AMD Installer selbst...

 
Mathemat:
Und wo befindet sich dieser Kernel im Gerätemanager - welcher Prozess?
Im Geräte-Manager (auf dem Arbeitsplatz rechte Maustaste->Verwaltung->Geräte-Manager)
 

Läuft _Tast_Mand. Nun, ich habe eine Rekordzeit (mit einem Puffer von 480):

2012.03.22 01:31:21    Tast_Mand_ (EURUSD,H1)    54741 msec

Eine Vergrößerung des Puffers führt nicht zu einem Tropfen. Der Stein wird ein wenig warm und verbraucht immer noch 20 Watt, obwohl beide Kerne auf 100% sind.

 

Mathemat:

... Er verbraucht immer noch 20 Watt...

Wenn ich mich nicht irre, haben Sie einen Pentium G840 mit 2,8 GHz. Seit wann verbraucht er 20 Watt? Sind es nicht 65 Watt?
 
fyords: Wenn ich mich nicht irre, haben Sie einen Pentium G840 mit 2,8 GHz. Seit wann verbraucht er also 20 Watt? Sind es nicht 65 Watt?

Ja, das ist richtig. Das Maximum, das ich aus ihm herausholen konnte, waren etwa 40 Watt - mit CPUBurn oder LinPack.

Intel gibt die TDP als die Leistung an, die im schlimmsten Fall verbraucht wird. Ich habe noch nie erlebt, dass er bei normalen Anwendungen mehr als 25 Watt verschlingt. Und jetzt hat das Terminal fast 100% genommen und der Stein erwärmt sich langsam (maximale Kerntemperaturen sind 54 und 57) und macht die Aufgabe mit einem 48000 Puffer.

2 joo: Andrei, glaubst du, dass dieser Code mit deinem gleichwertig ist oder nicht?

"__kernel void MFractal(                                    \r\n"
"                       __global int *out                   \r\n"
"                      )                                    \r\n"
"  {                                                        \r\n"
"   int i = get_global_id(0);                               \r\n"
"   for(int u=0;u<100000000;u++)                            \r\n"
"   {                                                       \r\n"
"    out[i]+=u;                                             \r\n"
"    bool b=(out[i]<=10000);                                \r\n"
"    out[i]*=(int)b;                                        \r\n"
"   }                                                       \r\n"
"   out[i]+= i;                                             \r\n"
"  }                                                        \r\n";
 
Mathemat:

2 joo: Andrei, glaubst du, dass dieser Code mit deinem gleichwertig ist oder nicht?

Es sieht so aus, als ob ja.

Ich bin mir nicht sicher, weil ich versuche, keine komplizierten Konstruktionen zu verwenden (mit dem Auge schwer zu erkennen), aber wahrscheinlich ist es umsonst, weil es den Code beschleunigen kann.

Ihr Code sollte wahrscheinlich langsamer sein, weil die Variable b bei jeder Schleifeniteration neu deklariert wird.

 
joo: Ihr Code wird wahrscheinlich langsamer sein, weil die Variable b bei jeder Iteration der Schleife neu deklariert wird.

Ja, sie ist langsamer - um 20 %.

Ich habe versucht, die Erklärung außerhalb der Schleife zu platzieren. Sie brauchte etwas weniger Zeit, war aber immer noch langsamer als zuvor. Es ist seltsam, wir sind sie losgeworden, wenn...