Automated Trading Championship 2012 – новой битве роботов быть! - страница 27
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
P.S. Андре, ты прикинь, сколько видях придется закупать Метаквотам ради чемпионата...
Что-то ты по-моему путаешь.
Зачем же закупать? - вендоры сами принесут, поставят, настроят, потом заберут обратно после чемпа. Это ж какая рекламма железячным компаниям!
ага щазз
а в случае глюков - антиреклама
но им надо ?
О, посмотрел код и вспомнил. Чето было :)
Но код-то твой. Я думал ты намякиваешь на то что я собственноручно код писал для проверки.
Если жалко - не кидай. Сам сделаю. Всё равно для каждой стратегии свой уникальный оптимизатор нужен (для максимальной скорости).
Собственно выложил выше.
P.S. Андре, ты прикинь, сколько видях придется закупать Метаквотам ради чемпионата...
Да не. Мне двух-трёх минут в неделю хватит для переоптимизации. Ну десяти хватит однозначно. Так что, главное по времени всем не совпасть.. :))
Кстати, можно ограничить время использования ГПУ. Я только за.
При таком раскладе даже одной видеокарты (на комп) на всех хватит с избытком.
Насколько я понял, сила исполнения на многих мухах - в lockstep (марше), т.е. синхронном исполнении инструкций по всем мухам. Если хотя бы одна будет запаздывать, общее время исполнения будет определяться именно этой мухой. Значит, инструкции надо "выровнять".
Иногда это можно сделать, я тут показывал на _Tast_ от joo. Там, правда, пример был неудачным, т.к. много оверхеда на лишних вычислениях и, возможно, синхронизации. Пример: этот код с ветвлением
if( clause ) а = expression1;
else a = expression2;
эквивалентен такому коду:
int iClause = (int) (clause);
a = iClause * expression1 + ( 1 - iClause ) * expression2;
Да, будут вычисляться оба выражения вместо одного, но пока ничего лучше не придумал. Зато будет lockstep и полное отсутствие ветвления.
P.S. Можно попытаться вывернуться иначе - проверять условие до создания кернела и в зависимости от результата скармливать кернел разным мухам.
Почти всё понимаешь правильно (особенно в плане "паттернов избегания" ветвления), но есть неточность (я выделил). Отстающая муха, как я понял, вообще отделяется от общей толпы и обрабатывается после всех (последовательно. это в случае если не используется барьер, который тоже отнюдь не сахар - я им драйвер уже рвал неоднократно, например при вставке в главный общий цикл). Что приводит, в общем случае, к многократному (такая ж муха не одна будет) расслоению потока выполнения с падением производительности в десятки и более (сотни) раз.
Вот очень полезная ссыль, прочти, многое утрясётся: http://www.ixbt.com/video3/rad.shtml
Вот очень полезная ссыль, прочти, многое утрясётся: http://www.ixbt.com/video3/rad.shtml
Так все намного хуже, оказывается.
За ссыль спасибо, читаю.
Так все намного хуже, оказывается.
За ссыль спасибо, читаю.
Се ля архитектура. Бросай свой скептицизм, всё не так уж плохо, стакан наполовину полон. ;)
// Мы сможем обойтись без ветвлений в циклах, главное изобретательность. :)
// В конце программ, после выхода из главного цикла, можно поветвиться от души - практически не сказывается на скорости.