Тем про OpenCL хватает, но задачи, которые приводятся в пример, слишком далеки от торговых.
Так что же может дать OpenCL трейдерам?
Что сможете взять, то и даст.
Да, я еще не изучал OpenCL, потому хочется узнать и прояснить основные моменты:
Сегодня сделаю исключение (настроение благодушное), но при очевидной пробуксовке на начальной стадии в дальнейшем буду скорее всего игнорить "детский лепет" и отвечать только на конкретные вопросы по программированию, притом если они не слишком тупые.
1. Это же отдельная программа, которая получает данные на вход и отдает? То есть нет вообще никакого взаимодействия из MQL?
Во время работы кернела опенЦЛ взаимодействия нет. Взаимодействие по аналогии с вызовом функции: 1. задали начальные параметры, 2. запустили расчёт, 3. забрали результат
2. Стоит ли вообще выносить поиск по массиву в OpenCL, если нужно получить только подтверждения существования соответствия?
Не знаю. Зависит от задачи. Может и не стоит. А может и стоит. Клуб телепатов знаете где? :)
3. При оптимизации каждый отдельный поток обязан выполнять свою инициализацию OpenCL и нет возможности подключится уже к активной?
Я не пробовал в оптимизаторе запускать. Но если несколько вызовов накладываются друг на друга (я это делал запуская одновременно несколько ОЦЛ-индикаторов и экспертов), то естественно тормозит.
// С потолка же не возьмутся ресурсы, да?
Если перегрузить память видеокарты (например если несколько процессов параллельно пытаются загрузить в видеопамять массивы по сумме превышающие объём её памяти), то можно "порвать драйвер" - получить полную перезагрузку (ресет) видеокарты и драйвера, с последующим сообщением о падении драйвера. По крайней мере на моей карте/драйвере это неоднократно случалось. К необратимым пагубным последствиям это не приводит, только вызвавшие падение программы обычно подвисали (их приходилось перезапускать). Раньше ещё были случаи повисания терминала, но в последнее время такого не помню.
// Впрочем, я давно уже не "рвал" драйвер нескромными запросами к памяти, примерно нащупал "границы роскоши". :)
Все очень просто: берем задачу, близкую к торговой (скажем, анализ истории котировок), - и пытаемся ее решить с помощью OpenCL. После нескольких неудачных попыток, дальнейшего штудирования литературы и новых попыток все получится, гарантирую. Но при условии способности вникать в англоязычную литературу и некоторой настойчивости, а также наличия моска в минимальных количествах.
Драйверы OpenCL уже неплохо оптимизированы и для видеокарт, и для эмуляции на процесcорах (во втором случае, пожалуй, значительно сильнее процессоры Intel). Так что нужно сильно постараться, чтобы в конце концов не получить вообще никакого положительного результата.
Так что же может дать OpenCL трейдерам?
Народ, кто шарабанит? Можно переложить на OpenCL решение линейной системы уравнений? Размер системы может быть реально большим и есть еще нюансы.
нормальный такой pdf отвечающий на твой вопрос.
Николай, спасибо за отзывчивость. Там CUDA и кода нет.
А, забыл еще одну вещь сказать -- построение матрицы занимает больше времени чем ее решение :) так что параллелить возможно надо будет построение.
Николай, спасибо за отзывчивость. Там CUDA и кода нет.
А, забыл еще одну вещь сказать -- построение матрицы занимает больше времени чем ее решение :) так что параллелить возможно надо будет построение.
Подумать надо. Исходные данные какие? // формат, структура данных интересует
В смысле из чего строим матрицу? Из связки буферов? Из дерева? Из [...] ?
- www.mql5.com
Николай, спасибо за отзывчивость. Там CUDA и кода нет.
А, забыл еще одну вещь сказать -- построение матрицы занимает больше времени чем ее решение :) так что параллелить возможно надо будет построение.
Я имел в виду не реализацию а схему. CUDA конечно отличается но общая схема таже.
Согласен с Владимиром, ты даёшь мало инфы чтоб тебе помочь.
В принципе врядли ещё кто то впишеться, так что если не хочешь на публику, можешь к любому из присутствующих в личку.
В смысле из чего строим матрицу? Из связки буферов? Из дерева? Из [...] ?
Грубо говоря, есть пространство огромной размерности (10 -- 1000 и больше), для него надо решить задачу МНК.
Решение задачи МНК сводится в итоге к
(1) построению уравнений производных
(2) решению системы уравнений, полученных в (1)
Сейчас львиную долю времени решения занимает (1). Чем больше размерность, тем больше часть.
У параллельных алгоритмов есть всего 2 фишки дающих преимущество над последовательными.
Это алгоритм расчёски, когда каждый зубок берёт свою нить и тянет по всей длине.
И пирамидное сворачивание/разворачивание. Разворачивание реже в основном сворачивание.
Если в постановке задачи нет ни одной из этих фишек, то параллельный решатель не даст преимущества, а чаще будет медленее из-за дороговизны загрузки памяти.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Тем про OpenCL хватает, но задачи, которые приводятся в пример, слишком далеки от торговых.
Так что же может дать OpenCL трейдерам?
Да, я еще не изучал OpenCL, потому хочется узнать и прояснить основные моменты: