LINUX.ORG.RU

История изменений

Исправление aist1, (текущая версия) :

А я вот стеснялся спросить, водятся ли в природе нынче такие FPGA, которые прямо на скаку можно допрограммировать, ну или кусочек перепрограммировать?

Технически в этом нет никаких проблем, обычно, если прошивка FPGA храниться в SRAM и сама FPGA позволяет загружать прошивку частично. Тут проблема в том, что дизайн будет делаться, исходя из конкретного места на FPGA, которое может быть уже занято другими дизайнами. Для этого вводят понятие модулей (единиц реконфигурируемости), а сама фича называется partial reconfiguration. Если я правильно понимаю, акселераторы Alveo как раз её и используют.

Предельный случай — это когда дизайн сам по себе «полиморфный», т.е. умеет меняться по ходу выполнения вычислений, представляет из себя интересную исследовательскую задачу. Но на практике его сложно будет реализовать, так как для такой само-модификации нужно выполнить слишком много работы. Очень грубо говоря, запихнуть Vivado в FPGA. Непрактично, так как в самом лучшем случае, скорость такой реконфигурации будет составлять от нескольких часов до нескольких дней. Создание прошивки — работа медленная и неторопливая.

Исправление aist1, :

А я вот стеснялся спросить, водятся ли в природе нынче такие FPGA, которые прямо на скаку можно допрограммировать, ну или кусочек перепрограммировать?

Технически в этом нет никаких проблем, обычно, если прошивка FPGA храниться в SRAM и сама FPGA позволяет загружать прошивку частично. Тут проблема в том, что дизайн будет делаться, исходя из конкретного места на FPGA, которое может быть уже занято другими дизайнами. Для этого вводят понятие модулей (единиц реконфигурируемости), а сама фича называется partial reconfiguration. Если я правильно понимаю, акселераторы Alveo как раз её и используют.

Предельный случай — это когда дизайн сам по себе «полиморфный», т.е. умеет меняться по ходу выполнения вычислений, представляет из себя интересную исследовательскую задачу. Но на практике его сложно будет реализовать, так как для такой само-модификации нужно выполнить слишком много работы. Очень грубо говоря, запихнуть Vivado в FPGA. Непрактично, так как в самом лучшем случае, скорость такой реконфигурации будет составлять от нескольких часов до нескольких дней. Создание прошивки — работа медленная и неторопливая.

Исправление aist1, :

А я вот стеснялся спросить, водятся ли в природе нынче такие FPGA, которые прямо на скаку можно допрограммировать, ну или кусочек перепрограммировать?

Технически в этом нет никаких проблем, обычно, если прошивка FPGA храниться в SRAM и сама FPGA позволяет загружать прошивку частично. Тут проблема в том, что дизайн будет делаться, исходя из конкретного места на FPGA, которое может быть уже занято другими дизайнами. Для этого вводят понятие модулей (единиц реконфигурируемости), а сама фича называется partial reconfiguration. Если я правильно понимаю, акселераторы Alveo как раз её и используют.

Предельный случай — это когда дизайн сам по себе «полиморфный», т.е. умеет меняться по ходу выполнения вычислений, представляет из себя интересную исследовательскую задачу. Но на практике его сложно будет реализовать, так как для такой само-модификации нужно выполнить слишком много работы. Очень грубо говоря, запихнуть Vivado в FPGA. Непрактично.

Исходная версия aist1, :

А я вот стеснялся спросить, водятся ли в природе нынче такие FPGA, которые прямо на скаку можно допрограммировать, ну или кусочек перепрограммировать?

Технически в этом нет никаких проблем, обычно, если прошивка FPGA храниться в SRAM и сама FPGA позволяет загружать прошивку частично. Тут проблема в том, что дизайн будет делаться, исходя из конкретного места на FPGA, которое может быть уже занято другими дизайнами. Для этого вводят понятие модулей (единиц реконфигурируемости), а сама фича называется partial reconfiguration. Если я правильно понимаю, акселераторы Alveo как раз её и используют.