OpenCL: testes internos de implementação em MQL5 - página 24
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Colocar a memória em modo de canal duplo, resultado: aceleração de 39x em vez de 29x.
Fez o teste várias vezes ontem para ter a certeza, hoje também, os resultados foram próximos.
O estranho é que ao definir o modo de canal duplo, a CPU deu um aumento de 0,3%, mas a GPU deu um aumento de 25%.
O que significa isso? Nesta linha:Resultado em Gpu MachResult==0.0 a 0 passe
Colocar a memória em modo de canal duplo, resultado: aceleração de 39x em vez de 29x.
Fez o teste várias vezes ontem para ter a certeza, hoje também, os resultados foram próximos.
O estranho é que a CPU mostrou uma velocidade de 0,3% em modo de canal duplo, mas a GPU mostrou uma velocidade de 25%.
Na verdade, não há nada de estranho nisso. Ao trabalhar (não trabalhar com gráficos, nomeadamente os cálculos) com o gargalo da GPU é a RAM (não é suficiente efectuar cálculos na GPU, também é necessário obter os resultados da placa gráfica na RAM). A RAM tornou-se mais rápida - os resultados sobre a GPU melhoraram.
No caso da CPU, tudo já está armazenado na RAM e não há necessidade de correr os resultados para trás e para a frente.
Daí uma conclusão reveladora: se quiser cálculos rápidos da GPU, instale memória rápida.
Talvez não haja memória suficiente, talvez a CountBars ou/e CountPass deva ser um pouco reduzida?
Sim, é isso mesmo. Foi assim que se revelou:
...o que também é agradável. ))
//---
Se eu adicionar CountBars, a imagem pisca e desaparece durante os cálculos.
Assim, a conclusão do tópico é simples, por mais rápida que seja a sua CPU, é apenas uma poz para a placa gráfica :)
De qualquer modo, a placa de vídeo tornará o CPU pelo menos 10 vezes mais rápido nos modelos de vídeo antigos e 100 vezes mais rápido nos modelos mais recentes.
No meu caso, devido à lentidão dos núcleos da CPU, a aceleração é de 364 vezes.
Assim, a conclusão do tópico é simples, por mais rápida que seja a sua CPU, é apenas uma poz para a placa gráfica :)
De qualquer forma, a sua placa gráfica terá um desempenho superior ao do seu CPU pelo menos 10 vezes mais rápido em modelos de vídeo antigos e 100 vezes mais rápido em modelos mais recentes.
No meu caso, devido à lentidão dos núcleos da CPU, a diferença é de 364 vezes.
Uau! Isso é um recorde! )))
//---
Tentarei mais tarde colocar os últimos condutores (295,73), talvez fique um pouco melhor. ))
Interessante. Os fyords têm uma carta mais forte (GeForce GT 440), e o tempo de cálculo é uma ordem de magnitude mais longa.
Bem, sim, é assustador imaginar se i286 seria em vez desta pedra e algum monstro moderno seria em vez do cartão. Tudo o que receberia, ou até mais, por várias vezes.
P.S. Mais alguém vai ter um sistema sem uma placa gráfica discreta como eu?
2012.03.05 17:43:16 CPU Terminal: CPU Intel(R) Core(TM) i3-2100 GenuineIntel a 3.10GHz com OpenCL 1.1 (4 unidades, 3092 MHz, 4008 Mb, versão 2.0)
...
P.S. Mais alguém vai ter um sistema sem gráficos discretos como eu?
2012.03.05 17:43:16 CPU Terminal: CPU Intel(R) Core(TM) i3-2100 GenuineIntel a 3.10GHz com OpenCL 1.1 (4 unidades, 3092 MHz, 4008 Mb, versão 2.0)
2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD,M1) CpuTime/GpuTime = 0,73476776766287369
2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD,M1) Resultado no Cpu MachResult==1.27347 na passagem 1125
2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD, M1) Contagem de inticadores = 16; Contagem de barras históricas = 144000; Contagem de passes = 1280
2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD, M1) Tempo de CPU = 21309 ms
2012.03.05 17:45:02 ParallelTester_00-01x (EURUSD,M1) Resultado sobre Gpu MachResult===1.27347 na passagem 1125
2012.03.05 17:45:02 ParallelTester_00-01x (EURUSD, M1) Contagem de inticadores = 16; Contagem de barras históricas = 144000; Contagem de passes = 1280
2012.03.05 17:45:02 ParallelTester_00-01x (EURUSD, M1) GPU time = 29001 ms
2012.03.05 17:44:33 ParallelTester_00-01x (EURUSD,M1) OpenCL init OK!
:(((
Talvez eu tenha "granadas do sistema errado"? (Refiro-me à versão AMD SDK)