> > > > GTC 2014: унифицированная память для Tegra K1

GTC 2014: унифицированная память для Tegra K1

Опубликовано:

gtc2014В понедельник открылась конференция GTC 2014, которая должна пролить свет на рынок GPU в ближайшие месяцы. Первые видеокарты нового поколения NVIDIA уже выпустила в виде GeForce GTX 750 и GTX 750 Ti. Обе построены на GPU с новой архитектурой "Maxwell". Кроме фундаментальной "перекройки" потоковых процессоров в кластерах, NVIDIA разблокирует некоторые функции профессиональных карт в CUDA 6.0. К ним относятся, в том числе, унифицированная память, то есть общая память для GPU и CPU. В случае Tegra K1 будет использоваться общая память для четырёх ядер ARM и потоковых ядер в кластере SMX.

Для NVIDIA и разработчиков такая особенность позволяет создавать игры и приложения для разных систем, ориентируясь сначала на полностью настольную архитектуру. Затем алгоритмы обработки изображения, например, распознавание лиц или наложение фильтров на фотографии, можно будет использовать не только на настольном ПК, но и на планшете или смартфоне. Производительности чипа Tegra K1 должно быть достаточно для выполнения даже сложных вычислений, но есть возможность передачи данных на сервер для расчета их удаленно. Для четырех ядер CPU первого варианта Tegra K1 со 192 потоковыми процессорами в кластере SMX архитектура унифицированной памяти (Unified Memory) играет важную роль, так как данные не нужно больше копировать между разными областями памяти данных компонентов. С некоторыми ограничениями, конечно.

Schematische Darstellung des Unified Virtual Memory
Схематическое представление работы унифицированной виртуальной памяти

Но у унифицированной памяти есть и другие преимущества, она снижает затраты на программирование для разработчиков. Какое влияние технология окажет на производительность - пока сказать сложно. NVIDIA не указывает прирост производительности для настольных GPU или Tegra K1. В случае Tegra K1 пока неизвестно, каким образом будут объединены разные области памяти для CPU и графического процессора. Что касается унифицированной памяти в профессиональном сегменте, сейчас данные для расчётов на GPU приходится перемещать между разными сегментами памяти (оперативная память, видеопамять и т.д.). Чтобы выполнять над данными операции, они должны присутствовать в локальной видеопамяти GPU. Перемещение данных выполняется через шину PCI Express, которая в данном случае является "узким местом". Поскольку память частично находится на кристалле Tegra K1, то пропускная способность будет намного выше, негативное влияние на производительность будет не таким существенным. Но для оперативной памяти здесь ситуация обратная, которая у Tegra K1 находится дальше (в отличие от настольных ПК и локального подключения памяти).

Хотя NVIDIA в отношении Tegra K1 любит говорить о полноценных настольных функциях в мобильном пространстве, придётся смириться с некоторыми ограничениями по поддержке CUDA и необходимыми API. В случае Tegra K1 поддерживается CUDA 6.0, то есть унифицированная память и Hyper-Q, но не поддерживается, например, Dynamic Parallelism.