Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Можно ли прикрутить к Кортесу-М АМДшную графическую карту?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
iiv
Добрый день,

наткнулся на AMD Adelaar и захотелось мне его прикрутить к моему агрегату - места катастрофически мало, изменяя корпус в 37мм могу влезть. Вопрос в том, можно ли как-то кормить последовательностями программных ядер и данных этот Аделаар из чего-то микроконтроллерного, например, Cortex-M7. Программировать на OpenCL умею, более того, ключевая часть решалки, которая работает у меня в аппарате уже давно мной портированна на OpenCL.

На Аделааре пик 768ГФлопс на одинарной точности, у меня обычно решалки дают 40% от пика, то есть думаю, что 300ГФлопс на одинарной, и 60ГФлопс на двойной я тут получу (двойная как две одинарные, но сдвинутые на мантиссу, родная двойная на аделааре совсем медленная).

То есть как я понимаю, мне надо имплементировать PCIe, чтобы общаться с этой картой.

Вдруг кто знает легко ли, и если не сильно заморочно, с чего начать?

PS: понятно, что идеально для меня было бы купить вообще процессор с графическим ускорителем, но в габариты 40мм, а лучше меньше, я ну ни как не влезу...

Спасибо!

ИИВ
SII
PCIe программно реализовать не удастся, она должна быть реализована аппаратно. Сомневаюсь, что в природе имеются Кортексы-М со встроенным мостом на PCIe. Таковые встречаются в некоторых Кортексах-А, например, во фрискейловских i.MX6, но там и графический ускоритель встроенный имеется.
AVI-crak
Цитата(iiv @ Oct 22 2016, 01:16) *
корпус в 37мм

Туда не влезет блок питания и радиатор, чтобы отвести 37 ват тепла.


SII - Это новая железяка, рекламируют как могут.
iiv
2SII спасибо, да, предвидел, что PCIe может быть такой проблемой, большой A9 кортекс не хотелось бы ставить, конечно можно плиску поставить но гемора будет неподецки.

Цитата(AVI-crak @ Oct 22 2016, 21:26) *
Туда не влезет блок питания и радиатор, чтобы отвести 37 ват тепла.

у меня штатно в железке есть водяное охлаждение.

Цитата(AVI-crak @ Oct 22 2016, 21:26) *
SII - Это новая железяка, рекламируют как могут.

если февраль 2014 года - это новая, тогда ой... Кроме того, я работаю в фирме, которая является официальным консультантом нвидии, наверное вы понимаете, что рекламировать своих злейших конкурентов очень не хорошо sm.gif
AVI-crak
Вы хотите установить большой жидкостный ракетный ускоритель на свой велосипед... Оно может-быть и будет двигаться, но исключительно по прямой.
Cortex-M7 и даже А9 - бесконечно слабые камни для такой графической карты. И проблема в том что они не в состоянии нагрузить полезной нагрузкой такой ускоритель.

Естественно, можно написать очень маленький рекурсивный код - который повесит абсолютно любую машину, но смысла в этом мало.
iiv
Цитата(AVI-crak @ Oct 22 2016, 22:02) *
Вы хотите установить большой жидкостный ракетный ускоритель на свой велосипед...

не такой уж он и ракетный, жалкие 768ГФлопс на сингле - это несказанно мало по современным меркам, у меня на столе стоят 23ТФлопса и почти не греются sm.gif

Также, как я писал, структура алгоритмов мне позволяет проводить вычисления с такого рода картами. Мне надо на каждом шаге скармливать около 100кбайт данных с моей переферии на карту, и запускать последовательно несколько программ-ядер (они сейчас около 20кбайт суммарной длины), и наружу забирать несколько чисел, и так примерно 10-20 раз в секунду, то есть даже хилый М4 должен потянуть трафик.

Посему давайте оставим алгоритмические аспекты мне самому на растерзание, они разумны и проходимы, мне хочется понять как разумно все это реализовать в железе.

ЗЫ: в общем-то меня даже E6460 может устроить, он, кстати еще меньше, но еле-еле, поэтому хотелось иметь производительности чуток с запасом и я на Аделаар ориентируюсь. Удивительно, что АМДшник до сих пор ничего нового с февраля 2014 года не выпустил.
AVR
Прошу прощения, это что не шутка???
Да, есть ARM процессоры, обладающие PCIe интерфейсом, для которых есть драйвера для ОС Linux, и скорее всего именно для AMD удастся подобное. Ключевой момент в поддержке ОС Linux и именно аппаратном PCIe.

Но... Cortex-M??? Без порта PCIe, без полновесной ОС, поверх которых драйвера? Вы себе представляете уровень сложности этого?


Цитата(iiv @ Oct 22 2016, 18:59) *
большой A9 кортекс не хотелось бы ставить, конечно можно плиску поставить но гемора будет неподецки.
Серьезно??? Такой вариант даже в шутку нельзя писать. Хотя, потратив 5 лет, ПЛИС с PCIe можно было бы заставить стать хостом, а затем натянуть AMDшные драйвера с OpenCL поверх Linux. Да узнайте что вообще с драйверами для не-x86 у AMD, этот экзотический AMD Adelaar вообще на ARM полетит?
iiv
Цитата(AVR @ Oct 22 2016, 22:59) *
Прошу прощения, это что не шутка???

