Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
https://www.mql5.com/ru/forum/227736
Перенес в шейдер. Первые 15 секунд работает исходный код на cpu, затем запускается версия на gpu.
"Необходимо перед компиляцией в файле Canvas.mqh перенести массив m_pixels[] из protected: в public:"
хмм. Интересно. Получается одинаковая скорость. Видимо потому, что нет никаких 3D преобразований.
Нужно попробовать с этим кодом.
ЗЫ используйте такую конструкцию, чтобы не исправлять оригинальные библиотеки
ЗЫЗЫ
Ой, нет! Прошу прощения - cделал ошибку в коде и поэтому не заметил, что CPU-часть совсем не выполнялась. Исправил.
Результат - через GPU в 2.5 раза быстрее.
Очень радует. Спасибо большое за данную реализацию. Чуть ее подправил.
https://www.mql5.com/ru/forum/227736
Перенес в шейдер. Первые 15 секунд работает исходный код на cpu, затем запускается версия на gpu.
Интересно с этим кодом сделать тоже самое и посмотреть как меняется выигрыш в производительности в зависимости от усложнения вычислений (увеличения центров гравитации).
В этом коде не используется массив синусов для ускорения работы, а просто вычисляется синус. А также можно менять количество вращающихся гравитационных центров.
Нужно попробовать с этим кодом.
Хочу сделать расчет индикатора полностью на гпу, надо разобраться как такие объемы данных пересылать.
Результат - через GPU в 2.5 раза быстрее.
Nikolai Semko:
В этом коде не используется массив синусов для ускорения работы, а просто вычисляется синус.
Кстати, в шейдере я использую эту формулу, так что ускорение ~10 раз.
Интересно с этим кодом сделать тоже самое и посмотреть как меняется выигрыш в производительности в зависимости от усложнения вычислений (увеличения центров гравитации).
Попробую сделать.
Хочу сделать расчет индикатора полностью на гпу, надо разобраться как такие объемы данных пересылать.
Кстати, в шейдере я использую эту формулу, так что ускорение ~10 раз.
Попробую сделать.
Думаю результаты должны вдохновить.
Да, это, действительно, очень офигенное дополнение к MQL5! Спасибо команде MQ за это.
Ведь простым включением ресурса в программу можно добиться увеличения производительности математических вычислений в разы благодаря использованию ресурсов видеокарты. При этом разгружается сам процессор. Т.е. для маркета супер вариант.
Причем если для OpenCL нужны определенные действия со стороны пользователя по установке софта, то DirectX уже установлен в Windows по умолчанию. И самое удивительное - я посмотрел на сколько увеличивается ex5 файл при использовании DirectX и не увидел вообще увеличения файла. Очень круто!!! Будем изучать и юзать.
Думаю результаты должны вдохновить.
Да, это, действительно, очень офигенное дополнение к MQL5! Спасибо команде MQ за это.
Ведь простым включением ресурса в программу можно добиться увеличения производительности математических вычислений в разы благодаря использованию ресурсов видеокарты. При этом разгружается сам процессор. Т.е. для маркета супер вариант.
Причем если для OpenCL нужны определенные действия со стороны пользователя по установке софта, то DirectX уже установлен в Windows по умолчанию. И самое удивительное - я посмотрел на сколько увеличивается ex5 файл при использовании DirectX и не увидел вообще увеличения файла. Очень круто!!! Будем изучать и юзать.
Кстати да, DX получается более универсальным, чем OCL. Те же возможности + 3D. Есть режим работы на CPU и не нужно для этого ставить драйвер на проц.
Кстати, в шейдере я использую эту формулу, так что ускорение ~10 раз.
Все таки надо считать 2.5 раза. На цпу оптимизация повлияла, а на гпу нет.
Интересно с этим кодом сделать тоже самое и посмотреть как меняется выигрыш в производительности в зависимости от усложнения вычислений (увеличения центров гравитации).
В этом коде не используется массив синусов для ускорения работы, а просто вычисляется синус. А также можно менять количество вращающихся гравитационных центров.
Я включил оптимизацию. Код переделал на 3 цикла, чтобы легче было переносить. Ограничение 512 центров. По умолчанию запускается сразу на гпу.
Все таки надо считать 2.5 раза. На цпу оптимизация повлияла, а на гпу нет.
Я включил оптимизацию. Код переделал на 3 цикла, чтобы легче было переносить. Ограничение 512 центров. По умолчанию запускается сразу на гпу.
Спасибо большое!
в 2.5 раза просто на простых вычислениях - тоже очень хороший результат. На 3D, я думаю, будет еще круче результат.
Все таки надо считать 2.5 раза. На цпу оптимизация повлияла, а на гпу нет.
Я включил оптимизацию. Код переделал на 3 цикла, чтобы легче было переносить. Ограничение 512 центров. По умолчанию запускается сразу на гпу.
Вы просили реализацию на OpenCl. Кое-что получилось. Пардоньте за код, некогда было причёсывать. Главное, что работает.
Вы просили реализацию на OpenCl. Кое-что получилось. Пардоньте за код, некогда было причёсывать. Главное, что работает.
ВАУ! Вот это да! Неожиданно для меня, признаться честно. Выигрыш более чем в 10 раз с моей скромной видеокартой.
Спасибо большое!
Вы просили реализацию на OpenCl. Кое-что получилось. Пардоньте за код, некогда было причёсывать. Главное, что работает.
Большое спасибо!
У вас расчеты в double идут? Тогда результат особенно впечатляющий.