LINUX.ORG.RU

Ускорители NVIDIA получат прямой канал взаимодействия с NVMe накопителями

 ,


2

2

NVIDIA представила GPUDirect Storage — новую возможность, которая позволяет графическим процессорам напрямую взаимодействовать с хранилищем NVMe. Технология использует RDMA GPUDirect для передачи данных в локальную память графического процессора без необходимости задействовать центральный процессор и системную память. Этот шаг является частью стратегии компании по расширению охвата приложений в области анализа данных и машинного обучения.

Ранее, NVIDIA выпустила RAPIDS — набор инструментов и библиотек с открытым исходным кодом для поддержки аналитики на основе графических процессоров и добавила поддержку ускорения на GPU в Apache Arrow и Spark.

Закрытая альфа-версия уже стартовала для некоторых клиентов компании, публичная бета запланирована на ноябрь 2019 года.

>>> Подробности

★★★★★

Проверено: jollheef ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Thero

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

То есть видеокарта должна понимать все файловые системы, которые можно навернуть на внешнее хранилище? Или там будет raw?

imul ★★★★★
()
Ответ на: комментарий от imul

Я так понимаю оно будет использоваться как тормозный имитатор видеопамяти. Те программы заливают во внутренних форматах туда сами всё.

anonymous
()
Ответ на: комментарий от A-234

«Всякие запросы к базам данных получают результат практически в момент считывания, там узким местом всегда была пропускная способность шины. »

Вот это верно, шина - головная боль современных видеокарт. Костыль в виде Slim так и не взлетел. Взлетит ли этот чудо-костыль.

anonymous
()
Ответ на: комментарий от anonymous

Ок. Вот есть игруля например. У неё есть в файлах какие-то данные, нужные видеокарте.
Игруля льёт эти данные в видеокарту, а видеокарта переливает их в эту хранилку? А потом подгружает из этой хранилки по мере надобности уже без внешней помощи?
Или игруля льёт эти данные в хранилку в готовом для видеокарты виде? Но как она это делает?
Пусть не игруля, а какая-то очень серьёзная программа для физических/химических/etc рассчётов и ей надо залить какой-то датасет. Как это работает?

imul ★★★★★
()
Ответ на: комментарий от imul

Как писал выше, я считаю, что на ЦП остаются эти драйверы. А дальше 2 варианта: ЦП , как и раньше дергает dma, но указывает получателем не свою память, а память gpu. Просить gpu забирать из памяти уже не надо.; Или ЦП передаст карту блоков, а GPU по ней сам запросит.

Еще интересней отобразить накопители в общее адресное пространство по типу hUMA. Тогда в некоторых случаях даже «копирование» не нужно будет.

boowai ★★★★
()
Ответ на: комментарий от imul

Раньше было так. Загрузка данных в память, потом в память видеокарты, потом рисовашки. Процесс рисовашек был трехступенчатым. Как сейчас - не знаю. Но идея древняя как мир.

anonymous
()
Ответ на: комментарий от anonymous

Опечатался, процесс инициализации данных для видеокарты был двухступенчатым. Третья ступень - сами рисовашки.

anonymous
()
Ответ на: комментарий от imul

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

Thero ★★★★★
()
Ответ на: комментарий от imul

игруля льёт эти данные в хранилку в готовом для видеокарты виде?

Эм, а есть какой-то смысл делать иначе и где-то делается иначе? В крайнем случае драйвер за кадром делает чтоб было збс.

Но как она это делает?

Дёргает обычные API, драйвер делает чтоб всё было збс. Настоящая видеопамять работает как кэш для этого ssd.

anonymous
()
Ответ на: комментарий от anonymous

Раньше было так. Загрузка данных в память, потом в память видеокарты, потом рисовашки.

Ну этот процесс мне понятен в том плане где что лежит в виде удобном для хранения и как потом где оказывается уже в виде удобном для использования. Разница может быть в сжатии/шифровании в месте хранения.
А вот как в данном случае будет хранится и в каком виде будет перекладываться не совсем понятно.

imul ★★★★★
()
Ответ на: комментарий от anonymous

Эм, а есть какой-то смысл делать иначе и где-то делается иначе? В крайнем случае драйвер за кадром делает чтоб было збс.

Тогда игруля/операционка должна знать как укладывать данные в хранилку. Если это raw, или что-то особенное, то как минимум надо уметь в это писать.

Дёргает обычные API, драйвер делает чтоб всё было збс.

Драйвер видеокарты? Тогда в чём разница? Всё-равно же в этом случае ЦП пуляет в видеокарту. Просто не кусками по мере потребности, а вообще всё что может понадобиться, а может и не понадобиться.

