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

 
Marat Sultanov:

Ninguém usa o OpenCL em tarefas práticas? :)

OK. Desculpe, você é como eu, você está preso por causa disso, ou você só quer saber para o desenvolvimento geral?


Estou planejando usá-lo na MQL5, então decidi rastrear o assunto
 

Ótimas notícias :) Os desenvolvedores descobriram e consertaram tudo! Ansioso para a nova construção :)

Acrescentado: tudo fixo em 1586 construído.

 

Vejo no otimizador que você não pode ter mais de um agente local usando OpenCL. Isto é uma infelicidade.

Prezados desenvolvedores:

1) O que significa erro 5114? Este erro foi tirado dos agentes que não queriam usar o OpenCL. Não há descrição para este erro na ajuda.

2) Haverá uma maneira de habilitar múltiplos agentes locais com OpenCL no otimizador no futuro?

 
Marat Sultanov:

Vejo no otimizador que você não pode ter mais de um agente local usando OpenCL. Isto é uma infelicidade.

Prezados desenvolvedores:

1) O que significa erro 5114? Este erro foi tirado dos agentes que não queriam usar o OpenCL. Não há descrição para este erro na ajuda.

2) Haverá uma maneira de habilitar múltiplos agentes locais com OpenCL no otimizador no futuro?


Se houver um limite ao usar OpenCL no testador, faria sentido usar OpenCL não da MQL5, mas em uma dll externa em C++ onde há mais opções, incluindo a biblioteca em OPENCL OOP
 
Konstantin:
Se houver limitações ao usar OpenCL no testador, faz sentido usar OpenCL não da MQL5, mas em uma dll externa em C++ onde você tem mais possibilidades, incluindo uma biblioteca para OPENCL OOP

É claro que você está. Isso é o que eu faço. É mais fácil usar a CUDA imediatamente - para melhor comodidade de codificação e desempenho.

Mas estamos falando de métodos nativos...

 
Marat Sultanov:

É claro que você está. Isso é o que eu faço. É mais fácil usar a CUDA imediatamente - para melhor comodidade de codificação e desempenho.

Mas estamos falando de métodos nativos...

Infelizmente eles ainda têm um ancinho inexplorado, e eu tenho pouco tempo para estudá-los, então no momento estou olhando para a CUDA e a TensorFlow
 
Konstantin:
Infelizmente eles ainda têm um ancinho inexplorado, e eu tenho pouco tempo para estudá-los, então por enquanto estou olhando para a CUDA e a TensorFlow.

Sim, mas tudo em um só lugar e nativamente :)

Estou geralmente satisfeito com a implementação da MQL5: tudo é simples, ótimo e há um mínimo de bugs, e aqueles bugs que são detectados são corrigidos de forma bastante rápida e voluntária. E os desenvolvedores não negligenciaram o desenvolvimento deste caso, o que é muito encorajador. Agora os programadores recebem recursos ampliados e a escrita do código CL se tornou muito mais conveniente e rápida.

A CUDA é muito atraente devido a sua otimização para seus cartões e depurador, mas ainda assim, não é para um mercado amplo, onde não há menos cartões da amd.

O TensorFlow, afinal, é para a aprendizagem de máquinas, que é uma tarefa mais específica. Mas é uma tecnologia interessante, sim.

Tirei conclusões por mim mesmo:

1) Para a universalidade e um amplo mercado é melhor usar o OpenCL da MQL5.

2) Se você estiver fazendo isso por conta própria com o máximo rendimento, não use CUDA nativa.

 
Marat Sultanov:

Sim, mas tudo em um só lugar e nativamente :)

Estou geralmente satisfeito com a implementação da MQL5: tudo é simples, ótimo e há um mínimo de bugs, e aqueles bugs que são detectados são corrigidos de forma bastante rápida e voluntária. E os desenvolvedores não negligenciaram o desenvolvimento deste negócio, o que é muito encorajador. Agora os programadores recebem recursos ampliados e a escrita do código CL se tornou muito mais conveniente e rápida.

A CUDA é muito atraente devido a sua otimização para seus cartões e depurador, mas ainda assim, não é para um mercado amplo, onde existem tantos cartões da Amd.

O TensorFlow, afinal de contas, é para a aprendizagem de máquinas, e é tarefas mais específicas. Mas é uma tecnologia interessante, sim.

Tirei conclusões por mim mesmo:

1) Para a universalidade e um amplo mercado é melhor usar o OpenCL da MQL5.

2) Se eu quiser trabalhar puramente para mim com o máximo rendimento, então não a CUDA nativa.

Concordo sobre os desenvolvedores, mas ainda assim o OpenCL não é conveniente para usar nos cálculos estatísticos, pois muito código tem que ser portado para C, mesmo que seja escrito em um módulo ou biblioteca externa. Pelo menos eu não encontrei solução para conectar algibeira a ela. TensorFlow tem tudo isso a bordo, mas há uma armadilha, tenho que escrever parte dela em Phyton )) e, claro, limitação para usar cartões AMD.

Talvez alguém aqui irá portar Alglib para as funções OpenCL.

 
Marat Sultanov:

Vejo no otimizador que você não pode ter mais de um agente local usando OpenCL. Isto é uma infelicidade.

Prezados desenvolvedores:

1) O que significa erro 5114? Este erro foi tirado dos agentes que não queriam usar o OpenCL. Não há descrição para este erro na ajuda.

2) Haverá uma maneira de habilitar múltiplos agentes locais com OpenCL no otimizador no futuro?

  1. O código de erro 5114 foi adicionado muito recentemente; ele ainda não foi adicionado à Ajuda.
    Nenhum dispositivo OpenCL adequado foi encontrado entre aqueles que estavam disponíveis.
    Este erro pode surgir se você especificar um contexto onde apenas dispositivos GPU devem ser usados enquanto houver dispositivos de CPU disponíveis.
  2. Um agente por dispositivo OpenCL, exatamente como esse.
 
Ilyas:
Como esta é uma possibilidade, você pode explicar como superar este erro?

Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos

Eis o que você pode fazer com OpenCL diretamente no terminal MetaTrader 5 sem DLL

fxsaber, 2017.04.14 14:49

Primeiro diz
2017.04.14 15:47:04.255 OpenCL  Device #0:  CPU GenuineIntel  Intel(R) Core(TM) i7-2700 K CPU @ 3.50 GHz with OpenCL 1.1 (8 units, 3510 MHz, 16301 Mb, version 2.0, rating 25)
E então 20 segundos depois diz
2017.04.14 15:47:23.579 BitonicSort (RTS-6.17,M1)       OpenCL not found. Error code=5101
2017.04.14 15:47:23.579 BitonicSort (RTS-6.17,M1)       Error in OpenCL initialization. Error code=5101

Não há placa de vídeo.

Razão: