> > > > NVIDIA представила Tesla K20 и K20X на основе GK110

NVIDIA представила Tesla K20 и K20X на основе GK110

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

nvidiaНа конференции SC12 Supercomputing в Солт-Лейк-Сити NVIDIA представила вычислительные карты для серверов и рабочих станций Tesla K20 и K20X на основе GPU GK110. Две версии, о которых мы поговорим ниже чуть подробнее, и объясняют путаницу, которая существовала в последние недели вокруг Tesla K20. Изначально поставщик стоечных серверов на GPU сообщил, что карты NVIDIA Tesla K20 будут использовать GK110 с 13 кластерами SMX, каждый со 192 ядрами CUDA, что дает 2496 ядер CUDA в общей сложности. Вскоре на открытии суперкомпьютера Titanium было указано на 2688 ядер CUDA, что указывает на 14 кластеров SMX. И существование двух версий карт объясняет подобный дуализм.

Tesla K20
Tesla K20 на основе GK110

Tesla K20X - новая high-end модель для вычислений на GPU, ускоритель ориентирован исключительно на серверы. Чуть менее мощная карта Tesla K20 нацелена и на серверы, и на рабочие станции.

GF110
Tesla M2090
GK104
Tesla K10
GK110
Tesla K20
GK110
Tesla K20X
Техпроцесс 40 нм 28 нм 28 нм 28 нм
Число транзисторов 3 млрд. 2x 3,54 млрд. 7,1 млрд. 7,1 млрд.
Техпроцесс 530 мм² 294 мм² предполож. 600 мм² предполож. 600 мм²
TDP 225 Вт 225 Вт 225 Вт 235 Вт
Тактовая частота GPU 1300 МГц 2x 745 МГц - МГц - МГц
Тактовая частота памяти 463 МГц 625 МГц - МГц - МГц
Тип памяти GDDR5-ECC GDDR5-ECC GDDR5-ECC GDDR5-ECC
Объём памяти 6144 Мбайт 8192 Мбайт 5120 Мбайт 6144 Мбайт
Ширина шины памяти 384 бит 256 бит 320 бит 384 бит
Пропускная способность памяти 177 Гбайт/с 2x 160 Гбайт/с 208 Гбайт/с 250 Гбайт/с
Потоковые процессоры 512 (1D) 2x 1536 (1D) 2496 (1D) 2688 (1D)
Кэш L1 64 кбайт 64 кбайт 64 кбайт 64 кбайт
Кэш L2 768 кбайт 512 кбайт 1,5 Мбайт 1,5 Мбайт
ECC Память и кэши Только память Память и кэши Память и кэши
FP64 1/2 FP32 1/24 FP32 1/3 FP32 1/3 FP32
Одиночная точность 1,33 TFlops 4,58 TFlops 3,52 TFlops 3,95 TFlops
Двойная точность 0,66 TFlops 0,19 TFlops 1,17 TFlops 1,31 TFlops

Огромный прирост производительности в вычислениях с двойной точностью и скромный прирост производительности с одинарной точностью можно объяснить смещением акцента с FP32 на FP64. Графический процессор GK110 стал первым чипом NVIDIA, ориентированным полностью на профессиональный рынок и сферы HPC (High Performance Computing). Карта Tesla K10 базируется на двух GPU GK104, которые относятся к первому поколению "Kepler" и ориентированы, в том числе, и на GPU GeForce, а в рендеринге производительность с одинарной точность играет решающую роль. Рейтинг производительности с одинарной точностью по отношению к двойной точности был снижен с 1/2 до 1/24. Наконец, у GK104 технологией ECC защищается только оперативная память, но не кэши.

GK110
Диаграмма GK110

У GK110 был пересмотрен рейтинг между вычислениями с плавающей запятой с одинарной и двойной точностью, было увеличено количество ядер CUDA, увеличен до 1,5 Мбайт кэш L2, шина памяти расширена до 384 битов, защита от случайных ошибок обеспечивается технологией ECC. Почему же NVIDIA не выбрала 512-битный интерфейс памяти? Дело в том, что 7,1 млрд. транзисторов занимают на кристалле GK110 площадь около 600 мм² (GK104: 294 мм²), что позволяет назвать новый чип уже самым крупным в мире (по количеству транзисторов), по 28-нм технологии его непросто производить, да и очень дорого. 512-битная шина памяти потребовала бы ещё большей площади чипа аппаратно, так что NVIDIA пошла на компромисс.

Для получения более высокой производительности с двойной точностью, NVIDIA установила 64 ядра Floating Point на кластер SMX, у GK104 использовалось только восемь подобных ядер на кластер. Вместе с увеличением количества кластеров данный шаг привел к значительному приросту по производительности с двойной точностью. NVIDIA также опирается на свою скалярную архитектур "Superscalar Dispatch Method", которая появилась в GF104 и гарантирует более защищённые от ошибок вычисления. Эта архитектура опирается на параллелизм на уровне потоков Thread Level Parallelism (TLP) и параллелизм на уровне инструкций Instruction Level Parallelism (ILP).

Диаграмма кластера GK110 SMX

Каждый кластер SMX оснащен 64 кбайт кэша L1 и 48 кбайт кэша данных только для чтения. По сравнению с GK104, NVIDIA не стала затрагивать кэш L1, разве что в кластерах GK110 появился 48-кбайт кэш данных только для чтения. На кластер SMX по-прежнему используются 16 текстурных блоков, так что у GK110 мы получаем их, максимум, 240.