imul ★★★★★
()
Ответ на: комментарий от anonymous

Нет есть конечно и не PCI шина унутрях, но болт-то как раз PCI.

Ну это полуболт. Болт вообще задумывался как шланг диаметром с петабайт, но потом его урезали, чтобы продать одно и то же, просто убирая урезанные части постепенно. Это маргетинг. Болт, в своей первоначальной задумке, способен напряч писиай так, что от писиая пришлось бы отказаться. Да, всё равно всё упирается в проц в итоге — если но может только два писиай х16, то больше всё равно из него не выжать. Просто писиай — довольно широкая шина в аппаратном смысле, а болт — довольно узкая и работает по типу точка — точка, что логичнее с учётом ограниченности процессора и всяких SLI/CrossFire, которые и так на писиай кладут.

anonymous
()
Ответ на: комментарий от pihter

Это потакание сиюминутным тенденциям, вместо заблаговременного системного планирования. Именно такое привело к десктопным приложениям на js-фреймворках

+100

anonymous
()
Ответ на: комментарий от anonymous

Один фигню написал, другой заплюсовал, увидев привычное кряхтение про фреймворки. Типичные ЛОРодноклассники.

anonymous
()
Ответ на: комментарий от Thero

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

Как физически они будут гоняться понятно. Непонятно кто и как будет понимать куда в каком формате это писать и как это укладывать. По крайней мере мне это не понятно. Возможно просто от недостатка информации.

imul ★★★★★
()
Ответ на: комментарий от anonymous

«Да, всё равно всё упирается в проц в итоге — если но может только два писиай х16, то больше всё равно из него не выжать»

Сейчас все упирается в PCI. Красные и зеленые давно слюнями брызжут, глядя на реализацию тех же плоек.

anonymous
()
Ответ на: комментарий от pihter

Это ж, вроде, прошлый век. Я читал про спец-девайсы, которые бай дизайн заточены под взятие хешей для майнинга, мол, они на порядки уделывают в этой работе видюхи.

Это зависит от алгоритмов криптовалюты. А так же от уровня развития майнера. Т.к. желающих продать видяху или даже ферму какому-нибудь лошаре не убавиться.

Для битка, где нужен SHA256 ASIC-карты энергетически выгоднее и по производительности тоже. Есть крипты типа QuarkCoin, где алгоритм такой, что на видяхе не полетит, обязательно проц нужен, про ASIC-карты вообще молчу. И это сделано нарочно, чтобы от мамкиных майнеров избавиться (проблема в том, что популярность крипты обеспечивается мамкиными майнерами (невзлетел)). И есть типа Skycoin, где вообще можно майнить только на Orange Pi и подобных. Причём с ограничением на количество. Да ещё и фотку фермы нужно отправить, чтобы разрешили. С тем же итогом.

Но в общем и целом майнить на фидяхе энергетически не выгодно. Просто если сравнить навар со счётом на электричество.

anonymous
()
Ответ на: комментарий от anonymous

В игрулях ничего не упирается в pci, если у тебя не pci-e v1 x8 чили что-то вроде.

Плойка это обычный лоу-энд пк с APU и всратым биосом.

anonymous
()
Ответ на: комментарий от boowai

Как писал выше, я считаю, что на ЦП остаются эти драйверы. А дальше 2 варианта: ЦП , как и раньше дергает dma, но указывает получателем не свою память, а память gpu. Просить gpu забирать из памяти уже не надо.; Или ЦП передаст карту блоков, а GPU по ней сам запросит.

Вот лежит на диске датасет запакованый. Его распаковали (ЦП), дёрнули ДМА, сказали кому. Дальше видюха получила и куда? Вываливает это частями в хранилку через ДМА, а потом из неё забирает по мере надобности? Или как?

imul ★★★★★
()
Ответ на: комментарий от imul

«Как физически они будут гоняться понятно. Непонятно кто и как будет понимать куда в каком формате это писать и как это укладывать. По крайней мере мне это не понятно. Возможно просто от недостатка информации.»

Ничего не поменяется, только медленная основная память не будет использоваться.

anonymous
()
Ответ на: комментарий от imul

Паковать и распаковать будет видеокарта.

anonymous
()
Ответ на: комментарий от anonymous

Скорее всего достаточно поменять *инг на форму слова с окончанием на *ие, чтобы получилось по-русски, хоть и с англицизмом. Русскоязычные официальные термины иногда могут быть достаточно упоротыми, я его не осуждаю.

Не обязательно -ие, вообще вариантов очень много включая перестановку слов. Суть в переводе смысла, а не дословной кальке.

Да, упоростость слова может служить оправданием использования заимствования. Вот только -игн — это вообще не тот случай.

anonymous
()
Ответ на: комментарий от anonymous

Один фигню написал, другой заплюсовал, увидев привычное кряхтение про фреймворки. Типичные ЛОРодноклассники.

Какие фреймворки, анон-сан? Ты видишь срачи где из нет. Отдохни на опеннете недельку, подходи потом.

anonymous
()
Ответ на: комментарий от anonymous

Сейчас все упирается в PCI. Красные и зеленые давно слюнями брызжут, глядя на реализацию тех же плоек.

Я о том, что PCI-то может у тебя быть самым расчудесным, но больше чем проц потянет из него всё равно не выжать. Вообще. Если же говорить про нокбуки и прочий хлам, где конфигурация оборудования известна заранее, писиай вообще не нужен, а нужна точка-точка.

anonymous
()
Ответ на: комментарий от anonymous

ПЗУ — read-only с очень ограниченным числом циклов перезаписи (если это вообще предусмотрено), что вы на нём считать собрались?

имеет место терминологическое непонимание: я имел в виду Постоянное Запоминающее Устройство в смысле энергонезависимой памяти. Термин применил неточно, каюсь

А ты меня понял, но все равно включил Шелдона — кайся тоже!

pihter ★★★★★
()
Ответ на: комментарий от anonymous

Это и есть видеокарта. «Видео» в её название и наличие у неё видеовыхода это просто историческое наследие.

я все-же не соглашусь. Там специфическим образом устроенно: параллельные конвееры, которые хорошо считают далеко не всякое (тут я, повторюсь, не специалист) это именно попытка использовать устройство разработанное для одно цели для исполнения другой задачи. Сейчас это кажется «бесплатным» (ну, видюхи же уже и так есть, че-б не воспользоваться?) но в будущем мы за это заплатим, имхо

pihter ★★★★★
()
Ответ на: комментарий от anonymous

Это asic под одну задачу, а видюхи универсальные (правда производительность будет отвратительная если задача не подходит для архитектуры видеокарты).

так а я о том же

pihter ★★★★★
()
Ответ на: комментарий от pihter

Ну это как сказать. Для всяких FlowVision и прочих видях для рабочих станций изображение как таковое не имеет значения — но расчёты. А для пользовательского устройства — да. Но они так и так называются видео-. Даже для т.н. «машинного обучения» видеокарты, что вообще как минимум странно.

anonymous
()
Ответ на: комментарий от anonymous

А, я понял наконец-то. Всё проще, чем я себе напридумывал.

imul ★★★★★
()
Ответ на: комментарий от pihter

Ну так и процессор по сравнению с видеокартой тоже «хорошо считают далеко не всякое». Именно потому используют их вместе.

anonymous
()
Ответ на: комментарий от anonymous

Скорее внешнее вычислительное устройство — PPU — periphery processor unit. Или, для Среднего Урала, — popov processor unit.

anonymous
()
Ответ на: комментарий от anonymous

У тебя каша в голове.

ну, такие заявления, если я не метапрог, надо подтверждать (хотя бы тезисно) в чем я не прав? ты разъясни, а я послушаю, мож ума разума наберусь (без сарказма), я выше отметил, что я в сабжевом вопросе плаваю

Единственная задача большинства чипов в компе это вычисления, они натурально не умеют ничего другого

ну тут бы я поспорил: большинство — аналоговые: они каждый про свое, но уж не про вычисления

Видеокарты не исключение.

видеокарта — це ж не чип, це — компьютер в компьютере, только заточенная под определенную задачу

pihter ★★★★★
()
Ответ на: комментарий от anonymous

«Скорее внешнее вычислительное устройство — PPU — periphery processor unit. Или, для Среднего Урала, — popov processor unit.»

На сайте Nvidia выжжено клеймо - Graphic Card.

anonymous
()
Ответ на: комментарий от anonymous

Зачем внутри вычислителя изобретать еще один вычислитель

Специализация. Архитектура процев заточена под быстрый однопоток, видеокарты под параллельные вычисления.

видеокарты заточены не под параллельные вычисления, а под отрисовку сцен в крайзисе (или че там у вас щас), не подменяйте понятия.

pihter ★★★★★
()
Ответ на: комментарий от pihter

Тогда любой soc (включая cpu) это «компьютер в компьютере», их там в компьютере тысячи штук и каждый занят чем-то своим, каждый со своей бинарной проприетарной прошивкой и соответствующими бэкдорами.

