Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день всем.
Подскажите по этой очень интересной теме:
1. Существуют ли уже какие-либо советники для торговли, которые используют OpenCL для расчетов?
(более года назад объявлялось о поддержке и мы все дружно пробовали быстродействие на тестовом скрипте, но прошло много времени а тема затихла...)
2. Если в системе установлено несколько видеокарт, будут ли они все использоваться для вычислений или только одна из них ?Наверно, существуют, но вряд ли в кодобазе. Энтузиастов немного, да и далеко не все они занимаются именно этим.
OpenCL выгоден тогда, когда он позволяет дать существенное ускорение расчетов, критичное для торговли. Пихать его в алгоритм только ради того, "шоб було", или ради загрузки видеокарты, - это, сами понимаете, не слишком разумно.
Imho, самый серьезный выхлоп от него может быть при интенсивных хорошо распараллеливаемых вычислениях или для нейросетевиков. Вот у них, наверно, и стоит спросить.
Например, лично у меня есть одно стоящее направление, однако OpenCL там вряд ли нужен, т.к. толк от него вряд ли будет (слишком много операций произвольного доступа к глобальной памяти, которые, пожалуй, один только черт знает, как распараллелить). Я еще не отчаялся и не испробовал все разумные возможности - но в свободном доступе этого точно не будет.
2. Если в системе установлено несколько видеокарт, будут ли они все использоваться для вычислений или только одна из них ?
Компания что-то говорила о проблемах с несколькими картами или даже с двухголовыми. Не знаю, решены ли они.
Здравствуйте.
На МетаТрейдер5 делаю объемные расчеты, решаю задачу (моделирование игры в покер). Пишу на Мкл5 потому что я неуч и знаю только его. В этом моем деле очень важны вопросы производительности.
Я так понимаю что задачи, где каждый последующий шаг вычисления не завязан на результаты предыдущих, поддаются распараллеливанию. Отлично! У меня как раз такая задача.
Но как мне распараллелить? Если мой алгоритм оперирует структурами (struct), методы которых
- например открывает текстовый файл с жесткого диска, читает, вносит информацию в массивы структуры, закрывает текстовый файл
- ну и другие методы содержат много стандартных функций, например rand(), ArrayResize() и т.д.
Ведь OpenCl это я так понимаю язык, похожий на c++. Вообщем, вопрос, а как вообще распараллелить вычисления?
Здравствуйте.
На МетаТрейдер5 делаю объемные расчеты, решаю задачу (моделирование игры в покер). Пишу на Мкл5 потому что я неуч и знаю только его. В этом моем деле очень важны вопросы производительности.
Я так понимаю что задачи, где каждый последующий шаг вычисления не завязан на результаты предыдущих, поддаются распараллеливанию. Отлично! У меня как раз такая задача.
Но как мне распараллелить? Если мой алгоритм оперирует структурами (struct), методы которых
- например открывает текстовый файл с жесткого диска, читает, вносит информацию в массивы структуры, закрывает текстовый файл
- ну и другие методы содержат много стандартных функций, например rand(), ArrayResize() и т.д.
Ведь OpenCl это я так понимаю язык, похожий на c++. Вообщем, вопрос, а как вообще распараллелить вычисления?
Гугл в помощь.
На этом форуме вы на такой вопрос ответ не получите.
По простой комбинации двух причин:
1. Начинающие программисты на OpenCL вообще не программируют (и вообще параллелизмом не занимаются), ибо не по зубам.
2. Опытным программистам с Вами возиться шибко неохота, ибо он (ваш вопрос) требует обстоятельного изучения именно Вашей квалификации, дабы ответить на понятном для вас языке, а потом ещё свой ответ Вам долго объяснять.
Поэтому, проявите уважение к временным ресурсам опытных программистов и разберитесь в основах самостоятельно. А вот когда разберётесь и будут конкретные вопросы именно по языку (OpenCL), тогда и спрашивайте здесь. По крайней мере будет больше шансов на содержательный разговор.
можно было бы ответить что распараллелить можно
только на чистом С, только простейшие арифметические операции
OpenCL 2.0
OpenCL 2.0 is the latest significant evolution of the OpenCL standard, designed to further simplify cross-platform programming, while enabling a rich range of algorithms and programming patterns to be easily accelerated. As the foundation for these increased capabilities, OpenCL 2.0 defines an enhanced execution model and a subset of the C11 and C++11 memory model, synchronization and atomic operations.
OpenCL 2.0 is the latest significant evolution of the OpenCL standard,.............
Эт ты к чему клонишь ?
Да вот увидел такую новость и решил её сюда выложить. Интересно во всё это углубиться, да пока время найти не могу. Вот на русском эта же новость:
Принята спецификация OpenCL 2.0
Организация Khronos Group объявила о ратификации и доступности окончательного варианта спецификации OpenCL 2.0. По словам разработчиков, выход OpenCL 2.0 является значительным этапом в развитии открытого, бесплатного для использования стандарта, который упрощает кроссплатформенное параллельное программирование.
В новой версии улучшена модель исполнения и подмножества модели памяти C11 и C++11, синхронизация и атомарные операции. Как утверждается, в новой редакции OpenCL позволяет использовать существенно более широкий круг алгоритмов и паттернов программирования. В новой версии учтены пожелания разработчиков ПО, использующих OpenCL. Спецификации уже доступны на сайте Khronos.
К нововведениям и улучшениям OpenCL 2.0 относятся: совместно используемая виртуальная память, вложенный параллелизм, обобщенное адресное пространство, улучшенная работа с изображениями, включая поддержку sRGB. Кроме того, разработчики отмечают атомарные операции C11, конвейеры в памяти в виде стеков FIFO и устанавливаемые расширения драйверов для Android.
Да вот увидел такую новость и решил её сюда выложить. Интересно во всё это углубиться, да пока время найти не могу. Вот на русском эта же новость:
Принята спецификация OpenCL 2.0
Организация Khronos Group объявила о ратификации и доступности окончательного варианта спецификации OpenCL 2.0. По словам разработчиков, выход OpenCL 2.0 является значительным этапом в развитии открытого, бесплатного для использования стандарта, который упрощает кроссплатформенное параллельное программирование.
В новой версии улучшена модель исполнения и подмножества модели памяти C11 и C++11, синхронизация и атомарные операции. Как утверждается, в новой редакции OpenCL позволяет использовать существенно более широкий круг алгоритмов и паттернов программирования. В новой версии учтены пожелания разработчиков ПО, использующих OpenCL. Спецификации уже доступны на сайте Khronos.
К нововведениям и улучшениям OpenCL 2.0 относятся: совместно используемая виртуальная память, вложенный параллелизм, обобщенное адресное пространство, улучшенная работа с изображениями, включая поддержку sRGB. Кроме того, разработчики отмечают атомарные операции C11, конвейеры в памяти в виде стеков FIFO и устанавливаемые расширения драйверов для Android.
Ну это понятно. Чё делать-то с этим? В C#/C++ сваливать?
Может Ренат пусть посмотрит, что из этого можно извлечь. Вполне ведь возможно, что новая спецификация даст лучшую производительность и в MQL5 ?
По поводу C#/C++, если надо будет, можно и свалить. Главное, чтобы максимально возможный выхлоп был. ;)