OpenCL: testes internos de implementação em MQL5 - página 44
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Parece que sim.
Não tenho a certeza, porque tento não usar construções complicadas (difíceis de perceber a olho nu), mas provavelmente não o deveria fazer, 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.
Não, bem, isso não é justo. Lida com o código de Andrei e acelera-o.
O que é que eu fiz?
O que se exige do optimista? Reduzir as despesas gerais, mantendo os resultados equivalentes! Portanto, vejam só, tudo se soma a um centavo.
:)
// A propósito!!! Este código não deixa cair o meu motorista mesmo com #define BUF_SIZE 1024*1024*4 !!!
// Isto é um avanço!
;))))
O que é que eu fiz?
O que se exige do optimista? Reduzir as despesas gerais, mantendo os resultados equivalentes! Portanto, vejam só, tudo se soma a um centavo.
:)
Como é que se verificou? :O
Como, como! na calculadora! Corri oito delas em paralelo e verifiquei.
A sua calculadora está a mentir. :)
O ciclo acrescenta 0+1+2+3+...+999999999999. E após cada 10000 passos, o valor é 0.
O que é que fez? - Atribuiu um número de mosca e pronto. Como podem os meus resultados ser os mesmos que os seus?
Tenho feito um pouco de investigação e suspeito que isto
A questão é, get_global_id() muito provavelmente não é uma função, mas uma operação de registo super-rápida.
Se alguém precisar e quiser, por favor comunique os resultados ao estúdio.O que se exige do optimista? Reduza as despesas gerais, mantendo os resultados equivalentes! Por isso, vejam só, tudo se soma a um cêntimo.
// A propósito!!! Este código não deixa cair o meu motorista mesmo com #define BUF_SIZE 1024*1024*4 !!!
Por outro lado - se o condutor não o deixar cair, a equivalência no resultado já está incompleta.
Merda... Que chatice! :(
Não, não tem fumado bem.
1^3 + 2^3 + 3^3 + ... + 1000000000^3 = 1000000000^2 * (1000000000 + 1)^2 / 4
Esquerda e direita são a mesma coisa, equivalência total.
Apenas com a expressão esquerda aquecerá a pedra durante bastante tempo, enquanto que com a direita será quase instantânea, o processador não notará e permanecerá frio.
P.S. I actualizou para OpenCL 1.2 (é beta). Por favor note a pequena adição após o número da versão - sse2.
Não quer dizer que tenha melhorado drasticamente, mas que tenha acelerado em alguns testes. Digamos, em Tast_Mand_ (bem, és um pervertido, Andrewha) - 5% a 10%. Só um pouco, mas bom.
A sua calculadora está a mentir. :)
O laço adiciona 0+1+2+3+...+999999999999. E após cada 10000 passos, o valor é 0.
O que é que fez? - Atribuiu um número de mosca e pronto. Então, como podem os meus resultados ser os mesmos que os seus?
Dei-lhe quase 24 horas para cair em si. Ainda insiste? :)
Vejamos: