Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
http://www.ixbt.com/video3/rad2.shtml. - Лучше всего использовать для больших массивов данных оптимизированные библиотеки, нежели заниматься "творчеством" по написанию программ на OpenCL (сам факт этого я неисключаю) . Можно использовать гибридную систему вычисленией малые обьёмы обрабатываются с помощью OpenCL, а большые оптимизированными библиотеками. Да! Возможно понабиться конвертировать библиотеки на специфический язык программирования и создать условия для включения этой библиотеки. Если это удасться реализовать, то получиться впечатляющий результат и соотвесвенно многократное ускорение операции. Обратите свое внимание на это.....
P.S Возможно это новая ветка в форуме
Нетехнологично это для разработчиков - подстраивать компилятор специально под крайне специфичный, хотя и уникальный в своем роде продукт.
Да и пока не вижу я трейдерских задач, требующих таких огромных размеров перемножаемых матриц.
Анонс обновления MetaTrader 5
В течение ближайших дней будет опубликовано обновление платформы MetaTrader 5. После публикации обновления будет выпущена дополнительная новость, содержащая окончательный список изменений и номера билдов. Планируются следующие изменения:
MetaTrader 5 Client Terminal build 648
MetaTester: Добавлена поддержка использования OpenCL-программ в агентах тестирования.
Разобравшиеся в OpenCL, подготовьте задачу-тест под Cloud+OpenCL. Очень интересные мат. перспективы.
Это больше к MetaDriver'у. .......................
Недавно обновил драйвер на видео ( NVIDIA 301.42 ).
Ради интереса провел один из старых тестов (ParallelTester_00-01x) и глазам не поверил.
На 24 странице делал тест, так там был прирост 29, потом поставил память в 2х канальный режим режим, стало 39.
Теперь: ~306
Чудеса. Видать НВИДИА подстрагала драйвера по человечески.fyords, а как Вы сделали так, что более ранние события выводятся в журнал выше?
А вообще это здорово, я Вас понимаю. Я так же радовался, купив по дешевке свою HD 4870 и увидев ее мощь.
Одна маленькая рекомендация: выбирайте параметры так, чтобы врeмя исполнения на GPU было сравнимо с 1 секундой. Тогда и отношение времен будет более точным. Средняя погрешность функции GteTickCount() - не меньше десятков миллисекунд. Так что время на GPU у Вас вполне могло бы получиться и 120 мс, и 170. А от этого сильно зависит величина ускорения.
Я тут слегка этот скрипт подрихтовал, чтобы он пробегал по всем доступным девайсам (смотрим снизу вверх: 1) CPU на платформе от Intel, потом 2) видяха HD 4870 на платформе от AMD, и 3) CPU на платформе AMD):
Результаты скрипта - снизу вверх!
При последнем параметре, который в 10 раз меньше, моя карта не такая шустрая, как у Вас. Наверно, не успевает разогнаться толком :)fyords, а как Вы сделали так, что более ранние события выводятся в журнал выше?
В отчетах правой кнопкой "Просмотр", в новом окне кнопка "Запрос" и лог строится по времени правильно, да и читать (мне) удобнее.
А по поводу скрипта, спасибо, попробую завтра, очень долго ждать завершения, особенно с Count pass = 12800.
Пока вот старый скрипт с Count pass = 12800
Прирост стал еще больше.Ошибка на самом деле не сильно меньше. Да, близка к ней, но бывают выбросы от среднего, групирующиеся около 32, 48 и даже больше. Они редки, не спорю, их можно не принимать во внимание.
Но когда человек запускает скрипт, он совсем не обязательно ничего не делает на компьютере. Да и система тоже свои задачки может выполнять, которые могут замедлять исполнение.
Формально стандартное отклонение действительно мало - в районе 6-7 и слабо зависит от самого времени исполнения. Но оно плохо отражает истинный разброс. Вот гистограмма времен, фиксируемых при выполнении одинаковых вычислений:
Расстояние между соседними столбиками - 16 мс. Маленькие столбики вполне вероятны, а они отличаются друг от друга уже на 32 мс. Если средний столбик ("истинное время исполнения") - 140 миллисекунд, то левый - 124 мс, а правый - 156 мс.
Значит, реальный разброс при делении на малое время исполнения на GPU может быть немаленьким:
20 секунд/124 мс ~ 161
20 секунд/156 мс ~ 128.
При этом "истинное отношение" времен исполнения примерно соответствует самому большому столбику:
20 секунд/140 мс ~ 143.
Если же брать время исполнения на GPU побольше, то влияние этой ошибки будет намного меньше. Ну пусть хотя бы будет 500 мс.
Скрипт для моделирования: