OpenCL: внутренние тесты реализации в MQL5 - страница 66

 

Mathemat:

2012.06.02 05:49:25     OpenCL  CPU: GenuineIntel  Intel(R) Pentium(R) CPU G840 @ 2.80GHz with OpenCL 1.2 (2 units, 2793 MHz, 8040 Mb, version 2.0 (sse2))
2012.06.02 05:49:25     OpenCL  GPU: Advanced Micro Devices, Inc. ATI RV770 with OpenCL 1.0 (10 units, 780 MHz, 512 Mb, version CAL 1.4.1720)
2012.06.02 05:49:25     OpenCL  CPU: Intel(R) Corporation  Intel(R) Pentium(R) CPU G840 @ 2.80GHz with OpenCL 1.1 (2 units, 2800 MHz, 8040 Mb, version 1.1)

Т.е. вначале Intel CPU с движком OCL от Intel, потом мой динозавр HD 4870, а потом снова камень, но с движком от AMD. Скрипт:

А версии разные, т.е. версия не зависит от железа?

У меня OCL AMD 1.1, это можно как-то исправить на 1.2? Может шустрее станет.

Нашел новый AMD APP SDK 2.7 с поддержкой OCL 1.2, скачаю отпишусь с новыми результатами (если изменятся).

Поставил, версия не изменилась. Наверно нет аппаратной поддержки или еще чего. 

 
fyords: Поставил, версия не изменилась. Наверно нет аппаратной поддержки или еще чего. 

Не может быть. Должен встать 1.2. Уж AMD в первую очередь позаботилась бы о своих камнях, а потом о чужих. А на чужие встает. Да и SSE2 уже давным-давно у обоих производителей есть.

Но разница невелика - процентов 10, может быть.

 
Mathemat:

Не может быть. Должен встать 1.2. Уж AMD в первую очередь позаботилась бы о своих камнях, а потом о чужих. А на чужие встает. Да и SSE2 уже давным-давно у обоих производителей есть.

Но разница невелика - процентов 10, может быть.

Наверно у меня винда "крашится". Недавно обновления перестали работать, теперь вот пишет, что мол "версия не является подлинной". Ладно, пока дышит - пусть дышит. Потом переставлять буду и сразу OCL новый кину.

 

А SSE2 есть и даже больше. Конечно, 10% это не много, но все равно приятно.

П.С.: Спасибо за разъяснения. 

 
ilovebtc:

К примеру у меня видеокарта Radeon 6930, в ней 1280 потоковых процессоров. Как она будет отображаться в списке агентов?. Как 1 устройство, или все 1280.

Она одна в разы быстрее чем 10 процессоров, а бонус то канет не за 1 добавленное устройство.

Видеокарта не может работать с кодом написанным на mql.  Она может работать только с кодом написанным на специализированных языках (в нашем случае OpenCL). Поэтому  видеокарты в облаке будут полезны только для mql-программ использующих OpenCL-API (со вставками на OpenCL).

Если Вы всё это понимаете - не обращайте внимания на мой комментарий.  Мне просто показалось, что ряд товарищей на форуме ожидает от подключения к облаку OpenCL-устройств прибавки в производительности самых обычных mql5-программ не использующих OpenCL. Это не так.

 

Инсталирал интелский и AMD SDK.

 

2012.06.07 18:40:28 OpenCL CPU: Intel(R) Corporation Intel(R) Core(TM)2 Duo CPU T8100 @ 2.10GHz with OpenCL 1.1 (2 units, 2100 MHz, 2045 Mb, version 1.1)

2012.06.07 18:40:28 OpenCL CPU: GenuineIntel Intel(R) Core(TM)2 Duo CPU T8100 @ 2.10GHz with OpenCL 1.2 (2 units, 2094 MHz, 2045 Mb, version 2.0 (sse2)) 