я как раз именно без оси хотел, чтобы проще реал-тайм иметь. Вот и пытаюсь оценить проходимо ли железное кодирование от какого-то кортекса на очень простые операции по PCIe.

Цитата(AVR @ Oct 22 2016, 23:06) *
Серьезно??? Такой вариант даже в шутку нельзя писать. Хотя, потратив 5 лет, ПЛИС с PCIe можно было бы заставить стать хостом, а затем натянуть AMDшные драйвера с OpenCL поверх Linux

необходимый функционал OpenCL умещается в операциях 1. копирования по памяти, 2. старте ядер и 3. ожидании синхронизации. Сами ядра OpenCL ессно можно компилить на чем-то более удобоваримом. Тем более, как я понимаю, там есть вероятность поддержки AMDшного ROCm, что может сильно упростить жизнь.
AVR
Прошу прощения, но вижу жестокую недооценку автором темы сложности того что он хочет.
Всё не так как в фильме "железный человек", где в пещере хоп хоп и готов реактор. Можно примотать скотчем кортекс-м и эту видеокарту... Можно, разрешаю sm.gif

Начиная с аппаратного интерфейса PCIe, заканчивая открытыми драйверами OpenCL...
_pv
к stm32 какой-то radeon вроде подключали через i2c sm.gif
http://hackaday.com/2012/10/08/stm32-drivi...cie-video-card/
а там ещё и jtag должен быть. для мегабайта в секунду наверное хватит. и без PCIe.
krux
PCIe - эволюция компьютерной шины PCI.
в её спецификации заложено что это шина, а не точка-точка, что нужно проводить энумераию, распределение ресурсов (диапазоны памяти, IRQ) и много других вещей, которые без операционной системы немыслимы.
ни один производитель сейчас не выпустит проц с PCIe, не обеспечив соответствующей поддержки со стороны операционки.
То есть если у проца торчит PCIe - то у него гарантированно будет операционка с поддержкой PCIe.
далее, допустим вы решили врукопашную запустить bare-metal PCIe скажем, на уровне "без операционки", и даже смогли написать поддержку всех стандартных операций по шине PCIe. Далее возникает вопрос поддержки конкретной железки, с которой вы собираетесь работать - т.е. вам нужна карта регистров AMD-шной железки, алгоритм загрузки-выгрузки данных в неё (это всё нужно будет каким-то образом получить от производителя),, далее, нужно будет написать функции по поддержке работы с OpenCL.
итого стек "ваши функции std PCIe"-"ваши функции AMD-карты"-"ваши функции OpenCL" - это всё должен быть ваш код. боюсь, что вам 3 лет на это всё не хватит.

Цитата
1. копирования по памяти, 2. старте ядер и 3. ожидании синхронизации.

ой.
если бы всё было так просто как вы об этом пишете, то эта ниша уже была бы занята - уже были бы выпущены "AMD-карты OpenCL со встроенным процессором" и вам не пришлось бы ничего выдумывать.
Den64
Цитата(iiv @ Oct 22 2016, 20:48) *
не такой уж он и ракетный, жалкие 768ГФлопс на сингле - это несказанно мало по современным меркам, у меня на столе стоят 23ТФлопса и почти не греются sm.gif

23Тфлопса? Полный коробок процессоров на столе стоят?

Цитата(iiv @ Oct 22 2016, 18:59) *
... Кроме того, я работаю в фирме, которая является официальным консультантом нвидии, ...

Топовый графический ускоритель "нвидии" GeForce GTX 1080 TDP 180W 8 ТФЛОПС
iiv
2 _pv - огромное спасибо за наводку!

Цитата(Den64 @ Oct 23 2016, 01:26) *
Топовый графический ускоритель "нвидии" GeForce GTX 1080 TDP 180W 8 ТФЛОПС

сейчас вроде Tesla P40 из оных самая шустрая, 11ТФлопсов.
А мои 23терафлопса состоят из двух R9 295x2 (по 11терафлопсов) и еще один терефлопс в четырех 16 ядерных оптеронах. Да, стоят и не греются, но я же не уточнял, что с водяным охлаждением sm.gif я конечно понимаю, что выглядит колхозненько, но мне же считаться надо, а не светодиодами мигать.
AVR
Цитата(iiv @ Oct 23 2016, 01:12) *
2 _pv - огромное спасибо за наводку!
По ссылке результат на уровне мифов и легенд. К тому же речь только лишь о выводе изображения, или там можно задействовать и что-то более сложное типа OpenCL? Сомневаюсь.
RusikOk
вопрос к автору. что Вы такое там считаете на тех картах? аж интересно стало
Utyff
Цитата(RusikOk @ Feb 9 2017, 16:06) *
вопрос к автору. что Вы такое там считаете на тех картах? аж интересно стало


Автопилот для дрона на нейронных сетях.
Nvidia TX1 дорого стоит, но можно от АМД на коленке собрать.
RusikOk
прикольно. это научная работа или чистый энтузиазм?
Utyff
Цитата(RusikOk @ Feb 10 2017, 08:38) *
прикольно. это научная работа или чистый энтузиазм?

А есть разница? sm.gif
На самом деле это была шутка.
Пока мало кто понимает зачем нужны нейроные сети в ембеддед устройствах.
RusikOk
а Вам зачем?)
RVlad
Посмотрите в сторону x86-64 AMD Jaguar. Там есть много чего вам нужного .
Готовые модули например Qseven
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.