OpenCL: testes internos de implementação em MQL5 - página 43

 
Mathemat:
E reiniciado. A mesma coisa: OpenCL-Z não vê o CPU como um dispositivo. Não vê absolutamente nada.
Não convincente. Executar um script OpenCL ou algo assim. OpenCL-Z não é um critério de verdade.
 
MetaDriver: Não convincente. Executar um script OpenCL-Z não é um critério de verdade.

Sim, eu tentei, o MT5 nem sequer tem tal linha sobre OpenCL na inicialização. Havia, e era uma garantia da execução do código OpenCL.

fyords : Eu uso o Seu Desinstalador! PRO para limpar o registo também.

E se tentar apagar o processador do kernel no gestor de dispositivos, então reiniciar, o Windows colocará novos controladores de CPU, talvez o OpenCL pegará.

Vou experimentá-lo como último recurso. Não gosto de nenhum software que passe pelo registo.

Oh, nova ideia! Como se retira os grãos do expedidor?

joo: Ir para o modo seguro e tentar remover manualmente as filiais no registo com qualquer menção de OpenCL. Depois voltar ao modo normal e instalar novamente o condutor.

Hehe, eles já se foram...

P.S. Está finalmente terminado.

 
Mathemat:
...

Oh, nova ideia! E como é que desinstalo núcleos do gestor?

...

Como de costume, clique com o botão direito do rato -> desinstalar no kernel, depois pedir-lhe-á para reiniciar - não, todos os kernels precisam de ser desinstalados e depois reiniciar

Viva os camaradas!!! :)

 
fyords: Como habitualmente clique com o botão direito do rato no kernel->uninstalar, depois pedirá para reiniciar - não, todos os kernels devem ser desinstalados e depois reiniciar

Onde está este núcleo no gestor - que processo?

Sim, consegui. Mas não se chegou a isso. Como consegui apagar absolutamente tudo o que não consigo entender. Provavelmente porque desinstalei o AMD APP SDK não a partir do Windows, mas com o próprio instalador AMD...

 
Mathemat:
E onde está este núcleo no Device Manager - que processo?
Em Device Manager (no Meu Computador rato direito->Gerenciamento->Gerenciador de Dispositivos)
 

Corrida _Tast_Mand. Bem, tenho um tempo recorde (com um buffer de 480):

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

Aumentar o tampão não leva a quaisquer quedas. A pedra aquece um pouco e ainda come os seus 20 watts, embora ambos os núcleos estejam a 100%.

 

Mathemat:

... Ainda come 20 watts...

Se não estou enganado, tem um Pentium G840 @ 2,8 GHz. Desde quando é que come 20 watts? Não são 65 watts?
 
fyords: Se não estou enganado, tem um Pentium G840 @ 2,8 GHz. Então desde quando é que come 20 watts? Não são 65 watts?

Sim, é isso mesmo. O máximo que espremi dele foi cerca de 40 watts - em CPUBurn ou LinPack.

A Intel atribui ao TDP o poder que se dissipará na pior das hipóteses. Ainda não o vi devorar mais de 25 watts em aplicações normais. E agora o terminal tomou quase 100% e a pedra está lentamente a aquecer (as temperaturas máximas do núcleo são 54 e 57) e a fazer a tarefa com um tampão 48000.

2 joo: Andrei, acha que este código é equivalente ao seu ou não?

"__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, acha que este código é equivalente ao seu ou não?

Parece que pode.

Não tenho a certeza, porque tento não usar construções complicadas (difíceis de perceber a olho nu), mas provavelmente para nada, pois pode acelerar o código.

O seu código deveria provavelmente ser mais lento porque a variável b é redeclarada a cada iteração do laço.

 
joo: O seu código deveria provavelmente ser mais lento, porque a variável b é redeclarada a cada iteração do laço.

Sim, é mais lento - em 20%.

Tentei colocar a declaração fora do laço. Demorou um pouco menos de tempo, mas mesmo assim conseguiu ir mais devagar do que antes. É estranho, livrámo-nos de se...

Razão: