Обсуждение статьи "Как установить и использовать в расчетах OpenCL" - страница 2

 

Все замечательно: с шагом, уменьшенным до 0.01, ускорение в 100 раз:

2013.06.27 00:47:02 OpenCL_Sample (EURUSD,M15) Расчеты без OpenCL:

2013.06.27 00:47:07 OpenCL_Sample (EURUSD,M15) Вычисление значений функции = 4828 мс

2013.06.27 00:47:07 OpenCL_Sample (EURUSD,M15) Определение цветов раскраски = 469 мс

2013.06.27 00:47:07 OpenCL_Sample (EURUSD,M15)

2013.06.27 00:47:07 OpenCL_Sample (EURUSD,M15) Расчеты с OpenCL:

2013.06.27 00:47:07 OpenCL_Sample (EURUSD,M15) OpenCL: GPU device 'GeForce GTX 650' selected

2013.06.27 00:47:07 OpenCL_Sample (EURUSD,M15) Вычисление значений функции = 47 мс

2013.06.27 00:47:07 OpenCL_Sample (EURUSD,M15) Определение цветов раскраски = 31 мс

 

 Одного не хватает - практических примеров. Уже и затравка прозвучала:

Например, применительно к MQL5, увеличение быстродействия может быть очень полезно для некоторого скрипта (индикатора или эксперта), который проводит сложный и длительный анализ исторических данных по нескольким символам и таймфреймам (здесь стоит отметить, что MQL5 программа, претендующая на параллельное исполнение, должна быть написана специальным образом при помощи OpenCL API).

, но пример кода опять чисто теоретический (оторванный от трейдинга).

 

ps: это не претензия, это комментарий ) 

 

Попробовал с шагом 0.003. Не вышло: слишком мало памяти у GPU (HD6870, 1 GB).

Зато на CPU считает себе и не жужжит - даже при шаге 0.002 (в скрипте надо заменить CL_USE_ANY на номер девайса OpenCL, соответствующего CPU):

2013.06.27 09:42:51     OpenCL_Sample (EURUSD,H1)       Определение цветов раскраски = 13323 мс
2013.06.27 09:42:35     OpenCL_Sample (EURUSD,H1)       Вычисление значений функции = 10125 мс
2013.06.27 09:42:25     OpenCL_Sample (EURUSD,H1)       Расчеты с OpenCL:
2013.06.27 09:42:25     OpenCL_Sample (EURUSD,H1)       
2013.06.27 09:42:25     OpenCL_Sample (EURUSD,H1)       Определение цветов раскраски = 11888 мс
2013.06.27 09:42:11     OpenCL_Sample (EURUSD,H1)       Вычисление значений функции = 105161 мс
2013.06.27 09:40:26     OpenCL_Sample (EURUSD,H1)       Расчеты без OpenCL:

Правда, не очень быстро - но считает ведь! (При шаге 0.001 не получается - теперь уже не хватает RAM, которой у меня всего 8 GB.)

 
Mathemat:

При шаге 0.001 не получается - теперь уже не хватает RAM, которой у меня всего 8 GB.

А у меня при 0.001 то ли терминал вылетел, то ли какой-то критикал еррор выскочил. Разбираться не стал, т.к. к практике это отношения не имеет.

ps: памяти 16 

 
sigma7i:

  Некорректно я вопросы задал извиняюсь...

 вопросы по картинке из статьи:

А что это такое во второй строке, Device#2? Такое нехилое подозрение, что это AMD Radeon HD7970.

А вот почему в нем только 2 гига памяти, а не 3, как положено (у всех Tahiti памяти либо 3, либо 6)... или это уже к разрабам вопрос, как определяется количество памяти, доступной для OpenCL.

P.S. Лично мне интересна 7950, т.к. считаю, что у нее наилучшее соотношение "качество/цена" из топовых или близких к оным. 7970, конечно, тоже хороша великолепна, но говорят, что у нее с охладом не очень.

komposter: Разбираться не стал, т.к. к практике это отношения не имеет.

Андрей, ну ведь и так ясно, что практика тут будет... ну почти исключительно проприетарной. Спасибо компании, что дала удочку, не, бабло для удочки о! снабдила очень полезными инструментами, но пока не рассказала, как ими пользоваться. Ну дык это не есть ее обязанность. Дальше - копай сам.

Чтобы OpenCL был реально полезным, нужен алгорифм, который параллельно перерабатывает большое кол-во инфы и выдает нечто полезное для трейдинга.

Без этих условий, выделенных голубым, OpenCL абсолютно не нужен. Это нужно сильно постараться, чтобы так вышло, что он полезен. Но для некоторых крайне ограниченных пользователей, которых менее 5% 0,3% в общем числе, это таки возможно (надеюсь).

 
Mathemat:

Андрей, ну ведь и так ясно, что практика тут будет... ну почти исключительно проприетарной. Спасибо компании, что дала удочку, не, бабло для удочки о! снабдила очень полезными инструментами, но пока не рассказала, как ими пользоваться. Ну дык это не есть ее обязанность. Дальше - копай сам.

Чтобы OpenCL был реально полезным, нужен алгорифм, который параллельно перерабатывает большое кол-во инфы и выдает нечто полезное для трейдинга.

Без этих условий, выделенных голубым, OpenCL абсолютно не нужен. Это нужно сильно постараться, чтобы так вышло, что он полезен. Но для некоторых крайне ограниченных пользователей, которых менее 5% 0,3% в общем числе, это таки возможно (надеюсь).

Вот конкретная практическая задача - https://www.mql5.com/uws. Алгоритм работы каждой связки инструмент/ТФ - независимый, т.е. нагрузка легко распараллеливается. Понятно, что никто кроме меня этим заниматься не будет =) Я не об этом.

Хотелось бы, чтоб примеры отошли от тетрисов и рисования,  и приблизились к трейдингу. Что мешает сделать аналогичную табличку с мультивалютным анализом всей доступной истории?

Торговую панель Trading Chaos Expert
Торговую панель Trading Chaos Expert
  • отзывов: 2
  • 760.00 USD
  • 2013.06.20
  • Gennadiy Stanilevych
  • www.mql5.com
Эксперт создан в виде сигнальной панели со встроенными функциями торгового эксперта, автоматизирующего входы в позиции по проверенным трейдерам торговым сигналам, осуществляющей установку стоп-лоссов, трейлинга прибыли в полном соответствии со...
 

У меня при 0.001 возникла ошибка в работе OpenCL походу. RAM 32 Gb, на GT630 - 2 Gb

2013.07.08 04:05:50     OpenCL_Sample (EURUSD,D1)       
2013.07.08 04:05:50     OpenCL_Sample (EURUSD,D1)       Расчеты без OpenCL:
2013.07.08 04:15:53     OpenCL_Sample (EURUSD,D1)       Вычисление значений функции = 602203 мс
2013.07.08 04:17:34     OpenCL_Sample (EURUSD,D1)       Определение цветов раскраски = 90203 мс
2013.07.08 04:17:34     OpenCL_Sample (EURUSD,D1)       
2013.07.08 04:17:34     OpenCL_Sample (EURUSD,D1)       Расчеты с OpenCL:
2013.07.08 04:17:34     OpenCL_Sample (EURUSD,D1)       OpenCL: GPU device 'GeForce GT 630' selected
2013.07.08 04:17:34     OpenCL_Sample (EURUSD,D1)       Вычисление значений функции = 16 мс
2013.07.08 04:17:52     OpenCL_Sample (EURUSD,D1)       Определение цветов раскраски = 0 мс
2013.07.08 04:17:52     OpenCL_Sample (EURUSD,D1)       Access violation write to 0x00000002248953BE
 

Ну правильно. Скрипт выбрал видяху, а у нее памяти маловато.

Я уже писал выше, как выбрать CPU.

 

У меня такой результат получился:

2013.11.28 01:01:27     OpenCL_Sample (EURUSD,M1)       Расчеты без OpenCL:
2013.11.28 01:01:31     OpenCL_Sample (EURUSD,M1)       Вычисление значений функции = 3947 мс
2013.11.28 01:01:32     OpenCL_Sample (EURUSD,M1)       Определение цветов раскраски = 468 мс
2013.11.28 01:01:32     OpenCL_Sample (EURUSD,M1)       
2013.11.28 01:01:32     OpenCL_Sample (EURUSD,M1)       Расчеты с OpenCL:
2013.11.28 01:01:32     OpenCL_Sample (EURUSD,M1)       OpenCL: GPU device 'GeForce GTX 650 Ti BOOST' selected
2013.11.28 01:01:32     OpenCL_Sample (EURUSD,M1)       Вычисление значений функции = 47 мс
2013.11.28 01:01:32     OpenCL_Sample (EURUSD,M1)       Определение цветов раскраски = 31 мс
2013.11.28 01:06:53     Terminal        MetaTrader 5 x64 build 871 started (MetaQuotes Software Corp.)
2013.11.28 01:06:54     OpenCL  Device #0: CPU Intel(R) Corporation Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz with OpenCL 1.2 (8 units, 3400 MHz, 8068 Mb, version 1.2, rating 93)
2013.11.28 01:06:54     OpenCL  Device #1: GPU NVIDIA Corporation GeForce GTX 650 Ti BOOST with OpenCL 1.1 (4 units, 1071 MHz, 2048 Mb, version 331.82, rating 738)

