ТС - это тоже функция, результатом которой является какой-либо кастомный показатель. Т.е. оптимизатор - это вычисление значений функции на некотором множестве, как в приведенной цитате.
Можно ли говорить тогда о целесообразности штатного OpenCL-оптимизатора? Или же есть подводные камни, которые не позволят получить столь существенные (> 2 раза) ускорения?
Больше даже интересует работа оптимизатора в мат. режиме.
А можно пояснить расшифровку в журнале о найденных устройствах с поддержкой OpenCL.
первым идет номер устройства в вашем случае это device#0 далее название устройства nvidia GTX 580, версия OpenCL устройства, а вот то что написано в скобочках не совсем понятно. Разве не должно указываться количество ALU (для nvidia CODA cores) ?? а далее идет совсем непонятная частота, не понятно к чему она относится, обычно частота видео ядра не больше 1000 Мгц.. Расшифруйте пожалуйста.
- 2012.05.16
- Sceptic Philozoff
- www.mql5.com
Добрый день всем.
Подскажите по этой очень интересной теме:
1. Существуют ли уже какие-либо советники для торговли, которые используют OpenCL для расчетов?
2. Если в системе установлено несколько видеокарт, будут ли они все использоваться для вычислений или только одна из них ?
2. Каждый эксперт может использовать только одну карту.
Несколько экспертов могут использовать несколько OpenCL устройств одновременно.
Если несколько устройств на компе могут быть вовлечены в расчёты OpenCL, то все они будут использоваться или только один из них?
Выше же был уже ответ
2. Каждый эксперт может использовать только одну карту.
А можно пояснить расшифровку в журнале о найденных устройствах с поддержкой OpenCL.
первым идет номер устройства в вашем случае это device#0 далее название устройства nvidia GTX 580, версия OpenCL устройства, а вот то что написано в скобочках не совсем понятно. Разве не должно указываться количество ALU (для nvidia CODA cores) ?? а далее идет совсем непонятная частота, не понятно к чему она относится, обычно частота видео ядра не больше 1000 Мгц.. Расшифруйте пожалуйста.
Некорректно я вопросы задал извиняюсь...
вопросы по картинке из статьи:
1. что означает "16 units" ? А почему не указывается количество ядер в видеокарте ?
2. что подразумевается под частотой 1630 MHz? полная частота видеокарты или отдельных компонентов?
Во первых, OpenCL - это собственная спецификация методов параллелизма, независимая от хардверной реализации. Поэтому нельзя искать полного совпадения со спецификациями GPU.
Юниты - это не отдельные ядра, а группы ядер. В разных архитектурах бывают разные методы группировок нескольких ядер в юниты. Например, у NVIDIA в юните может быть 8, 32, 48 ядер (или больше). В CPU режимах юниты считаются как логические ядра CPU.
Частота показывается устройства (видеокарты, например).
Дело в том, что вызов функции CLExecute - это лишь команда драйверу OpenCL, начать выполнение.
Ожидание завершения задачи OpenCL происходит при обращении к очереди
выполнения OpenCL, например при вызове функции CLBufferRead, как это происходит в данном
примере.
Между вызовами CLExecute и CLBufferRead можно выполнять любые расчёты на MQL5, которые не обращаются к очереди OpenCL.
- 2012.05.16
- Sceptic Philozoff
- www.mql5.com
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Как установить и использовать в расчетах OpenCL:
Прошло уже больше года с того момента, как в MQL5 появилась нативная поддержка OpenCL. Однако еще далеко не все пользователи оценили по достоинству возможность использования параллельных вычислений в своих советниках, индикаторах или скриптах. Эта статья призвана помочь в настройке OpenCL на Вашем персональном компьютере для того чтобы Вы могли сами попробовать данную технологию в торговом терминале MetaTrader 5.
Что такое OpenCL
OpenCL - это открытый стандарт параллельного программирования, разработанный консорциумом Khronos Group в 2008 году. Этот стандарт позволяет создавать приложения, которые могли бы выполняться параллельно на различных по архитектуре графических (GPU) или центральных (CPU) процессорах, расположенных в некоторой гетерогенной системе.
Другими словами OpenCL позволяет задействовать для вычислений одной задачи все ядра центрального процессора или все вычислительные мощности видеокарты, что, в конечном счете, уменьшает время выполнения программы. И поэтому использование OpenCL является очень полезным для задач, связанных с трудоемкими и ресурсозатратными вычислениями.
Например, применительно к MQL5, увеличение быстродействия может быть очень полезно для некоторого скрипта (индикатора или эксперта), который проводит сложный и длительный анализ исторических данных по нескольким символам и таймфреймам (здесь стоит отметить, что MQL5 программа, претендующая на параллельное исполнение, должна быть написана специальным образом при помощи OpenCL API).
Автор: MetaQuotes