OpenCL: interne Implementierungstests in MQL5 - Seite 45

 
MetaDriver:
.........
"      out[i]=0;         \r\n" // после десятитысячного шага итерации этот оператор начнёт выполняться в каждом цикле.
"   }                    \r\n" // т.е. на выходе из цикла по любому будем иметь out[i] = 0;
......... 
Und warum?
 
joo:
Und warum?
out[i]+=u;       // если к неотрицательному числу прибавить число u большее 10000
if(out[i]>10000)  // то результат будет больше 10000 (true)
  out[i]=0;      // тогда ... = 0
 

И?...

Es tut mir leid, dass ich mit Ihrem Denken nicht mithalten kann.

 
joo:

И?...

И... dann...

"      out[i]=0;         \r\n" // после десятитысячного шага итерации этот оператор начнёт выполняться в каждом цикле.
"   }                    \r\n" // т.е. на выходе из цикла по любому будем иметь out[i] = 0;
 

Andrey, es ist ganz einfach: out[ i ] kann nicht höher als 10000 sein, und sobald es höher ist, wird der Array-Wert auf Null gesetzt - aus Konvention. Ausgehend von u=10001 wird er immer auf Null gesetzt.

Von nun an werden wir beginnen, noch größere Werte von u zu Null zu addieren. Aber nicht zu groß, sicher nicht mehr als 4 Milliarden. Der Wert des Feldes ist also positiv und genau größer als 10000. Sie ist also wieder Null. Und so weiter. Und dann, außerhalb der Schleife, addieren wir i zu Null.

 

Das ist verständlich. Was nicht klar ist, ist, warum mein Out[]-Array dasselbe enthält wie Vladimirs Array:

"__kernel void MFractal(                                    \r\n"
"                       __global int *out                   \r\n"
"                      )                                    \r\n"
"  {                                                        \r\n"
"   out[get_global_id(0)]= get_global_id(0);                \r\n"
"  }                                                        \r\n";
 
joo: Das ist klar. Was nicht klar ist, ist, warum mein Array Out[] denselben Wert enthält wie Vladimirs Array:

Denn außerhalb der Schleife, wenn der Wert des Arrays bereits Null ist, wird i = get_global_id(0) dazu addiert.

Dann drucken Sie doch einfach alle Werte aus.

 
Ich habe die Sli der 590 fast zusammen, wann ist der nächste Test?
 
casinonsk:
Ich habe die Sli der 590 fast zusammen, wann ist der nächste Test?
Jetzt sind Sie an der Reihe, etwas zu schreiben. )
 
casinonsk:
Ich habe die Sli der 590 fast zusammen, wann findet der nächste Test statt?
Führen Sie die ersten Tests mit Ihrem Sli durch und veröffentlichen Sie sie hier. Wenigstens etwas Spaß...