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
Boa tarde a todos.
Uma palavra de conselho sobre este assunto muito interessante:
1. Já existem EAs para comércio que utilizam OpenCL para cálculos?
(há mais de um ano o apoio foi anunciado e todos juntos tentámos a actuação num guião de teste, mas passou muito tempo e o tema ficou calmo...).
2. Se eu tiver várias placas de vídeo instaladas no meu sistema, serão todas utilizadas para cálculos ou apenas uma delas ?Provavelmente existe, mas é pouco provável que esteja num kodobaz. Há poucos entusiastas, e nem todos o fazem.
O OpenCL é vantajoso quando permite uma aceleração significativa dos cálculos, o que é crítico para o comércio. A sua introdução no algoritmo apenas por "shoblo" ou carregamento da placa de vídeo não é muito sensata.
Imho, o resultado mais sério pode ser obtido com cálculos intensivos bem paralizáveis ou para desenhadores de redes neurais. Vale provavelmente a pena perguntar-lhes isso.
Por exemplo, pessoalmente, tenho uma direcção em queestou interessado, mas o OpenCL é pouco necessário, pois dificilmente teria qualquer utilidade (demasiadas operações de acesso aleatório na memória global que só o diabo sabe como paralisar). Ainda não estou desesperado e ainda não tentei todas as possibilidades razoáveis - mas definitivamente não vai ser de livre acesso.
2. Se tiver mais do que uma placa de vídeo instalada no sistema, serão todas utilizadas para cálculo ou apenas uma delas ?
A empresa disse algo sobre problemas com cartões múltiplos ou mesmo de cabeça dupla. Não sei se estão resolvidos.
Olá.
Estou a fazer cálculos em massa no MetaTrader5, resolvendo um problema (modelando um jogo de póquer). Estou a escrever no Mcl5 porque sou um nerd e só o conheço. No meu caso, as questões de desempenho são muito importantes.
Assim, compreendo que as tarefas, em que cada etapa de cálculo sucessivo não está ligada aos resultados das anteriores, podem ser paralelizadas. Óptimo! Tenho precisamente uma tal tarefa.
Mas como posso fazer o paralelismo? Se o meu algoritmo funcionar com estruturas (estrutura) cujos métodos
- por exemplo, abrir um ficheiro de texto a partir de um disco rígido, lê-lo, adicionar informação em matrizes de estrutura, fechar o ficheiro de texto
- e outros métodos contêm muitas funções padrão, por exemplo rand(), ArrayResize(), etc.
OpenCl, como o entendo, é uma linguagem semelhante ao c++. De qualquer forma, a minha pergunta é: como posso fazer cálculos paralelos em geral?
Olá.
Estou a fazer cálculos em massa no MetaTrader5, resolvendo um problema (modelando um jogo de póquer). Estou a escrever no Mcl5 porque sou um nerd e só o conheço. No meu caso, as questões de desempenho são muito importantes.
Assim, compreendo que as tarefas, em que cada etapa de cálculo sucessivo não está ligada aos resultados das anteriores, podem ser paralelizadas. Óptimo! Tenho precisamente uma tal tarefa.
Mas como posso fazer o paralelismo? Se o meu algoritmo funcionar com estruturas (estrutura) cujos métodos
- por exemplo, abrir um ficheiro de texto a partir de um disco rígido, lê-lo, adicionar informação em matrizes de estrutura, fechar o ficheiro de texto
- e outros métodos contêm muitas funções padrão, por exemplo rand(), ArrayResize(), etc.
OpenCl, como a entendo, é uma linguagem semelhante ao c++. De qualquer forma, a minha pergunta é: como posso fazer cálculos paralelos em geral?
O Google é a ajuda.
Não obterá uma resposta a tal pergunta neste fórum.
Por uma simples combinação de duas razões:
Os programadores principiantes não programam em OpenCL de todo (e não lidam com o paralelismo de todo) uma vez que não o conseguem apreender.
2 Os programadores experientes não querem mexer consigo porque isso (a sua pergunta) requer um estudo minucioso da sua qualificação, para lhe responder numa língua compreensível, e depois dar-lhe uma longa explicação da sua resposta.
Por conseguinte, respeite os recursos de tempo dos programadores experientes e procure você mesmo o básico. Mas quando o descobrir e tiver perguntas específicas sobre a língua (OpenCL), terá mais hipóteses de ter uma conversa significativa.
poderia responder que é possível fazer um paralelismo
apenas em C puro, apenas as operações aritméticas mais simples
OpenCL 2.0
OpenCL 2.0 é a mais recente evolução significativa da norma OpenCL, concebida para simplificar ainda mais a programação multiplataforma, permitindo ao mesmo tempo acelerar facilmente uma rica gama de algoritmos e padrões de programação. Como base para estas capacidades aumentadas, OpenCL 2.0 define um modelo de execução melhorado e um subconjunto do modelo de memória C11 e C++11, sincronização e operações atómicas.
OpenCL 2.0 é a mais recente evolução significativa da norma OpenCL,.............
Qual é o seu objectivo?
Vi esta notícia e decidi publicá-la aqui. É interessante aprofundar o assunto, mas ainda não consigo encontrar tempo. Aqui estão as mesmas notícias em russo:
Especificação OpenCL 2.0adoptada
O Grupo Khronos anunciou a ratificação e disponibilidade da versão final da especificação OpenCL 2.0. Segundo os programadores, o lançamento do OpenCL 2.0 representa um marco significativo na evolução de uma norma aberta, livre de usar, que simplifica a programação paralela entre plataformas.
A nova versão melhora o modelo de execução e os subconjuntos de modelos de memória de C11 e C++11, sincronização e operações atómicas. Diz-se que a nova versão do OpenCL permite a utilização de uma gama muito mais ampla de algoritmos e padrões de programação. A nova versão tem em conta os desejos dos programadores de software que utilizam o OpenCL. As especificações já se encontram disponíveis no sítio web Khronos.
As características e melhorias do OpenCL 2.0 incluem: memória virtual partilhada, paralelismo aninhado, espaço de endereçamento partilhado, melhor tratamento de imagem, incluindo suporte sRGB. Além disso, os programadores destacam operações atómicas C11, condutas de empilhamento FIFO in-memory e extensões de controladores instaláveis para Android.
Vi esta notícia e decidi publicá-la aqui. É interessante aprofundar o assunto, mas ainda não consigo encontrar tempo. Aqui estão as mesmas notícias em russo:
Especificação OpenCL 2.0adoptada
O Grupo Khronos anunciou a ratificação e disponibilidade da versão final da especificação OpenCL 2.0. Segundo os programadores, o lançamento do OpenCL 2.0 representa um marco significativo na evolução de uma fonte aberta, livre de utilizar uma norma que simplifica a programação paralela entre plataformas.
A nova versão melhora o modelo de execução e os subconjuntos de modelos de memória de C11 e C++11, sincronização e operações atómicas. Diz-se que a nova versão do OpenCL permite a utilização de uma gama muito mais ampla de algoritmos e padrões de programação. A nova versão tem em conta os desejos dos programadores de software que utilizam o OpenCL. As especificações já se encontram disponíveis no sítio web Khronos.
As melhorias e novas funcionalidades do OpenCL 2.0 incluem: memória virtual partilhada, paralelismo aninhado, espaço de endereçamento partilhado, melhor processamento de imagem, incluindo suporte sRGB. Além disso, os programadores destacam operações atómicas C11, condutas de empilhamento FIFO in-memory e extensões de controladores instaláveis para Android.
O que fazer com ele? Devo despejá-lo em C#/C++?
Talvez a Renat consiga ver o que se pode aprender com ela. É bem possível que uma nova especificação dê um melhor desempenho também na MQL5, não é?
Quanto a C#/C+++, se necessário, também podemos despejá-lo. O principal é obter o máximo rendimento possível. ;)