Используете ли вы возможности OpenCL для ускорения расчетов? (и обсуждение применения в торговле) - страница 4

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это просто нож в сердце. Никогда не рассматривал видео от АМД:( Буду думать что делать.
Это реальность для тех, кто считает в double, а не играется в разламывание целочисленных хешей или отработку 4х байтовых блоков картинок.
Плюс осознанный саботаж со стороны NVidia, которая продвигает исключительно свою CUDA в надежде победить. Прям вырезает любые упоминания OpenCL из рекламы и спецификаций своих карт.
Только в 2017 году под напором постоянных запросов "почему не выпускаете OpenCL 2.0?" начали говорить про "будем выпускать OpenCL 2.0 в бета версии".Привет, Николай!
Я думаю, что OpenCL - это большой задел на будущее. Его наиглавнейшее применение - графика. Учитывая мощность которую можно будет получить - это будет трехмерная графика. Визуализация рыночных процессов.
Нужно уже сейчас браться за разработку. В будущем, окупится с лихвой.
Это реальность для тех, кто считает в double, а не играется в разламывание целочисленных хешей или отработку 4х байтовых блоков картинок.
Плюс осознанный саботаж со стороны NVidia, которая продвигает исключительно свою CUDA в надежде победить. Прям вырезает любые упоминания OpenCL из рекламы и спецификаций своих карт.
Только в 2017 году под напором постоянных запросов "почему не выпускаете OpenCL 2.0?" начали говорить про "будем выпускать OpenCL 2.0 в бета версии".Получается что и карты от nvidia - TESLA - тоже не есть хороший выбор ?
ок. благодарю.
Получается что и карты от nvidia - TESLA - тоже не есть хороший выбор ?
Еще раз детальнее:
Мои тесты тесл и зоопарка NVidia карт показывают, что скорость в финасовых мат вычислениях AMD лучше всего. А NVidia ведет себя отвратительно по отношению к своим пользователеям. Как конкретный потребитель, смысла в "профессиональных" решениях от NVidia не вижу вообще.
Про "ну достаточно финансовую математику перевести в инты и потом все залетает и на нвидии" рассказывать не надо.
Еще раз детальнее:
Мои тесты тесл и зоопарка NVidia карт показывают, что скорость в финасовых мат вычислениях AMD лучше всего. А NVidia ведет себя отвратительно по отношению к своим пользователеям. Как конкретный потребитель, смысла в "профессиональных" решениях от NVidia не вижу вообще.
Про "ну достаточно финансовую математику перевести в инты и потом все залетает и на нвидии" рассказывать не надо.
Спасибо за ликбез. Склонен в данном вопросе довериться на все 100%
Попробуем для разминки решить следующую задачку:
Отправить в кернел массив из двух элементов, поменять значения элементов местами и вернуть обратно.
Первый вариант решения:
Результат выполнения:
Обратите внимание на строку использованную при создании программы для кернела и содержащую инструкцию:
CLProgramCreate(h_CL_Context,CL_Source,BuildLog)
Здесь последний параметр строкового типа BuildLog содержит лог компиляции программы отправленной в кернел, если при компиляции обнаружены ошибки.
Например, если мы намеренно внесём ошибку в код функции:
То получим следующий лог:
Используйте штатный класс COpenCL из /include/OpenCL/OpenCL.mqh и код станет чище, меньше и красивее.
Мы давно уже сделали автоматический перехват OpenCL ошибок и они показываются прямо в терминале во время исполнения:
Если забыть про графику и смотреть в сторону бустинга алгоритмов для ТА, то с практической точки зрения, с помощью OC наиболее выгодно ускорять нейронки и тому подобное (множество одновременно независимых вычислений), например всякие легкие эвристики. А в остальных мало выигрыша, т.к. на практике обычно (осмелюсь сказать что свыше 90%) это алгоритмы с малым количеством потоков, которые либо слишком тяжелые (что перегружает ядра ГП), либо слишком легкие - в место ускорения, в итоге получаем замедление, из-за потерь в передаче данных, кстати в эту категорию можно занести индикаторы, как бы странно это не звучало.
Можно, конечно еще OC использовать и для того, чтобы реализовать многопоточность в MQL5, но для этого нужно серъезный резон, т.к. код писать и поддерживать заметно сложнее.
на ноутах с неплохой дискретной карточкой (в смысле не встроенной в процессор) тоже норм ускорение
только оптимизироваться такой бот будет только на 1 агенте, насколько я помню.. т.е. либэ-либэ
Используйте штатный класс COpenCL из /include/OpenCL/OpenCL.mqh и код станет чище, меньше и красивее.
Мы давно уже сделали автоматический перехват OpenCL ошибок и они показываются прямо в терминале во время исполнения:
Ренат, для понимания механизмов работы OpenCL я намеренно не собираюсь пока использовать библиотеки, а буду вести работу на уровне встроенных объектов языка MQL. Впоследствии возможно будут использоваться и библиотеки классов.