2012.06.07 18:40:55 vect_v2_all_devices (EURUSD,H1) =======================================
2012.06.07 18:40:55 vect_v2_all_devices (EURUSD,H1) OCL martices mul:         ROWS1 = 2000; COLSROWS = 2000; COLS2 = 2000
2012.06.07 18:50:04 vect_v2_all_devices (EURUSD,H1) CPUTime = 548.515
2012.06.07 18:50:04 vect_v2_all_devices (EURUSD,H1) ---------------
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) read = 4000000 elements
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) Device = 0: time = 15.975 sec.
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) CPUTime / GPUTotalTime = 34.336
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 1571,356 ) = 2.88011026;    thirdCPU[ 1571,356 ] = 2.88011026;    buf[ 1571,356 ] = 2.88010764
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 791,407 ) = 1.36050534;    thirdCPU[ 791,407 ] = 1.36050534;    buf[ 791,407 ] = 1.36050797
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 1920,1928 ) = 2.97455144;    thirdCPU[ 1920,1928 ] = 2.97455144;    buf[ 1920,1928 ] = 2.97455001
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 386,216 ) = -1.05270028;    thirdCPU[ 386,216 ] = -1.05270028;    buf[ 386,216 ] = -1.05269444
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 158,1896 ) = 2.30077577;    thirdCPU[ 158,1896 ] = 2.30077577;    buf[ 158,1896 ] = 2.30077529
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 1403,1477 ) = 5.44755507;    thirdCPU[ 1403,1477 ] = 5.44755507;    buf[ 1403,1477 ] = 5.44755411
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 190,97 ) = -0.19755134;    thirdCPU[ 190,97 ] = -0.19755134;    buf[ 190,97 ] = -0.19754831
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 694,1569 ) = 5.30565643;    thirdCPU[ 694,1569 ] = 5.30565643;    buf[ 694,1569 ] = 5.30566406
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 1084,703 ) = -0.40982622;    thirdCPU[ 1084,703 ] = -0.40982622;    buf[ 1084,703 ] = -0.40982300
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 613,1814 ) = -2.08050942;    thirdCPU[ 613,1814 ] = -2.08050942;    buf[ 613,1814 ] = -2.08050990
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) ________________________
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) read = 4000000 elements
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) Device = 1: time = 14.868 sec.
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) CPUTime / GPUTotalTime = 36.892
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 726,1509 ) = -3.87149954;    thirdCPU[ 726,1509 ] = -3.87149954;    buf[ 726,1509 ] = -3.87148523
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 408,1551 ) = -3.54236746;    thirdCPU[ 408,1551 ] = -3.54236746;    buf[ 408,1551 ] = -3.54237366
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 837,1133 ) = -1.46401167;    thirdCPU[ 837,1133 ] = -1.46401167;    buf[ 837,1133 ] = -1.46400595
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 1885,1406 ) = 3.41383481;    thirdCPU[ 1885,1406 ] = 3.41383481;    buf[ 1885,1406 ] = 3.41383505
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 419,930 ) = -2.05204225;    thirdCPU[ 419,930 ] = -2.05204225;    buf[ 419,930 ] = -2.05204272
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 895,1065 ) = 2.29360199;    thirdCPU[ 895,1065 ] = 2.29360199;    buf[ 895,1065 ] = 2.29360104
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 1687,1449 ) = 2.12151670;    thirdCPU[ 1687,1449 ] = 2.12151670;    buf[ 1687,1449 ] = 2.12152243
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 1227,1863 ) = 4.48004580;    thirdCPU[ 1227,1863 ] = 4.48004580;    buf[ 1227,1863 ] = 4.48004818
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 1545,234 ) = 2.60638309;    thirdCPU[ 1545,234 ] = 2.60638309;    buf[ 1545,234 ] = 2.60638452
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 446,1500 ) = -8.61246967;    thirdCPU[ 446,1500 ] = -8.61246967;    buf[ 446,1500 ] = -8.61247253
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) ________________________

 

Ето плохо или хорошо ? 

 
Manov: Ето плохо или хорошо ? 

Ну это ж 2-ядерный мобильный процессор, выпущенный 4.5 года назад.

Прогресс на месте не стоит: похоже, главную роль в нем таки играют новые SSE-инструкции и прочие архитектурные новшества. Мой бюджетный "пенёк" в этой задаче быстрее в 4-5 раз :)

Но на OpenCL дает очень хороший прирост. Все нормально, примерно так и должно быть.

 
Mathemat:

Ну это ж 2-ядерный мобильный процессор, выпущенный 4.5 года назад.

Прогресс на месте не стоит: похоже, главную роль в нем таки играют новые SSE-инструкции и прочие архитектурные новшества. Мой бюджетный "пенёк" в этой задаче быстрее в 4-5 раз :)

Но на OpenCL дает очень хороший прирост. Все нормально, примерно так и должно быть.

Большое Спасибо!

Правильно ли я понимаю, что для большие мат.разчеты если ползую OpenCL, время для разчеты будет 30+ раза менше  ?!?

 
Manov: Правильно ли я понимаю, что для большие мат.разчеты если ползую OpenCL, время для разчеты будет 30+ раза менше  ?!?

Ну да, примерно - на дискретной карте. Во всяком случае, моя HD 4870 проходит те же вычисления за 0.5 секунды.

Но следует понимать, что не все интенсивные расчеты поддаются приличному ускорению.

 

Добрый вечер всем. 

Пытался разобраться в применении OpenCL в Метатрейдере5, но не смог вникнуть в суть.

Подскажите, можно ли использовать видеокарту для дополнительного ускорения тестирования в Тестере МТ5 и что для этого нужно сделать.

я также пробовал скрипт parallel_tester_00-01x_new_cycle, но как он работает ?? 

 
vittt:

Добрый вечер всем. 

Пытался разобраться в применении OpenCL в Метатрейдере5, но не смог вникнуть в суть.

Подскажите, можно ли использовать видеокарту для дополнительного ускорения тестирования в Тестере МТ5 и что для этого нужно сделать.

я также пробовал скрипт parallel_tester_00-01x_new_cycle, но как он работает ?? 

Есть две замечательные статьи на этом сайте по этой теме, в которых очень подробно всё описано: