OpenCL: testes internos de implementação em MQL5 - página 56
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
Diga-nos em pormenor o que fez. Começando com a forma como derrubou o AMD APP SDK.
A propósito, talvez não tenha inserido um parâmetro no script ParallelTester_00-01x na função CLContextCreate() igual a 0 (pode ser executado no host (ou seja, na CPU). Não foi escrito sobre isso no meu posto.
Diga-nos em pormenor o que fez. Começando pela forma como derrubou o AMD APP SDK.
Desinstalou o AMD APP SDK executando o Setup.exe apropriado, Desinstalar. Reiniciado.
Instalado Intel OCL (intel_ocl_sdk_1.5_x64_setup.exe), RunTime apenas. Reiniciado.
Executar MT5 - falhado. Registo fixo sobre o seu conselho. MT5 recarregado - chatice.
Adicionei o caminho seguindo o conselho do mql5 , experimentei-o com e sem aspas, com x64, e x32. Após cada modificação do registo - a minha utilização do MT5 novamente e a minha utilização - os mesmos ovos antigos, apenas uma vista lateral.
Agora o HKEY_LOCAL_MACHINE_MACHINE_SOFTWAREKhronos\OpenCL\Vendors tem este aspecto:
(Predefinição)REG_SZ (valor não atribuído)
C:\Arquivos de programa (x86)\Intel\OpenCL SDK1.5\bin\x86\intelocl.dll REG_DWORD 0x000000000000 (0)
(Predefinição)REG_SZ (valor não atribuído)
C:\Arquivos de Programas (x86)\Intel\OpenCL SDK\1.5\bin\x86\intelocl.dll REG_DWORD 0x00000000 (0)
Já procurou lá dentro? Eu, por exemplo, não tenho nada neste caminho (mas descarreguei e instalei apenas o tempo de execução, talvez seja por isso que não).
E em segundo lugar, acabei de fazer intelocl.dll sem o caminho completo. De qualquer modo, foi provavelmente registado durante a instalação em tempo de execução.
P.S. Experimentado com caminhos completos. Metatrader não vê OpenCL com caminhos completos (ambos). Mas se eu definir apenas intelocl.dll como o nome, tudo se torna imediatamente visível, mesmo sem reiniciar o computador.
Não sei como escolher o ficheiro "certo" entre dois ficheiros existentes com o mesmo nome no sistema.
Por favor, informe aqui sobre o processo. Ainda assim, é interessante, talvez haja algumas nuances. Eu próprio tenho vindo a debater-me com isto há muito tempo, e "mexi" no resultado, o que me agrada muito.
P.P.S. A propósito, quando estava no recurso Intel, aconselharam-me a desinstalar o Intel SDK completo e a reinstalá-lo novamente. ou seja, não só desinstalar, mas também entrar no sistema de directórios32 e sysWOW64 e remover tudo o que está relacionado com o intelocl. Estes são intelocl*.dll, opencl*.dll e outros ficheiros. Algures por aqui está http://software.intel.com/en-us/forums/intel-opencl-sdk/. Quando o encontrar, introduzirei uma ligação mais precisa.
Ligações úteis: http://software.intel.com/en-us/articles/opencl-release-notes/
E aqui - especialmente útil: http://software.intel.com/en-us/forums/showthread.php?t=102023&o=a&s=lr, ali os conselhos de Uri Levy (Intel) podem realmente ajudar. De qualquer modo, continua a ser um jogo de pandeiro.
Isto está no CPU (no meu caso é o dispositivo 1):
Puxou o parâmetro CLContextCreate(dispositivo) para o parâmetro Script. Pode espreitar à volta de todas as opções.
O que é interessante é isto:
Este guião sobre o 630 construído de alguma forma não funciona assim. Nenhuma mensagem, entra num laço, carregando a pedra a 100%. E não vai além de um prazo razoável. Mas eu já tenho tempo de execução da Intel.
O que é interessante é como:
Este guião sobre o 630 construído de alguma forma não funciona assim. Nenhuma mensagem, entra num laço, carregando a pedra a 100 por cento. E não vai além de um prazo razoável. Mas eu já tenho tempo de execução da Intel.
Recompilado. Funciona para mim.
Isso está na CPU?! Se for, estás a assustar-me...
Fiquei entusiasmado demasiado cedo. Corri-o e não fazia qualquer sentido. Nem uma única entrada no diário de bordo da EA. Embora o guião tenha começado e enchido imediatamente toda a rocha. Por outras palavras, bateu em algo, mas não chegou a CLContextCreate() (teria dito algo se tivesse chegado lá, não teria?).
Isto é algo novo. Parece que o tempo de execução da Intel não compreende o código compilado no AMD SDK. Eu defino o OCL_Device para 0 e -1. Sem efeito.
Em geral, é inconveniente que não se possa escolher a plataforma. Quem me dera que fosse possível fazer isso. Estou farto de reinstalar.
Isso está na CPU?! Se for, estás a assustar-me...
Não, no GPU. Mas o dispositivo OpenCL é seleccionável. Aqui na CPU:
Fiquei entusiasmado demasiado cedo. Corri-o e não fazia qualquer sentido. Nem uma única entrada no diário de bordo da EA. Mas o guião arranca e enche imediatamente toda a rocha. Isto é, bate em algo, mas não chega a CLContextCreate() (se tivesse, diria algo, certo?).
Algo de novo. É como se a Intel não compreendesse o código compilado no AMD SDK. Eu defino o OCL_Device para 0 e -1. Sem efeito.
Em geral, é inconveniente que não se possa seleccionar a plataforma. Seria desejável ter uma tal oportunidade. Estou farto de reinstalar.
É um resgate).
Muito bem, aqui está o código fonte. Faça o que quiser com ele.
O código não é compilado no AMD SDK. Pelo menos o código do OCL faz. O programa OCL é compilado durante a execução do código mql. O ficheiro EX5 do encaixe do OCL apenas compila as funções mql/ocl-driver bridge. Não creio que sejam compilados para códigos de máquina diferentes, dependendo do fabricante do condutor. Embora apenas os criadores possam esclarecer completamente este ponto.
Já o verificou lá? Eu, por exemplo, não tenho nada do género neste caminho (mas apenas descarreguei e instalei tempo de execução, talvez seja por isso que não há nenhum).
E em segundo lugar, acabei de fazer intelocl.dll sem o caminho completo. Provavelmente foi registado aquando da instalação do runtime de qualquer forma.
...
A intelocl.dll "descoberta" foi uma das primeiras a ser verificada. Há um ficheiro com esse nome tanto em pastas x64 como x86.
Não sei o que fazer então. Tenho-me torturado à procura de uma solução até que a Equipa de Apoio me deu uma dica. Provavelmente não é uma solução completa, mas funcionou no meu computador.
Provavelmente a primeira coisa a aprender é como remover limpos vestígios dos SDKs anteriores.