ݺߣ

ݺߣShare a Scribd company logo
Новые тенденции
             использования GPGPU


                     Арсаев Марат
                      Video Group
               CS MSU Graphics & Media Lab




19.05.2010
Only for
 Maxus 

               Содержание

           Текущее положение GPGPU
           Сравнение GPU API
           Средства разработки
           Обработка видео на GPU
           Будущее GPGPU




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     2
Only for
 Maxus 

                     Текущее положение GPGPU

      GPGPU – техника программирования на
      графическом процессоре задач общего
      назначения
                3
      TFlops




               2,5
                2
               1,5                                                          ATI
                1                                                           NVIDIA
               0,5
                0
                       2006            2007            2008          2009

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                                     3
Only for
 Maxus 

            Особенности современных GPU

           Наличие множества архитектур
           Наличие множества API для
            программирования
           Сложно сразу перейти на
            программирование на GPU




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     4
Only for
 Maxus 

               Развитие GPGPU

      Производители продвигают GPU в массы:
       Разработка C-подобных языков

       Разработка библиотек на GPU

       Создание отладчиковпрофилировщиков

       Создание специализированных сред




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     5
Only for
 Maxus 

                Содержание

           Текущее положение GPGPU
           Сравнение GPU API
               OpenGL
               CUDA
               OpenCL
           Средства разработки
           Обработка видео на GPU
           Будущее GPGPU

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     6
Only for
 Maxus 

               OpenGL

           Язык – OpenGL Shading Language
           Некоторая запутанность использования
           Можно использовать графические
            возможности GPU
           Поддерживается устаревшими моделями
           Достаточен для небольших проектов




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     7
Only for
 Maxus 

                CUDA

           Язык – расширение над С
           Более гибкая работа с памятью:
               Shared memory
               Произвольный доступ к памяти
           Привязка к NVIDIA
           При хорошем понимании архитектуры
            можно получить значительный прирост
            производительности

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     8
Only for
 Maxus 

               OpenCL

           Расширение языка С, похож на CUDA
           Код может выполнятся на любом OpenCL-
            поддерживающем устройстве – главное
            преимущество и недостаток OpenCL
           Сложности с расширениями




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     9
Only for
 Maxus 

               OpenCL

           У NVIDIA – обертка на CUDA
           У АМD – разработана с нуля (Stream SDK)
           Приближение производительности к CUDA
           Скорая возможность полной унификации AMD
            и NVIDIA




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     10
Only for
 Maxus 

                Содержание

           Текущее положение GPGPU
           Сравнение GPU API
           Средства разработки
               Профилировщики и отладчики
               IDE
               Библиотеки
           Обработка видео на GPU
           Будущее GPGPU

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     11
Only for
 Maxus        AMD GPU Performance
               Studio

                                                                        Server
           Система клиент-сервер
           Мощное средство оценки
            производительности                                           Client
            программы на DirectX 10 и
            DirectX 10.1
                                                                           Frame
           Только для карт ATI                                           Analyzer
            начиная с серии HD2000
                                                                     Frame Debugger
                                                                     Shader Debugger

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                                       12
Only for
 Maxus        AMD GPU Performance
               Studio

           Быстрая или углубленная
            оценка производительности
            приложения
           Возможность отладки HLSL
            и ассемблера




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     13
Only for
 Maxus 
               Intel Graphics Performance
               Analyzer

           Отладчик и профилировщик DirectX 9 и
            DirectX 10 приложений для графических
            чипов Intel
           Важен для разработки под мобильные
            решения Intel
           Структура схожа с AMD GPU Performance
            Studio



CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     14
Only for
 Maxus 
               Intel Graphics Performance
               Analyzer

           Два варианта работы – онлайн мониторинг
            и покадровый анализ
           Удобный режим
            внесение
            изменений –
            просмотр
            результата



CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     15
Only for
 Maxus 

               gDEBugger

           Отладчик для OpenGL (GLSL до 1.4)
           Ныне хорошо поддерживается и развивается




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     16
Only for
 Maxus 

               Cudaprof
           Профилировщик ядер CUDA
           Отображает основные и самые нужные
            показатели




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     17
Only for
 Maxus 

               NVIDIA Nexus
            Интегрированный в Visual Studio
            профилировщик и отладчик




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     18
Only for
 Maxus 

                GPU библиотеки
      На данный существует множество
      вспомогательных библиотек:
               Постоянно улучшающиеся NVPP (IPP), CUBLAS,
                CULAtools
               ACML-GPU (для 64битных систем)
               Сторонние библиотеки




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     19
Only for
 Maxus 

               Содержание

           Текущее положение GPGPU
           Сравнение GPU API
           Средства разработки
           Обработка видео на GPU
           Будущее GPGPU




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     20
Only for
 Maxus 

               Обработка видео на GPU

      Сравним производительность похожего кода
      на CUDA, OpenCL, OpenGL
       Взят box filter из CUDA SDK и OpenCL SDK,
      измененные под обработку видео
       Написана программа на OpenGL,
      реализующая несепарабельный box filter




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     21
Only for
 Maxus 

               Обработка видео на GPU
        Платформа: NVIDIA 9400М, Intel Atom 1.66
        GHz

                                       CUDA                OpenCL    OpenGL



                320x240                104fps                89fps    90fps



                640x480                63fps                 43fps    62fps




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                              22
Only for
 Maxus 

                Содержание

           Текущее положение GPGPU
           Сравнение GPU API
           Средства разработки
           Обработка видео на GPU
           Будущее GPGPU:
               NVIDIA Fermi
               Intel Larrabee



CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     23
Only for
 Maxus 

               NVIDIA Fermi
      Во многом новая архитектура:
       Программируемый кеш

       Увеличенная разделяемая память

       Параллельное вычисление ядер в одном SM:




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     24
Only for
 Maxus 

                NVIDIA Fermi

      Встроенная поддержка:
               CUDA 2.2
               C++
               OpenCL 1.0
               DirectX 11 и DirectCompute
               OpenGL 3.2
               и др.




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     25
Only for
 Maxus 

               NVIDIA Fermi

      По многим характеристикам превосходит
      Radeon Cypress XT (5870)
                                      GT200                Cypress XT     Fermi
      Кол-во транзисторов             1.4 млрд               2.154 млрд   3 млрд

      Потоковых                         240                     1600        512
      процессоров
      Шина памяти                     512 бит                  256 бит    384 бит
      Кеш L1                           16 КБ                     8 КБ      48 КБ
      Кеш L2                              -                     512 КБ    768 КБ
      Разделяемой памяти               16 КБ                    64 КБ     до 48 КБ
      Вычислений с плавающей          240 MAD                 1600 MAD    512 FMA
      точкой за такт

      Вычислений двойной               30 FMA                  640 FMA    256 FMA
      точности за такт
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                                     26
Only for
 Maxus 

               NVIDIA Fermi

      Показ на GPU Technology Conference в конце
      сентября вызвал множество споров




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     27
Only for
 Maxus 

               NVIDIA Fermi

           У NVIDIA есть достойный ответ Intel и ATI
           Более гибкая, быстрая и надежная
            архитектура
           Удобное программирование вместе с
            NVIDIA Nexus
           Дата выхода – март 2010




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     28
Only for
 Maxus 

               Intel Larrabee

           Larrabee – GPU на ядрах х86
           Встроенная поддержка C/C++
           Код выполняется на CPU и GPU
            одновременно
           Шанс Intel выйти на рынок дискретных
            видеокарт




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     29
Only for
 Maxus 

               Intel Larrabee

           Первый показ
            осенью 2009
           Все
            находится в
            разработке




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     30
Only for
 Maxus 

               Intel Larrabee

           Отсутствие окончательных программных и
            аппаратных спецификаций
           Отсутствие конкретных дат выхода
           Большая заинтересованность со стороны
            сообщества
           Разработка Larrabee Prototype Library
           Будем ждать выхода…


CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     31
Only for
 Maxus 

               Выводы

           Производители стараются максимально
            продвигать и поддерживать GPGPU
           Все большее количество задач может быть
            выполнено на современных GPU
           Проблемы обработки изображений и видео
            очень хорошо ложатся на GPU




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     32
Only for
 Maxus 

                 Список литературы
      1.    http://www.fudzilla.com/content/view/15954/1/ NVIDIA Fermi Launch
      2.    http://www.semiaccurate.com/2009/10/01/nvidia-fakes-fermi-boards-gtc/ NVIDIA Fermi Fake at GTC
      3.    http://www.bit-tech.net/hardware/graphics/2009/09/30/ati-radeon-hd-5870-architecture-analysis/8
            HD 5870 Architecture
      4.    http://www.nvidia.com/object/fermi_architecture.html NVIDIA Fermi Architecture
      5.    http://www.nvidia.com/nexus NVIDIA Nexus
      6.    http://developer.amd.com/gpu/acmlgpu/pages/default.aspx AMD ACML Library
      7.    http://www.intel.com/cd/corporate/pressroom/emea/rus/archive/2009/419637.htm Larrabee press
            release
      8.    http://en.wikipedia.org/wiki/Larrabee_(GPU) Intel Larrabee GPU
      9.    http://www.ixbt.com/news/all/index.shtml?12/46/03 Fermi architecture details
      10.   http://developer.nvidia.com/object/get-opencl.html NVIDIA OpenCL




CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                                                              33
Only for
 Maxus      Лаборатория компьютерной
             графики и мультимедиа

      Видеогруппа это:
       Выпускники в аспирантурах Англии,

        Франции, Швейцарии (в России в МГУ и
        ИПМ им. Келдыша)
       Выпускниками защищено 5 диссертаций

       Наиболее популярные в мире сравнения
        видеокодеков
       Более 3 миллионов скачанных фильтров
        обработки видео
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video
                                                                     34

More Related Content

Обзор новинок в области GPGPU

  • 1. Новые тенденции использования GPGPU Арсаев Марат Video Group CS MSU Graphics & Media Lab 19.05.2010
  • 2. Only for Maxus  Содержание  Текущее положение GPGPU  Сравнение GPU API  Средства разработки  Обработка видео на GPU  Будущее GPGPU CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 2
  • 3. Only for Maxus  Текущее положение GPGPU GPGPU – техника программирования на графическом процессоре задач общего назначения 3 TFlops 2,5 2 1,5 ATI 1 NVIDIA 0,5 0 2006 2007 2008 2009 CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 3
  • 4. Only for Maxus  Особенности современных GPU  Наличие множества архитектур  Наличие множества API для программирования  Сложно сразу перейти на программирование на GPU CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 4
  • 5. Only for Maxus  Развитие GPGPU Производители продвигают GPU в массы:  Разработка C-подобных языков  Разработка библиотек на GPU  Создание отладчиковпрофилировщиков  Создание специализированных сред CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 5
  • 6. Only for Maxus  Содержание  Текущее положение GPGPU  Сравнение GPU API  OpenGL  CUDA  OpenCL  Средства разработки  Обработка видео на GPU  Будущее GPGPU CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 6
  • 7. Only for Maxus  OpenGL  Язык – OpenGL Shading Language  Некоторая запутанность использования  Можно использовать графические возможности GPU  Поддерживается устаревшими моделями  Достаточен для небольших проектов CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 7
  • 8. Only for Maxus  CUDA  Язык – расширение над С  Более гибкая работа с памятью:  Shared memory  Произвольный доступ к памяти  Привязка к NVIDIA  При хорошем понимании архитектуры можно получить значительный прирост производительности CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 8
  • 9. Only for Maxus  OpenCL  Расширение языка С, похож на CUDA  Код может выполнятся на любом OpenCL- поддерживающем устройстве – главное преимущество и недостаток OpenCL  Сложности с расширениями CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 9
  • 10. Only for Maxus  OpenCL  У NVIDIA – обертка на CUDA  У АМD – разработана с нуля (Stream SDK)  Приближение производительности к CUDA  Скорая возможность полной унификации AMD и NVIDIA CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 10
  • 11. Only for Maxus  Содержание  Текущее положение GPGPU  Сравнение GPU API  Средства разработки  Профилировщики и отладчики  IDE  Библиотеки  Обработка видео на GPU  Будущее GPGPU CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 11
  • 12. Only for Maxus  AMD GPU Performance Studio Server  Система клиент-сервер  Мощное средство оценки производительности Client программы на DirectX 10 и DirectX 10.1 Frame  Только для карт ATI Analyzer начиная с серии HD2000 Frame Debugger Shader Debugger CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 12
  • 13. Only for Maxus  AMD GPU Performance Studio  Быстрая или углубленная оценка производительности приложения  Возможность отладки HLSL и ассемблера CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 13
  • 14. Only for Maxus  Intel Graphics Performance Analyzer  Отладчик и профилировщик DirectX 9 и DirectX 10 приложений для графических чипов Intel  Важен для разработки под мобильные решения Intel  Структура схожа с AMD GPU Performance Studio CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 14
  • 15. Only for Maxus  Intel Graphics Performance Analyzer  Два варианта работы – онлайн мониторинг и покадровый анализ  Удобный режим внесение изменений – просмотр результата CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 15
  • 16. Only for Maxus  gDEBugger  Отладчик для OpenGL (GLSL до 1.4)  Ныне хорошо поддерживается и развивается CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 16
  • 17. Only for Maxus  Cudaprof  Профилировщик ядер CUDA  Отображает основные и самые нужные показатели CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 17
  • 18. Only for Maxus  NVIDIA Nexus Интегрированный в Visual Studio профилировщик и отладчик CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 18
  • 19. Only for Maxus  GPU библиотеки На данный существует множество вспомогательных библиотек:  Постоянно улучшающиеся NVPP (IPP), CUBLAS, CULAtools  ACML-GPU (для 64битных систем)  Сторонние библиотеки CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 19
  • 20. Only for Maxus  Содержание  Текущее положение GPGPU  Сравнение GPU API  Средства разработки  Обработка видео на GPU  Будущее GPGPU CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 20
  • 21. Only for Maxus  Обработка видео на GPU Сравним производительность похожего кода на CUDA, OpenCL, OpenGL  Взят box filter из CUDA SDK и OpenCL SDK, измененные под обработку видео  Написана программа на OpenGL, реализующая несепарабельный box filter CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 21
  • 22. Only for Maxus  Обработка видео на GPU Платформа: NVIDIA 9400М, Intel Atom 1.66 GHz CUDA OpenCL OpenGL 320x240 104fps 89fps 90fps 640x480 63fps 43fps 62fps CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 22
  • 23. Only for Maxus  Содержание  Текущее положение GPGPU  Сравнение GPU API  Средства разработки  Обработка видео на GPU  Будущее GPGPU:  NVIDIA Fermi  Intel Larrabee CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 23
  • 24. Only for Maxus  NVIDIA Fermi Во многом новая архитектура:  Программируемый кеш  Увеличенная разделяемая память  Параллельное вычисление ядер в одном SM: CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 24
  • 25. Only for Maxus  NVIDIA Fermi Встроенная поддержка:  CUDA 2.2  C++  OpenCL 1.0  DirectX 11 и DirectCompute  OpenGL 3.2  и др. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 25
  • 26. Only for Maxus  NVIDIA Fermi По многим характеристикам превосходит Radeon Cypress XT (5870) GT200 Cypress XT Fermi Кол-во транзисторов 1.4 млрд 2.154 млрд 3 млрд Потоковых 240 1600 512 процессоров Шина памяти 512 бит 256 бит 384 бит Кеш L1 16 КБ 8 КБ 48 КБ Кеш L2 - 512 КБ 768 КБ Разделяемой памяти 16 КБ 64 КБ до 48 КБ Вычислений с плавающей 240 MAD 1600 MAD 512 FMA точкой за такт Вычислений двойной 30 FMA 640 FMA 256 FMA точности за такт CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 26
  • 27. Only for Maxus  NVIDIA Fermi Показ на GPU Technology Conference в конце сентября вызвал множество споров CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 27
  • 28. Only for Maxus  NVIDIA Fermi  У NVIDIA есть достойный ответ Intel и ATI  Более гибкая, быстрая и надежная архитектура  Удобное программирование вместе с NVIDIA Nexus  Дата выхода – март 2010 CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 28
  • 29. Only for Maxus  Intel Larrabee  Larrabee – GPU на ядрах х86  Встроенная поддержка C/C++  Код выполняется на CPU и GPU одновременно  Шанс Intel выйти на рынок дискретных видеокарт CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 29
  • 30. Only for Maxus  Intel Larrabee  Первый показ осенью 2009  Все находится в разработке CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 30
  • 31. Only for Maxus  Intel Larrabee  Отсутствие окончательных программных и аппаратных спецификаций  Отсутствие конкретных дат выхода  Большая заинтересованность со стороны сообщества  Разработка Larrabee Prototype Library  Будем ждать выхода… CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 31
  • 32. Only for Maxus  Выводы  Производители стараются максимально продвигать и поддерживать GPGPU  Все большее количество задач может быть выполнено на современных GPU  Проблемы обработки изображений и видео очень хорошо ложатся на GPU CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 32
  • 33. Only for Maxus  Список литературы 1. http://www.fudzilla.com/content/view/15954/1/ NVIDIA Fermi Launch 2. http://www.semiaccurate.com/2009/10/01/nvidia-fakes-fermi-boards-gtc/ NVIDIA Fermi Fake at GTC 3. http://www.bit-tech.net/hardware/graphics/2009/09/30/ati-radeon-hd-5870-architecture-analysis/8 HD 5870 Architecture 4. http://www.nvidia.com/object/fermi_architecture.html NVIDIA Fermi Architecture 5. http://www.nvidia.com/nexus NVIDIA Nexus 6. http://developer.amd.com/gpu/acmlgpu/pages/default.aspx AMD ACML Library 7. http://www.intel.com/cd/corporate/pressroom/emea/rus/archive/2009/419637.htm Larrabee press release 8. http://en.wikipedia.org/wiki/Larrabee_(GPU) Intel Larrabee GPU 9. http://www.ixbt.com/news/all/index.shtml?12/46/03 Fermi architecture details 10. http://developer.nvidia.com/object/get-opencl.html NVIDIA OpenCL CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 33
  • 34. Only for Maxus  Лаборатория компьютерной графики и мультимедиа Видеогруппа это:  Выпускники в аспирантурах Англии, Франции, Швейцарии (в России в МГУ и ИПМ им. Келдыша)  Выпускниками защищено 5 диссертаций  Наиболее популярные в мире сравнения видеокодеков  Более 3 миллионов скачанных фильтров обработки видео CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video 34