А это результат с эмуляцией OpenCL на CPU:

2013.11.28 01:15:16     OpenCL_Sample (EURUSD,M1)       Расчеты без OpenCL:
2013.11.28 01:15:20     OpenCL_Sample (EURUSD,M1)       Вычисление значений функции = 3931 мс
2013.11.28 01:15:21     OpenCL_Sample (EURUSD,M1)       Определение цветов раскраски = 468 мс
2013.11.28 01:15:21     OpenCL_Sample (EURUSD,M1)       
2013.11.28 01:15:21     OpenCL_Sample (EURUSD,M1)       Расчеты с OpenCL:
2013.11.28 01:15:21     OpenCL_Sample (EURUSD,M1)       OpenCL: CPU device 'Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz' selected
2013.11.28 01:15:22     OpenCL_Sample (EURUSD,M1)       Вычисление значений функции = 437 мс
2013.11.28 01:15:22     OpenCL_Sample (EURUSD,M1)       Определение цветов раскраски = 31 мс
 
tol64:

У меня такой результат получился:

2013.11.28 01:06:54     OpenCL  Device #0: CPU Intel(R) Corporation Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz with OpenCL 1.2 (8 units, 3400 MHz, 8068 Mb, version 1.2, rating 93)
2013.11.28 01:06:54     OpenCL  Device #1: GPU NVIDIA Corporation GeForce GTX 650 Ti BOOST with OpenCL 1.1 (4 units, 1071 MHz, 2048 Mb, version 331.82, rating 738)

А это результат с эмуляцией OpenCL на CPU:

Таки новый комп собрал?  // поздравляю, если что.

Чёт какие-то рейтинги бешеные у тебя.  или считаются криво.  Вот мои сегодняшние:

2013.11.28 00:04:42     OpenCL  Device #1: CPU AuthenticAMD AMD Phenom(tm) II X6 1100T Processor with OpenCL 1.1 (6 units, 3840 MHz, 16345 Mb, version 2.0, rating 17)
2013.11.28 00:04:42     OpenCL  Device #0: GPU Advanced Micro Devices, Inc. Cayman with OpenCL 1.1 (20 units, 750 MHz, 1024 Mb, version CAL 1.4.1703 (VM), rating 171)

Ну не верю я в такую разницу в рейтингах.  Шо-то тут не так.

 
MetaDriver:

Таки новый комп собрал?  // поздравляю, если что.

Чёт какие-то рейтинги бешеные у тебя.  или считаются криво.  Вот мои сегодняшние:

Ну не верю я в такую разницу в рейтингах.  Шо-то тут не так.

Да, спасибо. Решил пока не мучить себя выбором конфигурации и взял попроще. ) Для изучения думаю вполне сойдёт, а если что-то будет получаться, то потом при необходимости сделаю новый апгрейд. )

Почему такие рейтинги пока не знаю. Буду тестировать/смотреть.

Вот ещё такой вариант выдаёт MT5, если монитор соединить не с видеокартой, а с графической подсистемой процессора (изменение выделил красным):

2013.11.28 10:28:55     OpenCL  Device #0: CPU Intel(R) Corporation Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz with OpenCL 1.2 (8 units, 3400 MHz, 8071 Mb, version 1.2)
2013.11.28 10:28:55     OpenCL  Device #1: GPU Intel(R) Corporation Intel(R) HD Graphics 4600 with OpenCL 1.2 (20 units, 1200 MHz, 1624 Mb, version 9.18.10.3071)
2013.11.28 10:28:55     OpenCL  Device #2: GPU NVIDIA Corporation GeForce GTX 650 Ti BOOST with OpenCL 1.1 (4 units, 1071 MHz, 2048 Mb, version 331.82, rating 738)

Результаты получаются такими же.

Давай какой-нибудь из твоих скриптиков погоняем. )

Причина обращения: