Насколько я понимаю, DOT — это язык и сам он ничего не рисует, есть программы для визуализации.
Дело в том, что есть готовый набор скриптов на python, которые уже юзают networkx в данный момент.
И если использовать dot для python, то для этого видел только одну либу: python-graph, а значит нужно либо переходить на него, либо писать модуль для экспорта networkx графов в DOT. Оба варианта достаточно затратные по времени.
Производительность достигается путём увеличения числа ядер.
На GPU сейчас тысячи элементарных процессоров с низкой частотой. Которых можно поместить на чип почти сколько угодно.
На CPU всего пара (четвёрка, восьмёрка) ядер, но с весьма сложной логикой (предсказание ветвлений, многоуровневый кеш и прочие плюшки), они большие и энергоёмкие.
Распараллелить можно не каждый алгоритм, а если можно, то не всегда очевидно каким образом и опять же непросто отлаживать.
Пример «хорошей» задачи:
N-body problem
Матричные фильтры,
Перемножение и транспонирование матриц,
Поразрядная сортировка (radix sort),
Суммирование элементов массива (scan),
Ray-trcing
Даже эти задачи, очевидным образом решаемые на CPU могут вогнать в лёгкий (и не очень лёгкий) ступор при попытке запрограммировать их на GPU, но документация по этим вопросам есть и её много.
Пример «плохой» задачи.
Любая задача, где последуюущий блок кода зависит от предыдущего.
Или алгоритм слишком сложен для распараллеливания:
выполнение скриптовых сценок в компьютерных играх.
Выполнение правил бизнес-логики,
Обработка событий,
Работа с неразделяемым ресурсом.
И так далее.
Обычно распараллеливать и переносить на GPU имеет смысл только очень ресурсоёмкие и не очень алгоритмически сложные куски (хотя это и не всегда так).
Программист сам должен определять какая задача на каком устройстве будет исполнена.
Можно одну и ту же задачу на разных данных запустить.
Можно разные.
Но всё-равно это придётся сделать руками.
Первой моделью на основе полноценного чипа G92, со всеми включенными потоковыми процессорами, была GeForce 8800 GTS 512MB, выпущенная в конце 2007 года
Спасибо, буду юзать.
Дело в том, что есть готовый набор скриптов на python, которые уже юзают networkx в данный момент.
И если использовать dot для python, то для этого видел только одну либу: python-graph, а значит нужно либо переходить на него, либо писать модуль для экспорта networkx графов в DOT. Оба варианта достаточно затратные по времени.
Спасибо за информацию по DOT
Я хочу рисовать планарный граф, у которого все вершины одного яруса лежат на одной прямой.
Например вот так:
Хотел написать тривиальное доказательство, но alexey_uzhva уже это сделал чуть ниже. Ни о чём спор)
Поэтому пофиг.
С аналогичным поведением, интерфейсом, настройками и синхронизацией с сетью.
О том как его использует Лео Бабаута на русском:
simple.mnmlist.ru/ispolzovanie-notational-velocity/
На GPU сейчас тысячи элементарных процессоров с низкой частотой. Которых можно поместить на чип почти сколько угодно.
На CPU всего пара (четвёрка, восьмёрка) ядер, но с весьма сложной логикой (предсказание ветвлений, многоуровневый кеш и прочие плюшки), они большие и энергоёмкие.
Распараллелить можно не каждый алгоритм, а если можно, то не всегда очевидно каким образом и опять же непросто отлаживать.
Пример «хорошей» задачи:
N-body problem
Матричные фильтры,
Перемножение и транспонирование матриц,
Поразрядная сортировка (radix sort),
Суммирование элементов массива (scan),
Ray-trcing
Даже эти задачи, очевидным образом решаемые на CPU могут вогнать в лёгкий (и не очень лёгкий) ступор при попытке запрограммировать их на GPU, но документация по этим вопросам есть и её много.
Пример «плохой» задачи.
Любая задача, где последуюущий блок кода зависит от предыдущего.
Или алгоритм слишком сложен для распараллеливания:
выполнение скриптовых сценок в компьютерных играх.
Выполнение правил бизнес-логики,
Обработка событий,
Работа с неразделяемым ресурсом.
И так далее.
Обычно распараллеливать и переносить на GPU имеет смысл только очень ресурсоёмкие и не очень алгоритмически сложные куски (хотя это и не всегда так).
Вы правы. Каждый вечер я жалею, что опять не занимался иностранным языком в спортзале.
Я кажется не выспался. Процессоры делятся по половому признаку?
На страничке ATI Stream SDK в графе Supported Cards карты 4xxx серии стоят с пометкой Beta Support.
Карты пятитысячной серии на руках пока нет.
Согласен, было бы интересно.
К несчастью, флагманских моделей на руках не было.
Можно одну и ту же задачу на разных данных запустить.
Можно разные.
Но всё-равно это придётся сделать руками.
Только значения внутри одной таблицы.
И с OpenCL на AMD всё несколько плачевно, хотя это, предположительно, ненадолго.
Источник ixbt и википедия.
Про Quadro вы оказались правы, недоглядел, исправлюсь.