Eis o que você pode fazer com OpenCL diretamente no MetaTrader 5 sem DLLs - página 18

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
Renat Fatkhullin como posso entrar em contato com você para discutir a possibilidade de escrever em MQL5+OpenCL. eu preciso usar o poder de processamento das placas de vídeo. se entendi corretamente, então usando um exemplo da prática: o robô escrito otimiza apenas 11 parâmetros por 3 máquinas conectadas a uma rede local, o período é de apenas 1 ano e 6 horas. eu tentei cobrar 5 anos para otimização com uma pesquisa completa dos dados, isso me mostrou que 2 meses têm que esperar.Se eu entendi corretamente, o OpenCL resolverá o problema. A velocidade deve aumentar centenas de vezes, já que os cálculos não envolverão processadores, mas placas de vídeo. Isso significa que, levando em conta todo o sistema comercial, você terá cerca de 200-300 parâmetros em configurações.
Os cálculos do OpenCL não estão envolvidos na paralelização do processo de otimização.
Com o OpenCL, você pode calcular uma parte específica do algoritmo mais rapidamente e em paralelo. Temos muitos artigos e discussões sobre OpenCL.
O que está impedindo você de comprar um cartão maior?
algumas A100https://www.nvidia.com/ru-ru/data-center/a100/
Já foi dito e feito.
X2-X3 aceleração dos cálculos anteriores na Gforce RTX2080 TI
Mas há um ponto separado para qualquer pessoa que esteja testando modelos de redes neurais no testador.
OpenCl não permite o acesso multi-tarefa se houver mais de 10-12 processos (agentes).
Especialmente se múltiplas redes neurais forem criadas simultaneamente para analisar dados diferentes com uma fusão em uma só.
E apesar do fato de que o servidor agora tem 96 processadores lógicos, ainda temos que usar 12.
Portanto, é mais rentável ter vários computadores antigos da rede, provavelmente mais baratos por muitas vezes.
Separadamente, eu gostaria de mencionar uma oportunidade separada para instalar o AMD SDK que permitiu o uso de CPUs com OpenCL.
Agora, existem 96 dispositivos prontos para realizar uma tarefa na mesma velocidade, mas não dependendo apenas da potência do cartão.
Entretanto, a biblioteca OpenCl teve que ser corrigida porque o processo de seleção do dispositivo
CLContextCreate(CL_USE_ANY)
não permite entender qual dispositivo está atualmente carregado.
E selecionar apenas GPU ou apenas CPU não permite usar ambas as opções ao mesmo tempo.
Para resolver este problema, fiz um teste de cada cartão para a velocidade de computação atual,
usando este interessante exemplo para simular o cálculo (legal)
https://www.mql5.com/ru/code/825
No código da biblioteca, ela é encarnada da seguinte forma
no código EA
Na biblioteca do OpenCL, levar em conta a possibilidade de selecionar o dispositivo
No lançamento de amanhã estamos lançando tipos de dados de matriz/vetor internos para uso no aprendizado de máquinas.
O código dos programas MQL5 se tornará muito mais simples e nos permitirá implementar um grande conjunto de operações matemáticas.
Esta é a primeira geração de funcionalidades e então implementaremos mecanismos mais complexos para implementar as capacidades de pacotes como o TensorFlow. O OpenCL virá a calhar para isso.
Qual é o objetivo de toda essa multi-tarefa para uma rede neural, quando uma passagem de uma nova época deve ser baseada nos resultados da passagem anterior. E todos os fios paralelos só repetirão os resultados do primeiro. E no final, eles depositarão os resultados em um único arquivo. Sobrescrevendo os resultados do segmento anterior, mas em essência sem alterar o valor...
Renat exclama e você se lamenta. Quantos anos você tem?
Um pouco de afinação à biblioteca, feita à beleza da mesma