OparinVD 0 6 февраля, 2021 Опубликовано 6 февраля, 2021 · Жалоба Добрый день! Уже довольно давно не можем поднять линк ethernet на Альвео U50. Соединить пытаемся Альвео и штатную сетевуху 10G. Сначала была проблема с тем, что шелл резервирует под себя ресурсы физического уровня и их нельзя использовать в пользовательском RTL. С этим, вроде, разобрались с помощью примера, выложенного в секретной части сайта Xilinx. Теперь проект собирается, но линк не встаёт. При этом при запуске example project всё едет, лампочки весело мигают, значит в железной части всё хорошо. За это время перепробовали много вариантов, катались туда обратно по версиям Vitis и операционок. Пробовали MAC с training блоком и без него, всё безрезультатно, линк не встаёт, акула данные не ловит... Складывается впечатление, что дураки не мы, а инженеры Xilinx. Но это было бы странно, за столько времени, наверно, должны бы были допилить... Кто-нибудь освоил это "оружие победы" от Xilinx? Есть успешные результаты в применении? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mad_kvmg 0 9 февраля, 2021 Опубликовано 9 февраля, 2021 · Жалоба По дефолту Alveo идет с предустановленным дизайном, который подразумевает работу только с стеком XRT и Ethernet там действительно нет. Идеология kernel flow гоняет данные строго память хоста -> карта -> память хоста, сеть туда ни как не пристыковать. По другому маршрут IP flow вы сознательно отказываетесь от всех благ XRT и вся FPGA ваша. Если вы где-то из закромов Xilinx вытащили ref des с 100G CMAC и там все мигает, ну на базе него и развивайте свой проект в чем проблема то? Кабель и трансиверы вы правильно подобрали? Или 100G в 10G засунули? Там нужен brackout кабель. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
OparinVD 0 9 февраля, 2021 Опубликовано 9 февраля, 2021 · Жалоба Мы используем кабель QSFP -> 4xSFP+ каждый отдельный хвост это 10G В качестве тестов запускали прилагаемый бинарник, его не получится взять за основу. Но он дает понять, что вся связка U50 - кабель - 10G сетевуха работает. Схема работы через глобальную память и связку из OpenCL, XRT и т.д. понятна... но нам она нужна только как готовый "тунель" от прикладного ПО на хосте к ПЛИС. Стандартная схема предполагает, что подсистема Ethernet включена в шелл. Тогда ресурсы, относящиейся к Ethernet становятся не доступны в пользовательском RTL. Но Xilinx как раз предоставляет пример, когда и работа с XRT остается, и QSFP остается доступным. И вот этот пример у нас не работает. Прошу прощения, что сразу неточно описал Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mad_kvmg 0 10 февраля, 2021 Опубликовано 10 февраля, 2021 · Жалоба Quote В качестве тестов запускали прилагаемый бинарник, его не получится взять за основу. Но он дает понять, что вся связка U50 - кабель - 10G сетевуха работает. Я так понимаю, что вы запустили xbtest gt mac test case и убедились, что сеть работает. Бинарник естественно взять за основу не получиться, но CU для этого теста построен на стандартном Ethernet Subsystem IP а его уже можно взять за основу. Quote Стандартная схема предполагает, что подсистема Ethernet включена в шелл. Тогда ресурсы, относящиейся к Ethernet становятся не доступны в пользовательском RTL. Что такое стандартная схема? Что вы называете шелл, xbtest? Прочитайте тут overview стандартная подсистема это PCIe Endpoint, DMA, AXI инфраструктура и планировщик. Дальше вы делаете свои kernels используя ресурсы FPGA. Quote Но Xilinx как раз предоставляет пример, когда и работа с XRT остается, и QSFP остается доступным. Если это родной пример (суть которого не ясна) от Xilinx и не работает, то надо к Xilinx и обратиться. На forum писали, там достаточно шустро отвечают. Раньше можно было отдельный issue открыть, там прям отдельного инженера к задаче прикрепляют. Как я понимаю вы хотите принимать/отправлять данные из сети попутно их как-то обрабатывать своим kernel (RTL) и при этом пользоваться все блага XRT? Возможно Alveo не самый хороший выбор для такой задачи, это все же data center acceleration card (память -> карта -> память), а вам нужен SmartNIC. То есть, out of the box это не взлетит. IMHO, есть два пути. 1. Отказаться от kernel flow и вернуться к IP flow. Собираем железячный дизайн, собираем software стек драйвера kernel, userspace все как в старые добрые. И тогда все в ваших руках и под вашим полным контролем, без всяких там шеллов. 2. Копать xbtest gt mac test case исходники, если вообще их можно достать. Смотреть как kernel c GT работает, смотреть как ему подсунуть поток от другого kernel, а не с DMA, ну и что будет с планированием потоков данных на хосте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
OparinVD 0 10 февраля, 2021 Опубликовано 10 февраля, 2021 · Жалоба Под стандартной схемой я как раз имею в виду набор из PCIe Endpoint, DMA и MAC статически прошитый в ПЛИС, программную прослойку из XRT и OpenCL и схему работы, когда прикладное ПО скидывает крупные блоки данных в пространство Alveo и запускает кернел на исполнение. И да, нам надо обработать данные из Ethernet, не преодолевая PCIe-барьер. По этой причине SmartNIC, (если я правильно понимаю, о чем речь) не подоходят. По крайней мере тот же SolarFlare ускоряет процесс именно за счет снижения цены преодолевания этого "барьера". А Альвео приглянулась ценой и готовым хостовым ПО. Напрямую в Xilinx не писали, мы пока через Макрогрупп пытаемся разобраться. Параллельно хочу поискать людей, у кого получились успешные пуски по нашему варианту. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vovan2024 0 6 марта Опубликовано 6 марта · Жалоба Добрый день!!!! Разобрались как с QSFP в SFP передать данные? У меня пишет что Not Generated IP при сборке через Vitis ? и есть пример host программы для тестирования сети так, чтобы в wirwshark данные передавались ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться