Automated Trading Championship 2012 – новой битве роботов быть! - страница 27

 
Mathemat:

P.S. Андре, ты прикинь, сколько видях придется закупать Метаквотам ради чемпионата...

Зачем же закупать? - вендоры сами принесут, поставят, настроят, потом заберут обратно после чемпа. Это ж какая рекламма железячным компаниям!
 
TheXpert:
Что-то ты по-моему путаешь.
А таки нашёл, вот если бы ты не сказал что не помню такого, то фиг бы вспомнил как называется, а так азарт:)
Файлы:
 
joo:
Зачем же закупать? - вендоры сами принесут, поставят, настроят, потом заберут обратно после чемпа. Это ж какая рекламма железячным компаниям!

ага щазз

а в случае глюков - антиреклама

но им надо ? 

 
Urain:

О, посмотрел код и вспомнил. Чето было :)

Но код-то твой. Я думал ты намякиваешь на то что я собственноручно код писал для проверки.

 
MetaDriver:

Если жалко - не кидай. Сам сделаю. Всё равно для каждой стратегии свой уникальный оптимизатор нужен (для максимальной скорости).

Собственно выложил выше.
 
Urain:
Собственно выложил выше.
Ага, скачал, спасиб.  Завтра буду щупать.  Сейчас поздновато уже.
 

P.S. Андре, ты прикинь, сколько видях придется закупать Метаквотам ради чемпионата...

Да не.  Мне двух-трёх минут в неделю хватит для переоптимизации.  Ну десяти хватит однозначно.  Так что, главное по времени всем не совпасть.. :))

Кстати, можно ограничить время использования ГПУ. Я только за.

При таком раскладе даже одной видеокарты (на комп) на всех хватит с избытком.

 
Mathemat:

Насколько я понял, сила исполнения на многих мухах - в 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

���������� �� GPU. ����������� ����������� AMD Radeon
  • www.ixbt.com
��� ������ �� �������� ����� ������������� �����, ����� ��� �������� ���� �������� ����� �������� �������������� ��� ��������� ����������������� � �����. ��� � GPU, ����� � ��������� ������������ � ��������������� �������������, ������� �������������� ����������� �� ���������� ��������� �������� ��� ��������� ���� ����� �������������. � ���...
 
MetaDriver: Что приводит, в общем случае, к многократному (такая ж муха не одна будет) расслоению потока выполнения с падением производительности в десятки и более (сотни) раз.

Вот очень полезная ссыль, прочти, многое утрясётся:  http://www.ixbt.com/video3/rad.shtml

Так все намного хуже, оказывается.

За ссыль спасибо, читаю.

 
Mathemat:

Так все намного хуже, оказывается.

За ссыль спасибо, читаю.

Се ля архитектура.  Бросай свой скептицизм, всё не так уж плохо, стакан наполовину полон. ;) 

// Мы сможем обойтись без ветвлений в циклах, главное изобретательность. :)

// В конце программ, после выхода из главного цикла, можно поветвиться от души - практически не сказывается на скорости.

Причина обращения: