Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Центр разработчиков AMD: серия веб-семинаров по программированию OpenCL.2. Введение в OpenCL
2- Введение в OpenCL
В этом видео представлено подробное введение в OpenCL, платформу для параллельных вычислений, которая может использовать центральные и графические процессоры для ускорения вычислений. Программы, написанные на OpenCL, могут выполняться на разных устройствах и архитектурах, что позволяет переносить код на разные платформы. В видео обсуждаются различные модели выполнения в OpenCL, включая параллелизм данных и параллелизм задач, а также различные объекты и команды, используемые в OpenCL, такие как объекты памяти, очереди команд и объекты ядра. В видео также рассматриваются преимущества и ограничения использования OpenCL, такие как необходимость явного управления памятью и возможность значительного повышения производительности в параллельных программах.
Центр разработчиков AMD: серия вебинаров по программированию на OpenCL. 3. Архитектура графического процессора
3 - Архитектура графического процессора
В этом видео представлен обзор архитектуры графических процессоров с учетом происхождения и основного использования графических процессоров в качестве графических процессоров. Графические процессоры предназначены для обработки пикселей с высокой степенью параллелизма, в отличие от ЦП, предназначенных для скалярной обработки с конвейерами с малой задержкой. Архитектура графических процессоров оптимизирована для задач, связанных с графикой, которые могут не подходить для вычислений общего назначения. Докладчик объясняет, как GPU максимизирует пропускную способность набора потоков, а не минимизирует задержку выполнения одного потока. Также обсуждается архитектура блока ядра графического процессора, включая локальные общие данные, волновые фронты и рабочие группы. В видео рассматриваются различные функции архитектуры графического процессора, которые помогают увеличить количество операций, которые может выполнять компилятор, включая выдачу зависимых операций в одном пакете и поддержку зависимых счетчиков с глобальным общим доступом к бета-версии. Несмотря на то, что конструкции ядер GPU и ЦП могут быть схожими, их рабочие нагрузки должны совпадать, чтобы они имели схожие конструкции.
В этом видео об архитектуре графического процессора спикер углубляется в концепцию барьеров и их функции. Когда рабочая группа содержит несколько волновых фронтов в графическом процессоре, барьеры используются для синхронизации этих волновых фронтов. Однако, если в группе существует только один рабочий волновой фронт, барьеры становятся бессмысленными и сводятся к неработоспособности.
Центр разработчиков AMD: серия вебинаров по программированию на OpenCL. 4 Программирование OpenCL в деталях
4 - Программирование OpenCL в деталях
В этом видео спикер дает обзор программирования OpenCL, обсуждая его язык, платформу и API среды выполнения. Они подробно описывают модель программирования, которая требует мелкозернистого параллелизма, рабочих элементов и групп или потоков, синхронизации и управления памятью. Затем спикер обсуждает алгоритм n-тел и его вычислительный порядок порядка n-квадратов. Они объясняют, как код ядра OpenCL обновляет положение и скорость частиц в ньютоновской механике, вводит кэш для хранения положения одной частицы и как ядро обновляет положение и скорость частицы, используя типы данных с плавающим вектором. Докладчик также подробно рассматривает, как код хоста взаимодействует с ядрами OpenCL, явно устанавливая параметры и аргументы, передавая данные между хостом и графическим процессором и ставя в очередь выполнение ядра для синхронизации. Наконец, в видео показано, как изменить код OpenCL для поддержки нескольких устройств, синхронизировать данные между графическими процессорами и установить идентификаторы устройств для представляющих их массивов половинного размера.
Во второй части обсуждаются различные аспекты программирования OpenCL. Он охватывает такие темы, как схема двойного буфера для синхронизации обновленной позиции частиц между двумя массивами, ограничения OpenCL и разница между глобальными и локальными указателями в распределении памяти. Кроме того, в нем освещаются методы оптимизации для программирования OpenCL, включая векторные операции, контролируемый доступ к памяти и развертывание циклов, а также инструменты, доступные для анализа реализации OpenCL, такие как инструменты профилирования. Докладчик рекомендует стандарт OpenCL в качестве ресурса для программистов OpenCL и предоставляет URL-адреса стандарта и ATI Stream SDK. В видео также рассматриваются вопросы по таким темам, как совместное использование памяти, оптимизация кода, выделение памяти и использование вычислительных блоков.
Центр разработчиков AMD: серия вебинаров по программированию на OpenCL. 5. Реальные приложения OpenCL
5 - Реальные приложения OpenCL
В этом видео Йоахим Дегуара рассказывает о приложении для обработки многопотокового видео, над которым он работал, уделяя особое внимание оптимизации производительности. Видео охватывает различные темы, такие как декодирование форматов видео, использование DMA для передачи памяти между ЦП и ГП, двойная буферизация, выполнение ядер, использование объектов событий для синхронизации и операций профилирования, взаимодействие OpenCL-OpenGL, обработка прокруток в видео и выбор между ними. OpenCL и OpenGL при обработке алгоритмов. Йоахим также обсуждает различные выборки и SDK, доступные для приложений OpenCL, но отмечает, что в настоящее время нет доступного примера кода для конкретного приложения, обсуждаемого в видео.
Центр разработчиков AMD: серия вебинаров по программированию на OpenCL. 6. Расширения Device Fission для OpenCL
6 - Расширения Device Fission для OpenCL
В этом видео спикер затрагивает различные темы, связанные с расширениями деления устройств для OpenCL. Они объясняют различные типы расширений и то, как разделение устройств позволяет разделить большие устройства на более мелкие, что полезно для резервирования ядра для высокоприоритетных задач или обеспечения того, чтобы определенные рабочие группы были назначены определенным ядрам. Они обсуждают важность сохранения последовательной семантики при распараллеливании операций переноса векторов, использовании параллельных шаблонов для оптимизации процесса и создании собственных ядер в OpenCL. Докладчик также демонстрирует приложение, использующее разделение устройств для OpenCL, и обсуждает сходство памяти и будущее разделения устройств на других устройствах.
Центр разработчиков AMD: серия вебинаров по программированию на OpenCL. 7. Гидродинамика сглаженных частиц.
7 - Гидродинамика сглаженных частиц
В этом видео обсуждается гидродинамика сглаженных частиц (SPH), метод решения уравнений гидродинамики, в частности уравнений Навье-Стокса. В видео объясняются различные члены уравнений, в том числе условия плотности, давления и вязкости, а также то, как они аппроксимируются с помощью ядра сглаживания. Также обсуждается численный алгоритм, используемый для SPH, а также использование пространственного индексирования и Interop. Докладчик объясняет процесс построения пространственного индекса и карты соседей, а также то, как вычисляются физические параметры. Видео предлагает зрителям загрузить и использовать программу и обсуждает ограничения моделирования. Затем спикер отвечает на вопросы аудитории о производительности графического процессора, несжимаемом поведении и использовании кэшированных изображений.
Центр разработчиков AMD: серия вебинаров по программированию на OpenCL. 8. Методы оптимизации: свертка изображений
В этом видео Udeepta D. Bordoloi обсуждает методы оптимизации при свертке изображений.
AMD Developer Inside Track: как оптимизировать свертку изображений
Как оптимизировать свертку изображений
В этом видео обсуждаются различные методы оптимизации свертки изображений, в том числе использование локального обмена данными, оптимизация констант и использование больших локальных областей для повышения эффективности. Докладчик подчеркивает важность минимизации времени обработки при свертке изображений для повышения общей производительности и выделяет новый метод повторного использования данных с использованием локальной памяти. Видео предлагает шаги по оптимизации, такие как использование очевидных или текстур, использование силы мысли и использование параметров передачи счетчику. Пошаговая статья об оптимизации методов свертки изображений доступна на веб-сайте AMD для разработчиков.
Центр разработчиков AMD: технический обзор OpenCL. Введение в OpenCL
Центр разработчиков AMD: технический обзор OpenCL. Введение в OpenCL
В этом видео Майкл Хьюстон представляет обзор OpenCL, отраслевого стандарта для параллельных вычислений данных, предназначенного для многоядерных процессоров, мобильных устройств и других форм кремния. OpenCL стремится объединить ранее конкурирующие проприетарные реализации, такие как CUDA и Brook+, что упростит разработку для независимых поставщиков программного обеспечения. Он предлагает разбивку между кодом, который работает на устройстве, и кодом, который управляет устройством с помощью системы очередей, предназначенной для обратной связи с разработчиками игр. OpenCL хорошо работает с графическими API, создавая вездесущий язык вычислений, который можно использовать для различных приложений, таких как редактирование фотографий и видео, а также для систем искусственного интеллекта, моделирования и физики. Ведущий также обсуждает использование OpenCL для голливудского рендеринга и надеется увидеть больше работ в этой области.
Центр разработчиков AMD: технический обзор OpenCL. Эпизод 2: Что такое OpenCL™? (продолжение)
Центр разработчиков AMD: технический обзор OpenCL. Эпизод 2: Что такое OpenCL™? (продолжение)
В этом видео Джастин Хенсли обсуждает модели платформы и памяти OpenCL, которые важно понимать при использовании OpenCL для ускорения приложений. Он объясняет, что хост подключен к одному или нескольким устройствам OpenCL, таким как графические процессоры или многоядерные процессоры, которые имеют вычислительные блоки, выполняющие код в одной модели данных с несколькими инструкциями. Рабочие элементы имеют частную память, в то время как рабочие группы имеют общую локальную память, каждое устройство имеет глобальную и постоянную память, и разработчики должны явно управлять синхронизацией памяти и данными для достижения максимальной производительности. Кроме того, Хенсли обсуждает такие объекты OpenCL, как устройства, контексты, очереди, буферы, изображения, программы, ядра и события, которые используются для передачи работы устройствам, синхронизации и профилирования данных. Наконец, он описывает, как выполнить программу OpenCL в три простых шага: создание программы и объектов ядра, создание объектов памяти и создание очередей команд с событиями для обеспечения надлежащего порядка выполнения ядра.