OpenCL : tests de l'implémentation interne dans MQL5 - page 21

 
Urain:

Ouais, je pense que j'ai compris, tu n'es pas satisfaite avec

1. la complication des algorithmes et les dépassements de mémoire dus à leur utilisation

2. et vous voulez être en mesure de compenser au stade de la copie.

Il n'est donc pas nécessaire de copier 100 000 éléments et d'effectuer 998 000 décalages.

3. mais nous devrions laisser la variante avec offset, que nous avons maintenant, parce qu'elle nous permet de ne pas copier plusieurs fois les mêmes données, mais de les prendre pour une nouvelle tâche à partir d'un tampon CL déjà existant avec un nouvel offset.

1. non. Je n'aime pas perdre du temps à faire des copies supplémentaires. Cependant, si nous utilisons la marge, nous devrons de toute façon copier dans l'espace.

2. Oui.

3. Oui.

 
Сторонникам всемирного заговора и полным параноикам, ну или просто любителям по управлять ценой, посвящается! ;) - MQL4 форум
  • www.mql5.com
Сторонникам всемирного заговора и полным параноикам, ну или просто любителям по управлять ценой, посвящается! ;) - MQL4 форум
 

Joli. Impressionnant. Des crêpes délicieuses.

//---

Y aura-t-il un article sur OpenCL? Je ne me suis pas encore approché de ce sujet en pratique, mais il serait très intéressant de le lire en perspective. Ou au moins quelques exemples de scripts dans l'aide sur la façon de l'utiliser. Il n'y a pas assez d'informations pour tout le monde.

 

J'ai réussi à obtenir une augmentation de vitesse de x200x sur ma carte par rapport à un seul cœur de CPU.

2012.03.04 23:01:32 ParallelTester_00-01 x (EURUSD,D1)  CpuTime/GpuTime = 216.0292397660819
2012.03.04 23:01:32 ParallelTester_00-01 x (EURUSD,D1)  Result on Cpu МахResult==1.3431 at 819 pass
2012.03.04 23:01:32 ParallelTester_00-01 x (EURUSD,D1)  Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.04 23:01:32 ParallelTester_00-01 x (EURUSD,D1)  CPU time = 36941 ms
2012.03.04 23:00:55 ParallelTester_00-01 x (EURUSD,D1)  Result on Gpu МахResult==1.3431 at 819 pass
2012.03.04 23:00:55 ParallelTester_00-01 x (EURUSD,D1)  Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.04 23:00:55 ParallelTester_00-01 x (EURUSD,D1)  GPU time = 171 ms
2012.03.04 23:00:55 ParallelTester_00-01 x (EURUSD,D1)  OpenCL init OK!

Veuillez tester et poster les résultats.

CPU: AuthenticAMD AMD Phenom(tm) II X6 1100 T Processor with OpenCL 1.1 (6 units, 3311 MHz, 16345 Mb, version 2.0)
GPU: Advanced Micro Devices, Inc. Cayman with OpenCL 1.1 (20 units, 750 MHz, 1024 Mb, version CAL 1.4.1664 (VM))

Si la carte ne tire pas la mémoire, réduisez l'historique (CountBars) ou le nombre de passes (CountPass), ce qui est moins souhaitable.

Remorque du testeur multicanaux

Dossiers :
 
2012.03.04 22:24:07     ParallelTester_00-01 x (EURUSD,D1)       OpenCL init OK!
2012.03.04 22:24:08     ParallelTester_00-01 x (EURUSD,D1)       GPU time = 1513 ms
2012.03.04 22:24:08     ParallelTester_00-01 x (EURUSD,D1)       Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.04 22:24:08     ParallelTester_00-01 x (EURUSD,D1)       Result on Gpu МахResult==1.80839 at 1002 pass
2012.03.04 22:24:52     ParallelTester_00-01 x (EURUSD,D1)       CPU time = 44055 ms
2012.03.04 22:24:52     ParallelTester_00-01 x (EURUSD,D1)       Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.04 22:24:52     ParallelTester_00-01 x (EURUSD,D1)       Result on Cpu МахResult==1.80839 at 1002 pass
2012.03.04 22:24:52     ParallelTester_00-01 x (EURUSD,D1)       CpuTime/GpuTime = 29.11764705882353
2012.03.04 22:27:16     Terminal        GPU: NVIDIA Corporation GeForce GT 440 with OpenCL 1.1 (2 units, 1660 MHz, 1024 Mb, version 295.73)
2012.03.04 22:27:16     Terminal        CPU: AuthenticAMD AMD Athlon(tm) II X4 630 Processor with OpenCL 1.1 (4 units, 2812 MHz, 2048 Mb, version 2.0)
Même sur mon matériel pas très performant, le gain est visible. Test utile. Merci. (gloussements)
 

Mon résultat, une accélération de 133 fois :

