Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Задачи должны быть относительно тяжёлыми, тогда есть смысл использовать OCL, иначе загрузка и выгрузка данных в/из устройства может всё преимущество съесть.
Я делал оптимизацию на i5, 4 ядра, ускорение получал почти в 4 раза ~ 3.8, то есть прирост почти линейный от количества ядер.
ЗЫ Подобное ускорение, 3,8 раза, получал на неоптимизированном коде, без ухищрений для синхронизации потоков.
Речь шла о работе с результатами оптимизации. Я обновил сообщение, указав ссылку на комментарий, к которому оно относилось.
Речь шла о работе с результатами оптимизации. Я обновил сообщение, указав ссылку на комментарий, к которому оно относилось.
По поводу идеи, описанной в #860
Очень важно количество задач. Если речь идёт о результатах быстрой оптимизации, то чаще всего их примерно 10к. По крайней мере, у меня так было в большинстве случаев. Максимум, который я видел, это 25к. Для OpenCL это очень мало. Не думаю, что получится какой-то прирост по сравнению со встроенными функциями.
Допустим, можно растянуть вширь по параметрам, они вроде в большинстве не связаны друг с другом. Количество значений ENUM_STATISTICS около 40. Можно для каждого из проходов одновременно считать все параметры. Пусть получится 25к*40 = 1000000 задач. Это вот тот минимум, при котором можно начать задумываться о реализации на OpenCL.
Но кому это будет нужно? Допустим, есть функция, которая считает всю статистику по всем проходам за 100мс. Что дальше с этим делать?
Я бы взял какую-нибудь тему по OpenCL, например ту же №58, но я не вижу в ней особого смысла. Статья ради статьи? Либо я что-то не так понимаю.
В какой то степени так и есть - пример ради примера. Просто пример расчёта кучи торговых статиски на основе 1 миллиона (например) набора проходов оптимизации покажет как понятный трейдерам код из MQL5 перенести на OpenCL. Похожая на это задача - как на коллекции тиков последовательностей по N символов периодически искать паттерны/отклонения в потоке так, чтобы минимально тормозить работу MQL5 программы.
Начните, Дмитрий, там разберемся.
Немного начал, написал введения, планы. Может какие пожелания или требования будут?
Тут у нас в ветке по МО созрела мысль, что с появлением великого множества алгоритмов для машинного обучения, все сложнее становится оптимальный вариант их выбора и не плохо было бы поискать для этого какие-то методики и сравнительные тесты.
В связи с этим вопрос к администрации - можно ли эту тему добавить в перспективный перечень статей?
Это м.б. представлено, например как сравнительный анализ различных модификаций нейросетей, случайных лесов и.т.д. и включать методики и примеры тестирования их в составе советников обучаемых с аналогичными параметрами и наборами входных данных.
Для максимальной объективности и того, что бы охватить больше вариантов, наряду с MQL библиотеками типа AlgLib подключаем много дополнительных из Python и R.
Для OpenCL хорошо бы сделать пример простого скрипта для комбинации и подсчета финансового результата по этим комбинациям.
Условия такие - есть поле 5000 строк, таких полей 512, значение строки 0 или 1 (можно и больше вариантов), задача перебрать все 512 полей склеивая их друг с другом (варианты склеек могут быть с разными условиями, к примеру значение трех полей равно 1, то 1, иначе 0) - число комбинаций 512*512*512. Если в строке значение 1, то из отдельного массива, берем значение - допустим 10, если же значение 0, то ничего не берем. В конце суммируем полученный результат, фильтруем по нижнему приделу и сохраняем в файл комбинации и их значения.
Такая вот задачка, которая не быстро решается на ЦП, но должна быстро решаться на GPU - очень интересно увидеть как её решать.
Задача актуально для МО.
Для OpenCL хорошо бы сделать пример простого скрипта для комбинации и подсчета финансового результата по этим комбинациям.
Условия такие - есть поле 5000 строк, таких полей 512, значение строки 0 или 1 (можно и больше вариантов), задача перебрать все 512 полей склеивая их друг с другом (варианты склеек могут быть с разными условиями, к примеру значение трех полей равно 1, то 1, иначе 0) - число комбинаций 512*512*512. Если в строке значение 1, то из отдельного массива, берем значение - допустим 10, если же значение 0, то ничего не берем. В конце суммируем полученный результат, фильтруем по нижнему приделу и сохраняем в файл комбинации и их значения.
Такая вот задачка, которая не быстро решается на ЦП, но должна быстро решаться на GPU - очень интересно увидеть как её решать.
Задача актуально для МО.
нарисуйте графически, что требуется.
нарисуйте графически, что требуется.
Лучше я приложу код, как это сейчас работает для 512на512, но без класса отвечающего за чтение/запись (он не мой просто).
Думаю, что это задачу можно быстро решать на GPU.Лучше я приложу код, как это сейчас работает для 512на512, но без класса отвечающего за чтение/запись (он не мой просто).
Думаю, что это задачу можно быстро решать на GPU.