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

 
MetaDriver: Но щас таки запущу на 4096 пчёл.  Минут за пять ЦПУ сосчитает.

И выложи хотя бы ex5, что ли, пусть другие позабавятся.

Новый билд требует перекомпиляции (из-за CLContextCreate(), очевидно). А раньше ты выкладывал тоже ex5.

 
Mathemat:

И выложи хотя бы ex5, что ли, пусть другие позабавятся.

Новый билд требует перекомпиляции (из-за CLContextCreate(), очевидно). А раньше ты выкладывал тоже ex5.

ОК.

2012.04.08 02:03:33    ParallelTester_00-02-(16x7x3) (USDJPY,M30)    CpuTime/GpuTime = 2330.657142857143
2012.04.08 02:03:33    ParallelTester_00-02-(16x7x3) (USDJPY,M30)    Result on Cpu МахResult==4.02701 at 1529 pass
2012.04.08 02:03:33    ParallelTester_00-02-(16x7x3) (USDJPY,M30)    Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 02:03:33    ParallelTester_00-02-(16x7x3) (USDJPY,M30)    CPU time = 326292 ms
2012.04.08 01:58:07    ParallelTester_00-02-(16x7x3) (USDJPY,M30)    Result on Gpu МахResult==4.02701 at 1529 pass
2012.04.08 01:58:07    ParallelTester_00-02-(16x7x3) (USDJPY,M30)    Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 01:58:07    ParallelTester_00-02-(16x7x3) (USDJPY,M30)    GPU time = 140 ms
2012.04.08 01:58:07    ParallelTester_00-02-(16x7x3) (USDJPY,M30)    OpenCL init OK!

Файлы:
 
MetaDriver:

ОК.

2012.04.08 02:03:33    ParallelTester_00-02-(16x7x3) (USDJPY,M30)    CpuTime/GpuTime = 2330.657142857143
2012.04.08 02:03:33    ParallelTester_00-02-(16x7x3) (USDJPY,M30)    Result on Cpu МахResult==4.02701 at 1529 pass
2012.04.08 02:03:33    ParallelTester_00-02-(16x7x3) (USDJPY,M30)    Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 02:03:33    ParallelTester_00-02-(16x7x3) (USDJPY,M30)    CPU time = 326292 ms
2012.04.08 01:58:07    ParallelTester_00-02-(16x7x3) (USDJPY,M30)    Result on Gpu МахResult==4.02701 at 1529 pass
2012.04.08 01:58:07    ParallelTester_00-02-(16x7x3) (USDJPY,M30)    Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 01:58:07    ParallelTester_00-02-(16x7x3) (USDJPY,M30)    GPU time = 140 ms
2012.04.08 01:58:07    ParallelTester_00-02-(16x7x3) (USDJPY,M30)    OpenCL init OK!


Обалдеть! Признавайтесь, с какой Вы планеты. С разработчиками на одном языке общаетесь. Делаете супер ускорения в вычислениях. Не с проста всё это. :))))
 
MetaDriver: ОК.

Странные дела. К тебе претензий, разумеется, никаких. Но вот какая штука.

Запускаю твой скрипт и получаю вот так:

2012.04.08 03:11:28    ParallelTester_00-02-d16x7x3w_new (EURUSD,H1)    OpenCL not found.


Запускаю твой самый первый исторический скрипт (я его подправил с учетом новейших модификаций CLContextCreate()):

2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    CpuTime/GpuTime = 24.39193381592554
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    Result on Cpu МахResult==1.20315 at 21 pass
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    CPU time = 23587 ms
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    Result on Gpu МахResult==1.20315 at 21 pass
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    GPU time = 967 ms
2012.04.08 03:12:36    ParallelTester_00-01x (EURUSD,H1)    OpenCL init OK!

Чудеса, да и только... Чего делать, куда писать? Наверно, снова в Сервисдеск?

P.S. Кстати, вот ты таки добейся, чтобы вычисления на GPU были не такими быстрыми, ну пусть хоть 300-400 ms. Может, у тебя реальное ускорение 100500 (напоминаю, это единственное число, которое больше бесконечности!), а ты об этом не знаешь? Просто у меня подозрения, что 140 ms - одно из немногих чисел, меньше которых в GetTickCount() не бывает (а если и бывает, то редко).

 
tol64:
Обалдеть! Признавайтесь, с какой Вы планеты. С разработчиками на одном языке общаетесь. Делаете супер ускорения в вычислениях. Не с проста всё это. :))))
Ну не знаю.  У нас в Казани все так пишут.
 
MetaDriver:
Ну не знаю.  У нас в Казани все так пишут.
И это правильно.
 
Mathemat:

1.  Странные дела. К тебе претензий, разумеется, никаких. Но вот какая штука.

Запускаю твой скрипт и получаю вот так:

2012.04.08 03:11:28    ParallelTester_00-02-d16x7x3w_new (EURUSD,H1)    OpenCL not found.

2.   P.S. Кстати, вот ты таки добейся, чтобы вычисления на GPU были не такими быстрыми, ну пусть хоть 300-400 ms. Может, у тебя реальное ускорение 100500 (напоминаю, это единственное число, которое больше бесконечности!), а ты об этом не знаешь? Просто у меня подозрения, что 140 ms - одно из немногих чисел, меньше которых в GetTickCount() не бывает (а если и бывает, то редко).

1.  Попробуй версию в прицепе.  Я её перекомпилял с CLContextCreate(CL_DEVICE_ANY);

2.  Нет-нет.  Всё нормально насчёт 140ms.  Бывает и гораздо меньше. (И гораздо больше тоже :))

зы. Ускорение достигнуто засчёт векторных операций в OpenCL. Курите мануал - вставляет. ;)

Файлы:
 
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    CpuTime/GpuTime = 162.8265625
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Result on Cpu МахResult==4.07621 at 824 pass
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    CPU time = 208418 ms
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Result on Gpu МахResult==4.07621 at 824 pass
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    GPU time = 1280 ms
2012.04.08 09:12:21    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    OpenCL init OK!
 
joo:

Радеон рулит!!

;)

 
MetaDriver:

Радеон рулит!!

;)

Ты дофига пасов врубил. :)
Причина обращения: