Tesla — кодовое название микроархитектуры графического процессора , разработанной Nvidia и выпущенной в 2006 году в качестве преемника микроархитектуры Curie . Он был назван в честь инженера-новатора-электрика Николы Теслы . В качестве первой микроархитектуры Nvidia, реализующей унифицированные шейдеры, она использовалась с графическими процессорами серий GeForce 8 , GeForce 9 , GeForce 100 , GeForce 200 и GeForce 300 , которые совместно производились по 90-нм , 80-нм, 65-нм , 55-нм техпроцессу. , и 40 нм. Это было также в GeForce 405 и в вычислительных модулях Quadro FX, Quadro x000, Quadro NVS и Nvidia Tesla .
Tesla заменила старые микроархитектуры с фиксированным конвейером , представленные на момент появления серией GeForce 7 . Она напрямую конкурировала с первой унифицированной шейдерной микроархитектурой AMD под названием TeraScale , развитием разработки ATI над Xbox 360 , в которой использовалась аналогичная конструкция. За Теслой последовал Ферми .
Tesla — первая микроархитектура Nvidia, реализующая единую шейдерную модель . Драйвер поддерживает архитектуру Direct3D 10 Shader Model 4.0/ OpenGL 2.1 (более поздние драйверы поддерживают OpenGL 3.3). Этот дизайн представляет собой серьезный сдвиг для NVIDIA в функциональности и возможностях графического процессора, наиболее очевидным изменением является переход от отдельных функциональных блоков (пиксельные шейдеры, вершинные шейдеры) в предыдущих графических процессорах к однородному набору универсальных процессоров с плавающей запятой (так называемых «потоковых процессоров»). "), который может выполнять более универсальный набор задач.
Унифицированная шейдерная архитектура GeForce 8 состоит из нескольких потоковых процессоров (SP). В отличие от подхода векторной обработки , используемого в старых модулях шейдеров, каждый SP является скалярным и, следовательно, может работать только с одним компонентом одновременно. Это делает их менее сложными в создании, но при этом они остаются достаточно гибкими и универсальными. Скалярные шейдерные блоки также имеют то преимущество, что в ряде случаев они более эффективны по сравнению с векторными шейдерными блоками предыдущего поколения, которые полагаются на идеальное сочетание команд и упорядочение для достижения максимальной пропускной способности. Более низкая максимальная пропускная способность этих скалярных процессоров компенсируется эффективностью и их работой на высокой тактовой частоте (что стало возможным благодаря их простоте). GeForce 8 запускает различные части своего ядра на разных тактовых частотах (тактовых доменах), аналогично работе графических процессоров предыдущей серии GeForce 7 . Например, потоковые процессоры GeForce 8800 GTX работают на тактовой частоте 1,35 ГГц, тогда как остальная часть чипа работает на частоте 575 МГц. [1]
GeForce 8 выполняет значительно лучшую фильтрацию текстур , чем ее предшественники, которые использовали различные оптимизации и визуальные трюки для ускорения рендеринга без ухудшения качества фильтрации. Линейка GeForce 8 правильно отображает независимый от угла алгоритм анизотропной фильтрации наряду с полной трилинейной фильтрацией текстур . G80, хотя и не его меньшие собратья, оснащен гораздо более широкими арифметическими возможностями фильтрации текстур, чем серия GeForce 7. Это обеспечивает высококачественную фильтрацию с гораздо меньшим снижением производительности, чем раньше. [1]
NVIDIA также представила новые методы сглаживания краев полигонов, в том числе способность ROP графического процессора одновременно выполнять как многосэмпловое сглаживание (MSAA), так и HDR-освещение, исправляя различные ограничения предыдущих поколений. GeForce 8 может выполнять MSAA с форматами текстур FP16 и FP32. GeForce 8 поддерживает 128-битный HDR-рендеринг , что больше, чем поддержка 64-битных карт на предыдущих картах. Новая технология сглаживания чипа, называемая AA с выборкой покрытия (CSAA), использует Z, цвет и информацию о покрытии для определения окончательного цвета пикселя. Этот метод оптимизации цвета позволяет 16X CSAA выглядеть четким и резким. [2]
Заявленная теоретическая вычислительная мощность одинарной точности для карт на базе Tesla, выраженная в FLOPS , может оказаться труднодостижимой в реальных рабочих нагрузках. [3]
В G80/G90/GT200 каждый потоковый мультипроцессор (SM) содержит 8 шейдерных процессоров (SP, или Unified Shader, или CUDA Core) и 2 блока специальных функций (SFU). Каждый SP может выполнять до двух операций одинарной точности за такт: 1 умножение и 1 сложение, используя одну инструкцию MAD . Каждый SFU может выполнять до четырех операций за такт: четыре инструкции MUL (Multiply). Таким образом, один SM в целом может выполнить 8 MAD (16 операций) и 8 MUL (8 операций) за такт, или 24 операции за такт, что (условно говоря) в 3 раза превышает количество SP. Таким образом, для расчета теоретической производительности двойной задачи MAD+MUL в операциях с плавающей запятой в секунду [ FLOPS sp+sfu , GFLOPS ] видеокарты с количеством SP [ n ] и частотой шейдера [ f , ГГц] используется следующая формула: ФЛОПС sp+sfu = 3 × n × f . [4] [5]
Однако использование двойной производительности, такой как MAD+MUL, проблематично:
По этим причинам, чтобы оценить производительность реальных рабочих нагрузок, может быть более полезно игнорировать SFU и принять только 1 MAD (2 операции) на SP за цикл. В этом случае формула для расчета теоретической производительности операций с плавающей запятой в секунду будет выглядеть так: FLOPS sp = 2 × n × f .
Теоретическая вычислительная мощность двойной точности графического процессора Tesla составляет 1/8 производительности одинарной точности на GT200; в G8x и G9x нет поддержки двойной точности. [9]
NVENC был представлен только в более поздних чипах.
Отдельные ядра потоковой обработки графических процессоров GeForce GTX 200 теперь могут выполнять практически на полной скорости двойную обработку операций умножения-сложения (MAD) и MUL (3 флопа/SP).