Производительность вычислений с двойной точностью была увеличения некоторыми изменениями в регистрах. Число регистров на кластеры SMX осталось прежним 65 536 по сравнению с GK104, но на поток GK110 обеспечивает доступ к 255 регистрам - в отличие от только 63 у GK104.

Как мы уже упоминали, интерфейс памяти стал шире, теперь он состоит из шести 64-битных блоков, которые вместе обеспечивают 384-битный интерфейс. В отличие от GK104, технология ECC защищает не только видеопамять, но и кэши L1 и L2. Поскольку определение ошибок подразумевает выполнение некоторых дополнительных вычислений, NVIDIA снизила вычислительные потери благодаря внутренней оптимизации до 66 процентов.

Hyper-Q и динамический параллелизм остались и в GK110.

Hyper-Q:

В случае архитектуры "Fermi" GPU могли работать только с одной рабочей очередью команд и данных, но в случае "Kepler" ситуация уже отличается.

Hyper-Q в сравнении

Одновременно с GPU "Kepler" могут работать до 32 физических ядер CPU. Конечно, данное ограничение не присутствует на программном уровне в интерфейсах DirectX 11, и несколько потоков могут выполняться одновременно, но передача данных и команд на GPU всё равно выполнялась последовательно. Благодаря поддержке Hyper-Q в будущем можно будет передавать данные параллельно.

Последовательное выполнение команд без Hyper-Q

Без поддержки Hyper-Q данные и команды передаются последовательно, загрузка GPU в данном случае не является оптимальной.

Выполнение команд с Hyper-Q

С помощью Hyper-Q данные и команды 32 физических ядер передаются одновременно. Это приводит не только к лучшему использованию GPU, но и к тому, что выполненные вычисления могут обрабатываться быстрее.

Кроме того, теперь множество GPU в системе могут напрямую связываться друг с другом. Технология "GPU Direct" как раз позволяет GPU "Kepler" связываться друг с другом даже по сети - обращение к CPU и памяти теперь уже не требуется.

Dynamic Parallelism:

Команды и данные, которые поставляются на GPU, могут быть взаимозависимыми (например, если расчеты зависят от результатов других вычислений), таким образом, части разных потоков могут блокироваться от выполнения на GPU некоторый промежуток времени. NVIDIA постаралась внести и улучшения обработки подобных ситуаций в интерфейс CUDA.

Dynamic Parallelism

Технология Dynamic Parallelism на GPU может решать подобные проблемы зависимости. Впрочем, от программистов тоже требуются усилия, поскольку им следует учитывать неравномерности обработки GPU и запросы из памяти. Если созданные потоки превысят возможности доступной памяти GPU, то будет проводиться обращение через шину памяти PCI Express, что может вновь замедлить весь процесс.

Dynamic Parallelism

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

Эффективность энергопотребления:

В случае NVIDIA Tesla K20 и K20X мы получаем отличные результаты по эффективности энергопотребления. Если вы взглянете на список Green500, в котором компьютеры приведены по рейтингу эффективности энергопотребления, то на одном из первых мест находится BlueGene/Q с 16 ядрами на 1,6 ГГц и вычислительной производительностью около 2100 мегафлопов на ватт. В случае системы NVIDIA Tesla K20X мы получаем около 2250 мегафлопов на ватт. А цена такого решения ещё и в четыре раза ниже.

Использование в суперкомпьютере Titan:

Вычислительные ускорители Tesla K20X используются в суперкомпьютере Titan в Окриджской национальной лаборатории (штат Теннеси, США). Установленная система достигает пиковой производительности 27 петафлопов. Суперкомпьютер состоит из 18 688 GPU NVIDIA Tesla K20X и такого же количества 16-ядерных процессоров AMD (Opteron 6274). Как можно догадаться, Titan состоит из 18 688 узлов, которые объединены в 200 ячеек. На каждый узел доступно 32 Гбайт памяти, что даёт общую ёмкость оперативной памяти 710 терабайт.

Конкуренты:

Вчера утром AMD объявила новые вычислительные ускорители FirePro S10000 на основе двух GPU Tahiti Pro. Мы опубликовали новость и сравнение теоретической производительности, но в тот момент карты K20X и K20 ещё не были официально объявлены.

Модель AMD
FirePro S10000
NVIDIA
Tesla K20X
NVIDIA
Tesla K20
NVIDIA
Tesla K10
NVIDIA
Tesla M2090
Одиночная точность 5,91 TFlops 3,95 TFlops 3,52 TFlops 4,58 TFLops 1,33 TFlops
Двойная точность 1,48 TFlops 1,31 TFlops 1,17 TFlops 0,19 TFlops 0,67 TFlops

По чистой теоретической производительности вычислительный ускоритель AMD FirePro S10000 обгоняет конкурентов NVIDIA, будь то GK104 или GK110. Но следует учитывать, что AMD для FirePro S10000 указывает максимальное энергопотребление 335 Вт, в то время как NVIDIA K20X отличается энергопотреблением всего 235 Вт. Кроме того, NVIDIA нацелила GK104 и GK110 на другие сферы применения, что можно видеть по соотношениям производительности с одинарной и двойной точностью.