OpenCL: MQL5의 내부 구현 테스트 - 페이지 45

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

그리고?...

나는 당신의 생각의 비행을 따라갈 수 없습니다, 죄송합니다.

 
joo :

그리고?...

그리고...

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

Andrey , 음, 모든 것이 간단합니다. out[ i ]는 10000보다 클 수 없으며, 이 값이 커지면 조건에 따라 배열 값이 0으로 재설정됩니다. u=10001부터 시작하여 항상 0으로 재설정됩니다.

그런 다음 더 큰 u 값을 0에 추가하기 시작합니다. 그러나 너무 크지도 않고 40억을 넘지 않아야 합니다. 따라서 배열 값은 양수이고 정확히 10000보다 큽니다. 따라서 다시 0입니다. 등. 그런 다음 사이클 외부에서 i가 0에 추가됩니다.

 

이것은 분명합니다. 내 Out[] 배열에 Vladimir 배열과 동일한 내용이 포함되는 이유는 명확하지 않습니다.

 "__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 : 이해가 됩니다. 내 Out[] 배열에 Vladimir 배열과 동일한 내용이 포함되는 이유는 명확하지 않습니다.

루프 외부에서 배열 값이 이미 0이면 i = get_global_id(0)이 추가됩니다.

모든 값을 가져오고 압축을 풉니다.

 
590에서 sli를 거의 모았는데 다음 테스트는 언제 해보나요?
 
casinonsk :
590에서 sli를 거의 모았는데 다음 테스트는 언제 해보나요?
이제 당신이 쓸 차례입니다. )
 
casinonsk :
590에서 sli를 거의 모았는데 다음 테스트는 언제 해보나요?
이 sli에 대한 초기 테스트를 실행하고 여기에 게시하십시오. 재미 좀...