anonymous
()
Ответ на: комментарий от pihter

«видеокарты заточены не под параллельные вычисления, а под отрисовку сцен в крайзисе (или че там у вас щас), не подменяйте понятия.»

Заточены под вычисления, параллельные, все, что они делают большую часть времени - высисляют (матрицы, шейдеры и.т.д). Майнеры вас бы порвали на лоскутки.

anonymous
()
Ответ на: комментарий от Aceler

Так что сказать, что видеокарта заточена под видео уже нифига нельзя, она давно уже заточена под вычисления на шейдерах. То, что такие вычисления востребованы видеокартой, ради этого шейдерные блоки прикручивают к той части, что делает геометрию, это просто из-за удобства использования в играх.

я тут и не спорю, сегодня оно кажется бесплатным: видюхи уже есть, они заточены под определенный класс вычислений, бери-не-хочу. но ведь и телефонные линии когда-то казались идеальной последней милей, и использование надутой камеры от уазика казалось идеальным спасательным кругом )

короче, я повторяюсь, я думаю уже до всех дошла моя мысль — будем посмотреть что получится

pihter ★★★★★
()
Ответ на: комментарий от anonymous

«Тогда любой soc (включая cpu) это «компьютер в компьютере», их там в компьютере тысячи штук и каждый занят чем-то своим, каждый со своей бинарной проприетарной прошивкой и соответствующими бэкдорами.»

Сидишь на Tails, обмотавшись фольгой с головы до ног ?

anonymous
()
Ответ на: комментарий от imul

В данном случае, и если данных слишком много, то лучше из основной памяти вернуть перекодированный набор на диск и передать адреса блоков gpu.

Тогда лучше или сразу использовать несжатые данные, или в совместимом формате.

В представленной nvidia реализации я вижу только чтение. Теоретически можно и записывить, и организовать файлы подкачки для gpu.

boowai ★★★★
()
Ответ на: комментарий от anonymous

Не, венда десяточка, мне не о чем волноваться на самом деле. Кроме сохранности данных, а для этого есть бэкапы. И ключи просрать конечно неприятно было бы, но не смертельно. Я просто интересуюсь вопросами каких там дыр в железе опять нарыли (ещё до того как это стало мейнстримом).

anonymous
()
Ответ на: комментарий от anonymous

Даже для т.н. «машинного обучения» видеокарты, что вообще как минимум странно.

об том и мое негодование )

pihter ★★★★★
()
Ответ на: комментарий от boowai

В представленной nvidia реализации я вижу только чтение.

Тогда я не понимаю как датасет окажется в нвме, если видеокарта оттуда может только читать.

imul ★★★★★
()
Ответ на: комментарий от anonymous

Ну так и процессор по сравнению с видеокартой тоже «хорошо считают далеко не всякое». Именно потому используют их вместе.

в таком случае нужно придумать другой процессор (мб сопроцессор) но не на видюху вешать. Возьмите наработки — запилите специальный девайс, а видюхам оставьте игры.

у меня холодильник холодит пиво, не надо пользоваться тем, что там холодно, чтоб охлаждать лазер — лазеру нужно сразу городить свое охлажедние

pihter ★★★★★
()
Ответ на: комментарий от pihter

«Даже для т.н. «машинного обучения» видеокарты, что вообще как минимум странно.

об том и мое негодование )»

Так это же мейнстрим распилов - куда ни плюнь про ИИ и квантовые вычисления говорят.

anonymous
()
Ответ на: комментарий от anonymous

Или, для Среднего Урала, — popov processor unit.

щас смешно было

pihter ★★★★★
()
Ответ на: комментарий от anonymous

Тогда любой soc (включая cpu) это «компьютер в компьютере», их там в компьютере тысячи штук и каждый занят чем-то своим,

да, а где тут противоречие с тем, что я сказал?

pihter ★★★★★
()
Ответ на: комментарий от imul

Он уже там. Давно лежал, или ЦП только что подготовил. Конечно это специфическое решение, иначе бы уже в directx добавили бы.

boowai ★★★★
()
Ответ на: комментарий от pihter

аналоговые: они каждый про свое

Аналоговые это когда они работают с аналоговым сигналом. Извиняй, но таки каша.

anonymous
()
Ответ на: комментарий от anonymous

Аналоговые это когда они работают с аналоговым сигналом. Извиняй, но таки каша.

сам ты каша: я имел в виду всякие шим-контроллеры и операционные усилители. Посмотри на материнку — и скажи каких микрух больше

именно про аналоговый сигнал

pihter ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.