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

 
Mathemat:

Aqui está mais alguma informação para Renat. Ao desinstalar o SDK, recebi uma mensagem de aviso como esta:

Isto é, embora o terminal não reconheça a pedra como um dispositivo OpenCL, mas algo no SDK ainda está de alguma forma a tentar fazer algo. Talvez seja um problema terminal?

Talvez - vamos lá ver.
 
Mathemat:

Há um problema: decidi desinstalar o AMD APP SDK (funcionou) e colocar o Intel OpenCL SDK. Mas não funcionou.

...

O que devo fazer para que esta coisa funcione? Não tenho placa de vídeo mas ainda quero executar o código no processador integrado da GPU.

Também tenho oIntel OpenCL SDK instalado e o mesmo problema. Ainda não tentei instalar o AMD APP SDK. Provavelmente tentarei um dia e dar-vos-ei a conhecer os resultados.
 
tol64: Também tenho oIntel OpenCL SDK instalado e o mesmo problema. Ainda não tentei instalar o AMD APP SDK. Talvez o experimente um destes dias e lhe comunique os resultados.
Não precisa dela porque tem a GeForce 9600M GT. Que pedra se usa?
 
Mathemat:
Não precisa dela, tem a GeForce 9600M GT. Que tipo de pedra se usa?

Apenas por uma questão de experimentação. ))

 
Mathemat:

Bem, eu tenho uma pedra nua com Intel HD Graphics dentro.

Se o seu cartão AMD é AMD então nada melhor. E este SDK "alienígena" mostrou-se muito bem na Intel HD Graphics. E levantou-se imediatamente, ao contrário do da Intel.

Mas a Intel fez o seu SDK por uma razão, especialmente para as suas próprias pedras.

No mínimo, instalar controladores AMD e sentir a diferença.

Também não tenho qualquer hardware AMD e, no entanto, tudo corre bem.

O procedimento é bastante simples: instalar controladores nativos para todos os dispositivos. Depois pegamos no software do controlador AMD OpenCL e executamo-lo. O utilitário escavará o hardware e preparará tudo como deve ser. Reinicie o seu computador e desfrute da sua vida.

Também pode instalar o AMD SDK, se tiver o desejo de programar algo. Neste caso, os condutores serão definidos automaticamente.

 
2012.03.05 01:42:20    Terminal    CPU: AuthenticAMD AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ with OpenCL 1.1 (2 units, 2009 MHz, 2047 Mb, version 2.0)

2012.03.05 01:42:20    Terminal    GPU: NVIDIA Corporation GeForce 8500 GT with OpenCL 1.0 (2 units, 918 MHz, 256 Mb, version 285.62)


2012.03.05 01:44:56    ParallelTester_00-01x (GBPJPY,H1)    CpuTime/GpuTime = 9.809641532756489
2012.03.05 01:44:56    ParallelTester_00-01x (GBPJPY,H1)    Result on Cpu МахResult==1.79346 at 725 pass
2012.03.05 01:44:56    ParallelTester_00-01x (GBPJPY,H1)    Соunt inticators = 16; Count history bars = 144000; Count pass = 1024
2012.03.05 01:44:56    ParallelTester_00-01x (GBPJPY,H1)    CPU time = 55552 ms
2012.03.05 01:44:00    ParallelTester_00-01x (GBPJPY,H1)    Result on Gpu МахResult==1.79347 at 725 pass
2012.03.05 01:44:00    ParallelTester_00-01x (GBPJPY,H1)    Соunt inticators = 16; Count history bars = 144000; Count pass = 1024
2012.03.05 01:44:00    ParallelTester_00-01x (GBPJPY,H1)    GPU time = 5663 ms
2012.03.05 01:43:55    ParallelTester_00-01x (GBPJPY,H1)    OpenCL init OK!




2012.03.16 12:18:09    Terminal    CPU: GenuineIntel  Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz with OpenCL 1.1 (4 units, 3311 MHz, 8174 Mb, version 2.0)

2012.03.16 12:18:09    Terminal    GPU: NVIDIA Corporation GeForce GTX 570 with OpenCL 1.1 (15 units, 1464 MHz, 1280 Mb, version 296.10)


2012.03.16 12:34:08    ParallelTester_00-01x (EURUSD,H1)    CpuTime/GpuTime = 120.8
2012.03.16 12:34:08    ParallelTester_00-01x (EURUSD,H1)    Result on Cpu МахResult==1.37999 at 297 pass
2012.03.16 12:34:08    ParallelTester_00-01x (EURUSD,H1)    Соunt inticators = 16; Count history bars = 144000; Count pass = 1024
2012.03.16 12:34:08    ParallelTester_00-01x (EURUSD,H1)    CPU time = 15100 ms
2012.03.16 12:33:53    ParallelTester_00-01x (EURUSD,H1)    Result on Gpu МахResult==1.37999 at 297 pass
2012.03.16 12:33:53    ParallelTester_00-01x (EURUSD,H1)    Соunt inticators = 16; Count history bars = 144000; Count pass = 1024
2012.03.16 12:33:53    ParallelTester_00-01x (EURUSD,H1)    GPU time = 125 ms
2012.03.16 12:33:53    ParallelTester_00-01x (EURUSD,H1)    OpenCL init OK!

 
joo:


2012.03.16 12:18:09    Terminal    CPU: GenuineIntel  Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz with OpenCL 1.1 (4 units, 3311 MHz, 8174 Mb, version 2.0)

