OpenCL: testes internos de implementação em MQL5 - página 37

 
joo: E muito provavelmente não se trata de memória, mas do próprio mecanismo de paralelismo de tarefas do condutor do OpenCL. É necessário fazer experiências com múltiplos do número de moscas.
E se eu não souber quantas moscas tenho (Intel HD Graphics 1000)? Ou 6 ou consideravelmente mais... Se houver 6, de onde vem um aumento de 25x na velocidade de execução?
 
Mathemat:
E se eu não souber quantas moscas tenho (Intel HD Graphics 1000)? Ou 6 ou consideravelmente mais... Se são 6, de onde vem o aumento de 25x na velocidade de execução?
O ganho x25 é da minha genialidade, bem como um pouco das operações vectoriais. O produto escalar de vectores conta muito rapidamente com a GPU.
 
MetaDriver: x25-growth é da minha genialidade, bem como um pouco de operações vectoriais. O produto escalar de vectores conta muito rapidamente com a GPU.

Tenha em mente que estas 6 abelhas funcionam a 1,1 GHz, o que é 2,5 vezes inferior à frequência da pedra. Assim, são 2,5 abelhas condicionais que correm com a frequência da pedra. Mas de onde vem 25x?

 
Mathemat:

Não esquecer que estas 6 abelhas estão a funcionar a 1,1 GHz, o que é 2,5 vezes inferior à frequência da pedra. Ou seja, 2,5 abelhas condicionais a operarem com a frequência da pedra. Mas de onde vem 25x?

SSE maneja 4 flutuadores de cada vez * 2 núcleos + optimizações do compilador.
 
mql5: SSE maneja 4 flutuadores de cada vez * 2 núcleos + optimizações do compilador.

Então todo o trabalho é feito sobre os núcleos da CPU - não sobre as abelhas da GPU incorporada?

E o segundo: se não em abelhas, então como fazer o código correr exactamente sobre elas?

P.S. AMD fez esta confusão com a poderosa GPU a bordo por uma razão: A8-3850 tem até 400 abelhas...

P.P.S. Assim, um representante do promotor apareceu e fugiu de novo :(

 
2012.03.16 23:34:11 Terminal GPU: NVIDIA Corporation GeForce GTX 590 com OpenCL 1.1 (16 unidades, 1225 MHz, 1536 Mb, versão 285.62)
2012.03.16 23:34:11 Terminal GPU: NVIDIA Corporation GeForce GTX 590 com OpenCL 1.1 (16 unidades, 1225 MHz, 1536 Mb, versão 285.62)
 
casinonsk: ^^^^ como testar?
Funciona como um guião qualquer um dos códigos publicados pelo MetaDriver.
 
Mathemat:
Funciona como um guião qualquer um dos códigos publicados pelo MetaDriver.

ExecutarOpenCL.

1 núcleo foi carregado a uma média de 50%.

2 núcleo não utilizado de todo.

 
casinonsk:
2012.03.16 23:34:11 Terminal GPU: NVIDIA Corporation GeForce GTX 590 com OpenCL 1.1 (16 unidades, 1225 MHz, 1536 Mb, versão 285.62)
2012.03.16 23:34:11 Terminal GPU: NVIDIA Corporation GeForce GTX 590 com OpenCL 1.1 (16 unidades, 1225 MHz, 1536 Mb, versão 285.62)
^^^ como testar?

Os GPUs de duplo impulso estão aqui. Muito interessante. Qual é a CPU?

Executar o guião no anexo.

Arquivos anexados:
 
Mathemat:

Então todo o trabalho é feito sobre os núcleos da CPU - não sobre as abelhas da GPU incorporada?

E o segundo: se não em abelhas, então como fazer o código correr exactamente sobre elas?

P.S. AMD fez esta confusão com a poderosa GPU a bordo por uma razão: há até 400 abelhas em A8-3850...

P.P.S. Assim, um representante dos criadores apareceu e fugiu de novo :(

Posso estar enganado quanto ao facto de funcionar em CPU, mas a julgar pelo seu posto e conhecendo as peculiaridades internas, é bem possível que o trabalho tenha sido feito na emulação de CPU da AMD.
Infelizmente na implementação actual a escolha do dispositivo depende do terminal, mas na próxima construção será possível escolher um dos dispositivos disponíveis por si mesmo.