Быстрая жизнь Конвея на ГПН


В следующий раз, когда ваша реализация алгоритма будет работать немного медленно, почему бы не использовать какое-нибудь специальное оборудование для его параллельного вычисления? Это то, что Купер Биллс сделал в студенческом проекте игры «Жизнь».

Игра Жизни, то есть Жизнь Конвея, а не беспорядочная биология, увлекательна из-за сложности, возникающей из нескольких простых правил. Одна из проблем в том, чтобы увидеть, как он себя ведет, заключается в том, что большинство симуляций Жизни проходят медленно. Теперь у нас есть специальный компьютер, построенный с использованием FPGA, который может производить генерацию с полной частотой кадров и полным разрешением VGA, то есть 60 Гц при 640×480.

Если вы не выполнили арифметику, она включает более 18 миллионов обновлений в секунду. Решение представляет собой массовое параллельное обновление с использованием специального оборудования, реализованного с использованием программируемой вентильной матрицы FPGA. Сетка была разделена на столбцы шириной восемь ячеек, и оборудование вычисляет каждую строку по очереди непосредственно перед сканированием VGA, требующим данных, т.е. вывод создается на лету. Все вычисления завершаются задолго до того, как сканированию потребуются данные, и в принципе оно могло бы работать быстрее.

В результате получается очень быстрая анимация жизни в действии, как вы можете видеть на видео:


Добавить комментарий