2012.03.16 12:18:09    Terminal    GPU: NVIDIA Corporation GeForce GTX 570 with OpenCL 1.1 (15 units, 1464 MHz, 1280 Mb, version 296.10)

Traidor!!!

--

;)

 
joo:



2012.03.16 12:34:08    ParallelTester_00-01x (EURUSD,H1)    CpuTime/GpuTime = 120.8
2012.03.16 12:34:08    ParallelTester_00-01x (EURUSD,H1)    Result on Cpu МахResult==1.37999 at 297 pass
2012.03.16 12:34:08    ParallelTester_00-01x (EURUSD,H1)    Соunt inticators = 16; Count history bars = 144000; Count pass = 1024
2012.03.16 12:34:08    ParallelTester_00-01x (EURUSD,H1)    CPU time = 15100 ms
2012.03.16 12:33:53    ParallelTester_00-01x (EURUSD,H1)    Result on Gpu МахResult==1.37999 at 297 pass
2012.03.16 12:33:53    ParallelTester_00-01x (EURUSD,H1)    Соunt inticators = 16; Count history bars = 144000; Count pass = 1024
2012.03.16 12:33:53    ParallelTester_00-01x (EURUSD,H1)    GPU time = 125 ms
2012.03.16 12:33:53    ParallelTester_00-01x (EURUSD,H1)    OpenCL init OK!

Coloque-o por ordem sequencial, por favor:

4096

8192

16348

32768

65536

Vamos ver se vale a pena ter medo de... ;)

2012.03.16 12:34:37     ParallelTester_00-01 x Соunt inticators = 16; Count history bars = 144000; Count pass = 65536
2012.03.16 12:34:37     ParallelTester_00-01 x GPU time = 983 ms
....
2012.03.16 12:33:53     ParallelTester_00-01 x Соunt inticators = 16; Count history bars = 144000; Count pass = 32768
2012.03.16 12:33:53     ParallelTester_00-01 x GPU time = 592 ms
....
2012.03.16 12:33:05     ParallelTester_00-01 x Соunt inticators = 16; Count history bars = 144000; Count pass = 16384
2012.03.16 12:33:05     ParallelTester_00-01 x GPU time = 499 ms
....
2012.03.16 12:30:30     ParallelTester_00-01 x Соunt inticators = 16; Count history bars = 144000; Count pass = 8192
2012.03.16 12:30:29     ParallelTester_00-01 x GPU time = 234 ms
....
2012.03.16 12:29:43     ParallelTester_00-01 x Соunt inticators = 16; Count history bars = 144000; Count pass = 4096
2012.03.16 12:29:42     ParallelTester_00-01 x GPU time = 234 ms

//---

Não consigo perceber uma teoria satisfatória sobre a razão pela qual o tempo do meu sistema não está a crescer até 12800 fios concorrentes e só depois disso é que começa a comportar-se como se a partir desse momento os processos "fora de lugar" estivessem em fila de espera. A especificação do cartão diz 1280 "abelhas", ou seja, 10 vezes menos. Resumindo, devo ter sido descuidadamente empurrado 10 vezes mais núcleos. Ou talvez tenha entrado em alguma acção de férias... :)

 
2012.03.16 15:31:34    ParallelTester_00-01 x (EURUSD,H1)    Соunt inticators = 16; Count history bars = 144000; Count pass = 131072
2012.03.16 15:31:34    ParallelTester_00-01 x (EURUSD,H1)    GPU time = 2012 ms
....
2012.03.16 15:28:09    ParallelTester_00-01 x (EURUSD,H1)    Соunt inticators = 16; Count history bars = 144000; Count pass = 65536
2012.03.16 15:28:09    ParallelTester_00-01 x (EURUSD,H1)    GPU time = 1014 ms
....
2012.03.16 15:27:20    ParallelTester_00-01 x (EURUSD,H1)    Соunt inticators = 16; Count history bars = 144000; Count pass = 32768
2012.03.16 15:27:20    ParallelTester_00-01 x (EURUSD,H1)    GPU time = 562 ms
....
2012.03.16 15:26:24    ParallelTester_00-01 x (EURUSD,H1)    Соunt inticators = 16; Count history bars = 144000; Count pass = 16348
2012.03.16 15:26:24    ParallelTester_00-01 x (EURUSD,H1)    GPU time = 406 ms
....
2012.03.16 15:25:46    ParallelTester_00-01 x (EURUSD,H1)    Соunt inticators = 16; Count history bars = 144000; Count pass = 8192
2012.03.16 15:25:46    ParallelTester_00-01 x (EURUSD,H1)    GPU time = 249 ms
....
2012.03.16 15:24:53    ParallelTester_00-01 x (EURUSD,H1)    Соunt inticators = 16; Count history bars = 144000; Count pass = 4096
2012.03.16 15:24:53    ParallelTester_00-01 x (EURUSD,H1)    GPU time = 125 ms


No CountPass 262144, o condutor da placa de vídeo cai inconsciente. É verdade, volta imediatamente a aparecer.



PS o meu cartão tem 480 moscas no total.

PPS Pode ser visto que em valores CountPass mais baixos o meu cartão é mais rápido. Mas a partir de 65536 começa a ficar para trás da sua.

PPPS O seu cartão é mais barato, mas mostra resultados comparáveis aos meus.

 
joo:

PPPS O seu cartão é mais barato mas mostra resultados comparáveis aos meus.

... Sobre o qual poderia ter lido previamente em overclockers.ru :)

A propósito, quanto é que pagou?

// Comprei um Radeon 6930 por 5650p