2012.03.04 23:23:30     ParallelTester_00-01 x (EURUSD,D1)       CpuTime/GpuTime = 133.8285714285714
2012.03.04 23:23:30     ParallelTester_00-01 x (EURUSD,D1)       Result on Cpu МахResult==1.24101 at 1079 pass
2012.03.04 23:23:30     ParallelTester_00-01 x (EURUSD,D1)       Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.04 23:23:30     ParallelTester_00-01 x (EURUSD,D1)       CPU time = 18736 ms
2012.03.04 23:23:11     ParallelTester_00-01 x (EURUSD,D1)       Result on Gpu МахResult==1.24101 at 1079 pass
2012.03.04 23:23:11     ParallelTester_00-01 x (EURUSD,D1)       Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.04 23:23:11     ParallelTester_00-01 x (EURUSD,D1)       GPU time = 140 ms
2012.03.04 23:23:11     ParallelTester_00-01 x (EURUSD,D1)       OpenCL init OK!
2012.03.04 23:21:47     Terminal        CPU: GenuineIntel  Intel(R) Core(TM) i7-2600 CPU @ 3.40 GHz with OpenCL 1.1 (8 units, 3392 MHz, 16366 Mb, version 2.0)
2012.03.04 23:21:47     Terminal        GPU: Advanced Micro Devices, Inc. Barts with OpenCL 1.1 (14 units, 900 MHz, 1024 Mb, version CAL 1.4.1664 (VM))
 
Étonnamment, sur un seul cœur, l'i7 est deux fois plus rapide que le X6 1100T - à des fréquences comparables (l'i7 est autour de 3,8 GHz, le 1100T est à 3,7). Il est compréhensible qu'il s'agisse de tels calculs, mais la différence de vitesse du CPU sur un fil faible est monstrueuse.
 
Mathemat:
Il est étonnant de constater que sur un seul cœur, l'i7 est deux fois plus rapide que le X6 1100T - à des fréquences comparables (l'i7 est à environ 3,8 GHz, le 1100T à 3,7). Il est compréhensible qu'il s'agisse d'une telle informatique, mais la différence de vitesse du processeur sur un fil faible est monstrueuse.

J'ai beaucoup réfléchi, lu sur Google.

Je me suis gratté la tête.

Soit ils ont le mql-compilateur-optimiseur le plus avancé clampé pour eux-mêmes et ne nous le donnent pas, soit je ne sais plus.

Ça ne marche pas comme ça. "Je n'y crois pas !" (c) KSS.

Et très probablement, ils ont un générateur de code optimisé pour Intel.

C'est un scandale de toute façon ! Je vais me plaindre à l'ONU.

 
junior Intel)
2012.03.05 02:03:33     ParallelTester_00-01 x (EURUSD,D1)       OpenCL init OK!
2012.03.05 02:03:33     ParallelTester_00-01 x (EURUSD,D1)       GPU time = 234 ms
2012.03.05 02:03:33     ParallelTester_00-01 x (EURUSD,D1)       Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 02:03:33     ParallelTester_00-01 x (EURUSD,D1)       Result on Gpu МахResult==1.03434 at 315 pass
2012.03.05 02:04:01     ParallelTester_00-01 x (EURUSD,D1)       CPU time = 27471 ms
2012.03.05 02:04:01     ParallelTester_00-01 x (EURUSD,D1)       Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 02:04:01     ParallelTester_00-01 x (EURUSD,D1)       Result on Cpu МахResult==1.03434 at 315 pass
2012.03.05 02:04:01     ParallelTester_00-01 x (EURUSD,D1)       CpuTime/GpuTime = 117.3974358974359
2012.03.05 01:54:17     Terminal        GPU: NVIDIA Corporation GeForce GT 520 with OpenCL 1.1 (1 units, 1620 MHz, 512 Mb, version 285.62)

Je n'ai pas pu trouver de ligne sur le CPU dans les journaux pour une raison quelconque.

Intel Celeron G530 2.4GHz

 

C'est là que je ne comprends pas :

J'ai une GeForce GT 440 avec OpenCL 1.1 (2 unités, 1660 MHz, 1024 Mb, version 295.73) Temps GPU = 1513 ms

J' ai une GeForce GT 520 avec OpenCL 1.1 (1 unités, 1620 MHz, 512 Mb, version 285.62) Temps GPU = 234 ms

Comment cela est-il possible ?

Voici les spécifications comparées de la GeForce GT 440 et de la GeForce GT 520. La mienne est supérieure à tous les paramètres, mais le temps d'exécution est 6,5 fois supérieur.

NVIDIA GeForce GT 440 | NVIDIA
NVIDIA GeForce GT 440 | NVIDIA
  • www.nvidia.ru
Установи GeForce в свой ПК для максимальной производительности и разгони свою цифровую жизнь. Смотри потоковые HD фильмы и выводи фотографии высокого разрешения без задержек. Создай дома 3D кинотеатр с помощью Blu-Ray 3D™ и NVIDIA® GeForce®. Разгони свои любимые приложения и раздвинь границы возможностей интернет с новым поколением браузеров с...
Raison: