Ранее сообщалось (http://www.opennet.me/opennews/art.shtml?num=35604) о выпуске компанией AMD кода для ядра Linux с поддержкой достаточно полезной возможности - асинхронного копирования данных между системой и GPU через асинхронный движок DMA. Данная инициатива получила логичное продолжение: независимый разработчик Marek Olšák реализовал (http://cgit.freedesktop.org/mesa/mesa/commit/?id=a70e5e2b941...) в Gallium-драйвере R600 поддержку копирования буферов через асинхронные движки DMA. Теперь gallium-драйвер сможет копировать данные асинхронно с использованием услуг упомянутого ранее кода.
В результате этих изменений ожидается довольно существенный прирост производительности открытого графического стека для видеокарт AMD, поскольку при использовании данной техники станет возможно подгружать новые данные в GPU даже когда шейдерная часть занята рендерингом сцены. Кроме того, отмечается что движок DMA сам по себе более эффективен при копировании данных, чем копирование средствами шейдерного движка.URL: http://www.phoronix.com/scan.php?page=news_item&px=MTI3MDU
Новость: http://www.opennet.me/opennews/art.shtml?num=35790
А еще кто-то говорил, что нет никакой пользы в отрытии спецификаций AMD. Ну-ну.
не "кто-то", а нв-бои
Во первых, открыли не спеки, а код.
потому что спеки давно открыты obv
Марек реализовал режим copy buffer для sync DMA, в новости на форониксе об этом сообщил разработчик AMD Кристиан Кёниг, над async DMA трудится в поти лица Джероми Глиссе. Так что ошибочка вышла.
Упс, значит я неправильно понял, попутав подвиды DMA :(. Отрихтуйте новость, раз уж в вопросе настолько компетентны.
Если это перепечатка с фороникса, то это там поспешили порадовать новой фичей, а оказалось что Марек сделал что-то другое.
Тем не менее производительность всё равно вырастет. Где-то после релиза ядра 3.8 и свежей Месы.
> Если это перепечатка с фороникса, то это там поспешили порадовать новой фичей,
> а оказалось что Марек сделал что-то другое.Угу, с оных. Но поскольку я был сонный и в итоге очень приблизительно вдуплил в суть новости - подумал что гражданин заюзал именно асинхронный DMA, который как раз в ядре недавно сделали.
> Если это перепечатка с фороникса, то это там поспешили порадовать новой фичей,
> а оказалось что Марек сделал что-то другое.Ну все, я въехал более-менее, разработчик из AMD более-менее понятно разжевал что там с DMA. В современных GPU 2 движка DMA, синхронный и асинхронный. В данном случае речь о синхронном движке, поэтому я с подачи фороникса прогнал.
Марек юзанул CP DMA (синхронный вариант движка DMA) чтобы копировать данные. Что быстрее копироапния через шейдерный движок.
Попробовал более-менее пофиксить новость.
А где тесты от фороникса? :)
Судя по комиту это для r600g.
R7xx - работает, а R600 - нет:
"R6xx doesn't work..."
> Судя по комиту это для r600g.Да, для него.