![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
https://www.mql5.com/ru/forum/227736
Transferido para shader. Primeiro 15 segundos o código fonte roda na cpu, depois a versão gpu roda.
"Você precisa mover o array m_pixels[] de protegidos: para público: em Canvas.mqh file antes de compilar"
Hmm. Interessante. Acontece a mesma velocidade. Provavelmente porque não há conversões em 3D.
Precisa tentar com este código.
ZSY use este projeto para que você não tenha que consertar as bibliotecas originais
SZY
Oh não! Desculpe - cometeu um erro no código e, portanto, não percebeu que a parte da CPU não estava rodando de forma alguma. Corrigido.
Resultado - 2,5 vezes mais rápido através da GPU.
Muito bom de se ver. Muito obrigado por esta implementação. Só afinou um pouco.
https://www.mql5.com/ru/forum/227736
Transferido para shader. Os primeiros 15 segundos rodam o código fonte na cpu, depois roda a versão na gpu.
É interessante fazer o mesmo com este código e ver como o ganho de desempenho muda dependendo da complexidade dos cálculos (aumento dos centros de gravidade).
Este código não usa uma série de pecados para acelerar as coisas, ele apenas calcula o seno. E você também pode mudar o número de centros de gravidade rotativos.
Preciso tentar com este código.
Quero fazer o cálculo de indicadores completamente em gpu, preciso descobrir como transferir tais volumes de dados.
O resultado é 2,5 vezes mais rápido via GPU.
Nikolai Semko:
Este código não usa a matriz senoidal para acelerá-la, ele simplesmente calcula seno.
A propósito, eu uso esta fórmula em meu shader, então a velocidade é de ~10x.
É interessante fazer o mesmo com este código e ver como o ganho de desempenho muda dependendo da complexidade do cálculo (aumento dos centros de gravidade).
Vou tentar fazer isso.
Quero fazer o cálculo de indicadores completamente em gpu, preciso descobrir como transferir tais volumes de dados.
A propósito, estou usando esta fórmula no sombreador, então a aceleração é de ~10x.
Vou tentar fazer um.
Acho que os resultados devem inspirar.
Sim, é realmente uma adição muito legal à MQL5! Graças à equipe da MQ por isso.
Ao simplesmente incluir o recurso no programa, o desempenho dos cálculos matemáticos pode ser aumentado muitas vezes ao utilizar os recursos da placa de vídeo. Isto descarrega a própria CPU. Ou seja, uma super opção para o mercado.
E se o OpenCL exigir alguma ação por parte do usuário para instalar o software, o DirectX já está instalado no Windows por padrão. E o mais surpreendente - olhei o quanto o arquivo ex5 aumenta quando se usa DirectX e não vi nenhum aumento no arquivo. Muito legal!!! Vamos estudá-lo e usá-lo.
Acho que os resultados devem ser inspiradores.
Sim, é realmente uma adição muito legal à MQL5! Graças à equipe da MQ por isso.
Ao simplesmente incluir o recurso no programa, o desempenho dos cálculos matemáticos pode ser aumentado muitas vezes ao utilizar os recursos da placa de vídeo. Isto descarrega a própria CPU. Ou seja, uma super opção para o mercado.
E se o OpenCL exigir alguma ação por parte do usuário para instalar o software, o DirectX já está instalado no Windows por padrão. E o mais surpreendente - eu olhei o quanto o arquivo ex5 aumenta ao usar DirectX e não vi nenhum aumento no arquivo. Muito legal!!! Vamos estudá-lo e usá-lo.
A propósito, sim, o DX é mais versátil do que o OCL. As mesmas capacidades + 3D. Há um modo CPU e você não precisa colocar um driver na CPU para isso.
A propósito, eu uso esta fórmula no sombreador, então a aceleração é de ~10x.
Ainda tem que contar 2,5 vezes. A CPU foi afetada pela otimização, mas a CPU não foi afetada.
É interessante fazer o mesmo com este código e ver como o ganho de desempenho muda dependendo da complexidade dos cálculos (aumento dos centros de gravidade).
Este código não usa uma série de pecados para acelerar as coisas, ele apenas calcula o seno. E você também pode mudar o número de centros de gravidade rotativos.
Eu possibilitei a otimização. O código foi rearranjado em 3 ciclos para facilitar a transferência. O limite é de 512 centros. Por padrão, ele é executado diretamente sobre a pólvora gpu.
Você ainda tem que contar 2,5 vezes. A CPU foi afetada pela otimização, mas a GPU não foi afetada.
Eu possibilitei a otimização. Eu reescrevi o código para 3 ciclos para facilitar a porta. Limitei-o a 512 centros. Por padrão, ele funciona diretamente na GPU.
Muito obrigado!
2,5x apenas em cálculos simples é também um resultado muito bom. Em 3D, acho que o resultado será ainda mais acentuado.
Você ainda tem que contar 2,5 vezes. A CPU foi afetada pela otimização, mas a GPU não foi.
Eu possibilitei a otimização. Reorganizei o código em 3 loops para facilitar a porta. Limitamos a 512 Centros. Por padrão, ele funciona diretamente na GPU.
Você pediu a implementação do OpenCl. Algo se revelou. Perdão pelo código, eu não tive tempo de limpá-lo. O principal é que funciona.
Você pediu uma implementação OpenCl. Algo saiu. Perdoe o código, eu não tive tempo de escová-lo. O principal é que funciona.
COMO! Uau! Inesperado para mim, para ser honesto. Um ganho de mais de 10x com minha modesta placa de vídeo.
Muito obrigado!
Você pediu uma implementação OpenCl. Eu tenho algo. Perdoe o código, eu não tive tempo de escová-lo. O principal é que funciona.
Muito obrigado!
Seus cálculos estão no dobro? Então o resultado é particularmente impressionante.