На международной конференции по высокопроизводительным вычислениям SC09, проходившей в середине ноября в американском Портленде, Nvidia представила графические ускорители серии Tesla 20, ориентированные на рынок высокопроизводительных вычислений. По информации компании, при такой же производительности, как у традиционных кластерных решений, построенных на основе обычных процессоров (ЦПУ), новые ускорители позволяют в 10 раз снизить стоимость и в 12 раз сократить энергопотребление вычислительной системы.
Компания рассчитывает, что графические решения серии Tesla 20 значительно уменьшат время выполнения приложений, осуществляющих облачные 3D-вычисления, кодирование видеоинформации, поиск в базах данных, анализ информации, инженерные расчеты, антивирусное сканирование компьютерных систем.
Графические ускорители серии Tesla 20 базируются на архитектуре Fermi, которую Nvidia анонсировала вместе с разработанным на её основе графическим чипом в последний день сентября. Многие эксперты, не говоря уже о специалистах самой Nvidia, характеризуют Fermi как важную веху в области развития микропроцессорной архитектуры: Fermi не просто наследует предыдущие разработки Nvidia в сфере графических вычислений, но существенно меняет представление о назначении и возможностях графических процессоров.
По мнению Дэвида Паттерсона, одного из наиболее авторитетных специалистов по компьютерным архитектурам, являющегося помимо прочего одним из создателей концепции RISC-систем, Fermi демонстрирует ту же степень прогресса по отношению к микроархитектуре G80, которой эта последняя достигла в свое время по сравнению с архитектурой NV40 (кодовое название графического семейства GeForce 6, выпущенного в апреле 2004 г.).
Fermi относится к классу универсальных графических процессоров Nvidia, ускоряющих работу не только графических приложений, но и множества неграфических программ, в которых реализованы параллельные вычисления, и представляет собой третье поколение таких чипов.
Как отмечают в Nvidia, новый процессор разработан с учетом опыта применения подобных графических решений двух предыдущих поколений — G80 и GT200 — и пожеланий пользователей, которые применяют такого рода чипы для решения разнообразных неграфических вычислительных задач. Список пожеланий включал в себя, в частности, повышение производительности работы процессора с данными двойной точности, поддержку функции коррекции ошибок (ECC), добавление иерархически организованной кэш-памяти, ускоренное переключение (процессора) между исполняемыми приложениями, увеличение объёма памяти на кристалле.
Опытные образцы чипа Fermi изготовлены на мощностях традиционного производственного партнера Nvidia — тайваньской фирмы TSMC — по 40-нм технологическим нормам. Новый графический процессор содержит 3 млрд. транзисторов, что более чем вдвое превышает их количество у предшествующего процессора Nvidia — GT200. Более того, по числу транзисторов на кристалле Fermi превосходит, к примеру, анонсированный, но ещё не появившийся на рынке серверный чип Xeon (пока известный под своим кодовым наименованием Nehalem-EX; он насчитывает 2,3 млрд. транзисторов) или грядущий процессор Power7 (1,2 млрд. транзисторов). Правда, изделия Intel и IBM создаются в соответствии с 45-нм проектными нормами.
Основу вычислительной мощности Fermi составляют 512 так называемых CUDA-ядер (такое ядро способно за один такт работы графического процессора обработать одну операцию над числами одинарной точности с плавающей запятой или одну целочисленную операцию), сгруппированных в шестнадцать потоковых процессорных блоков (streaming multiprocessor, SM), каждый из которых соответственно содержит по 32 CUDA-ядра.
Fermi отличается от предшествующих графических чипов Nvidia существенно обновленной структурой внутренней памяти: графический чип, в частности, имеет двухуровневую кэш-память — Parallel DataCache, ранее отсутствовавшую в процессорах Nvidia. Эксперты отмечают, что новая структура внутренней памяти Fermi — одна из ключевых инноваций, позволившая значительно улучшить производительность выполняемых приложений.
Fermi имеет шесть 64-разрядных контроллеров памяти (таким образом, ширина шины памяти у него составляет в общей сложности 384 бита) и впервые поддерживает до 6 Гб внешней графической памяти стандарта GDDR5, отличающейся от графической памяти предыдущего поколения — GDDR3 — более высокими производительностью и стабильностью работы, а также встроенным механизмом обнаружения ошибок при передаче данных между памятью и процессором. Кроме того, в Fermi реализована концепция унифицированного адресного пространства и используются 40-разрядные адреса, достаточные для адресации одного терабайта памяти.
Полезным новшеством стало добавление коррекции ошибок (ECC) на всех уровнях системной памяти. При этом следует отметить, что функция ECC в графическом процессоре появилась впервые, поскольку она жизненно необходима для выполнения критически важных для заказчиков неграфических приложений, а на работе графических приложений ее отсутствие не сказывается.
Значительно переработаны возможности и самих CUDA-ядер. В частности, существенно улучшено быстродействие Fermi в приложениях, требующих операций с удвоенной точностью (по предварительным оценкам Nvidia, по сравнению с GT200 можно получить 4,2-кратный выигрыш). Впервые архитектура графических процессоров поддерживает требования стандарта по обработке чисел с плавающей запятой IEEE 754-2008, обеспечивая выполнение совмещенной операции умножения-сложения (fused multiply-add) не только для чисел с двойной точностью (что было реализовано в предыдущем графическом чипе Nvidia), но и для чисел одинарной точности.
Помимо всего прочего впервые графический процессор способен исполнять код, написанный на языке C++: эта возможность теперь существенно облегчает программирование графических чипов.
Хотя разработка Fermi означает большой шаг в направлении использования графических процессоров для неграфических приложений, Дэвид Паттерсон считает, что здесь имеются как минимум три важные проблемы, еще ожидающие своего решения. Во-первых, следует сбалансировать производительность графической подсистемы с размером системной памяти. Во-вторых, необходимо обеспечить прямую передачу данных в графический чип при операциях ввода-вывода (в современных системах данные передаются из устройств ввода-вывода сначала в системную память, а уже оттуда — в память графического процессора, что снижает производительность операций ввода-вывода). И в-третьих, до сих пор при проектировании графических процессоров не учитывались потребности в создании многосокетных плат.
Nvidia еще не обнародовала окончательные спецификации своего процессора, однако по мнению эксперта из Insight 64, тактовая частота Fermi составит примерно 1,5 ГГц, т. е. пиковая производительность чипа достигнет 1,5 Тфлопс.
Уже появились некоторые сообщения о планах использования процессоров Fermi в высокопроизводительных системах. По утверждениям Nvidia, о своем интересе к новому графическому процессору высказались, в частности, компании Cray, Dell, Hewlett-Packard, IBM и Microsoft.
Nvidia планирует начать поставки графических ускорителей серии Tesla 20 во втором квартале 2010 г. Примерная стоимость однопроцессорной платы Tesla C2050 с интерфейсом PCI-Express, оснащенной 3 Гб памяти GDDR5, составит 2500 долл., конфигурация Tesla C2070, отличающаяся наличием на плате вдвое большей по объему памяти (6 Гб), будет стоить 4000 долл. Производительность плат при выполнении операций над числами с двойной точностью будет находиться в диапазоне 520—630 Гфлопс, а их энергопотребление не превысит 225 Вт.
Помимо однопроцессорных плат Nvidia в те же сроки начнет поставки четырехпроцессорных 1U-серверов — Tesla S2050 и S2070 (на базе графических плат C2050 и C2070 соответственно), предназначенных для создания кластерных систем и размещения в центрах обработки данных. По информации компании, производительность 1U-серверов при выполнении операций над числами с двойной точностью будет достигать от 2,1 до 2,5 Тфлопс, а энергопотребление не превысит 1200 Вт. Ориентировочная стоимость Tesla S2050 и S2070 — 13 тыс. и 19 тыс. долл. соответственно.
Архитектура | G80 | GT200 | Fermi |
---|---|---|---|
Год вывода на рынок | 2006 | 2008 | 2009 |
Число транзисторов, млн. | 681 | 1400 | 3000 |
Количество CUDA-ядер | 128 | 240 | 512 |
Объем совместно используемой памяти в расчете на один потоковый процессор (SM), Кб | 16 | 16 | 48 или 16 (конфигурируется) |
Объем кэш-памяти первого уровня в расчете на SM, Кб | 0 | 0 | 16 или 48 (конфигурируется) |
Объем кэш-памяти второго уровня, Кб | 0 | 0 | 768 |
Функция ECC | Отсутствует | Отсутствует | Имеется |
Источник: Nvidia.