Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
EECE.6540 Гетерогенные вычисления (Массачусетский университет Лоуэлла)
36. Выполнение инструкций на пути данных ЦП
Видео объясняет, как выполняются вычисления на пути данных ЦП, на примере выполнения операций накопления. Путь данных включает блоки загрузки и хранения для загрузки и сохранения данных в память с использованием адресов и функциональные блоки, такие как ALU, для выполнения операций. Видео иллюстрирует процесс шаг за шагом, включая загрузку данных из памяти, выполнение операций и сохранение результатов обратно в память. Докладчик также объясняет, как можно использовать FPGA для реализации той же функции, максимально используя доступные аппаратные ресурсы.
EECE.6540 Гетерогенные вычисления (Массачусетский университет Лоуэлла)
37. Индивидуальный путь передачи данных на FPGA
В видео объясняется использование FPGA для реализации функции ядра для повышения производительности за счет развертывания аппаратного обеспечения ЦП и настройки пути данных на FPGA. Удалив неиспользуемые единицы измерения, загрузив константы и проводники и перепланировав некоторые операции, операции загрузки можно выполнять одновременно для повышения производительности. Разработка настраиваемых путей передачи данных может повысить пропускную способность, сократить задержки и энергопотребление за счет выбора необходимых операций и данных для конкретной функции. В видеоролике показан пример сложения двух векторов по запросу, при этом результат сохраняется в памяти с использованием регистров между этапами, что позволяет эффективно организовать конвейер и запустить восемь рабочих элементов для последовательного добавления.
EECE.6540 Гетерогенные вычисления (Массачусетский университет Лоуэлла)
38. OpenCL для FPGA и ядра параллельных данных
В видео показано, как OpenCL позволяет инженерам FPGA использовать ресурсы разработки программного обеспечения для увеличения числа разработчиков приложений FPGA за счет использования ресурсов параллельных вычислений на FPGA. Модель программирования OpenCL позволяет задавать параллелизм с помощью функций параллельных данных, называемых ядрами, и каждое ядро использует идентификаторы, указанные в параметре «получить глобальный идентификатор», для выполнения параллельных вычислений над независимыми сегментами данных. Вводится понятие потоков и рабочих групп, где потоки получают доступ к различным частям набора данных, разделенных на рабочие группы, и только потоки в одной рабочей группе могут совместно использовать локальную память. С помощью этой модели программирования OpenCL обеспечивает эффективную параллельную обработку данных.
EECE.6540 Гетерогенные вычисления (Массачусетский университет Лоуэлла)
39. Программирование на стороне хоста OpenCL: контекст, очереди, объекты памяти и т. д.
В этом видеоруководстве рассматриваются различные концепции программирования на стороне хоста в OpenCL с акцентом на контекст, очереди и объекты памяти. Он охватывает два новых API в OpenCL, clCreateKernelsInProgram и clSetKernelArg, которые используются для создания объектов ядра и передачи аргументов функциям ядра. В учебнике также обсуждается использование API clCreateImage для создания объектов изображения и то, как пиксели изображения сохраняются в памяти с использованием порядка каналов и типа канала. В нем объясняется, как OpenCL обрабатывает 2D- и 3D-изображения, как разработчики могут собирать информацию об объектах памяти с помощью таких API, как clGetMemoryObjectInfo, и как выполнять операции с объектами памяти, такие как чтение и запись в буфер, отображение объектов памяти и копирование данных между объектами памяти.
EECE.6540 Гетерогенные вычисления (Массачусетский университет Лоуэлла)
40. Процесс проектирования HDL для FPGA
В этом видеоролике объясняется процесс разработки программируемых вентильных матриц (ПЛИС) с использованием программного обеспечения для проектирования Quartus.
Объяснены методология проектирования и программные средства для разработки ПЛИС. Типичный процесс разработки программируемой логики начинается со спецификации проекта, переходит к кодированию RTL, затем к функциональному моделированию RTL, за которым следует синтез для преобразования проекта в примитивы, специфичные для устройства. Затем инженеры сопоставляют эти примитивы с определенными местами внутри конкретной FPGA и проверяют характеристики производительности с помощью временного анализа. Наконец, проект загружается в карту FPGA, и инструменты отладки могут быть использованы для его тестирования на оборудовании. Для Intel FPGA программное обеспечение для проектирования Quartus используется для выполнения процесса проектирования, начиная с описания системы и переходя к логическому синтезу, размещению и маршрутизации, временному анализу и анализу мощности, а также к программированию проекта в реальных FPGA.
EECE.6540 Гетерогенные вычисления (Массачусетский университет Лоуэлла)
41. Типы данных OpenCL и память устройства
В видео обсуждаются типы данных OpenCL и память устройства. Он охватывает логические, целочисленные типы и типы с плавающей запятой и объясняет конкретные типы данных, используемые для работы с адресами памяти, такие как int-ptr, uint-ptr и ptrdiff-t. В нем также объясняются типы векторных данных, которые представляют собой массивы, содержащие несколько элементов одного типа, которые позволяют применять операторы к каждому элементу одновременно, и как их использовать. В видео представлены различные примеры того, как инициализировать элементы в векторе и обращаться к ним, в том числе с использованием буквенных и числовых индексов, высокого-нижнего и четного-нечетного. Он также объясняет выравнивание памяти и как использовать заданный аргумент ядра и частные аргументы ядра.
EECE.6540 Гетерогенные вычисления (Массачусетский университет Лоуэлла)
42. Векторные реляционные операции OpenCL
В видео обсуждается программирование ядра OpenCL, его операторы и встроенные функции. Основное внимание уделяется операторам отношения и тому, как они работают со скалярными и векторными значениями. Представлен пример функции ядра «op test», которая выполняет поэлементную операцию И между константой и частным вектором. В видео объясняется, как реализовать вектор с реляционными операциями в OpenCL, сравнивая определенные элементы вектора со скаляром с помощью логических операций. Результирующий вектор можно использовать в цикле while для создания конечного выходного вектора, который назначается выходному объекту памяти.
EECE.6540 Гетерогенные вычисления (Массачусетский университет Лоуэлла)
43. Встроенные функции OpenCL: vloadn, выберите
Видео охватывает две ключевые встроенные функции OpenCL: vloadn и select. Vloadn позволяет инициализировать пакеты значениями из скалярного массива и принимает два аргумента: смещение и указатель на скалярный массив. Select, с другой стороны, позволяет вам выбирать определенные элементы из двух пакетов и использовать их для создания нового вектора. Он может содержать целочисленные значения со знаком или без знака, и имеет значение только старший бит в элементах маски. В учебнике показано, как эти функции работают на практике.
EECE.6540 Гетерогенные вычисления (Массачусетский университет Лоуэлла)
44. Введение в DPC++
В этом видео представлен DPC++, язык высокого уровня для параллельного программирования данных, который переносит сложные вычисления на ускорители, такие как FPGA и GPU, и является частью платформы OneAPI. DPC++ направлен на ускорение рабочих нагрузок, связанных с параллельными данными, с помощью современного C++ и оптимизации производительности, ориентированной на архитектуру. Лектор предоставляет простой пример DPC++, демонстрирующий, как объявить переменные управления данными и выполнить функцию ядра на устройстве с помощью команды и средства доступа. В видео также объясняется, как лямбда-функция может принимать аргументы и ссылки от переменных, объявленных вне ее.
EECE.6540 Гетерогенные вычисления (Массачусетский университет Лоуэлла)
45. Как мыслить параллельно?
В видео рассказывается о параллельном программировании на примере умножения матриц. Это подчеркивает параллелизм в этом вычислении, когда несколько строк и столбцов могут быть вычислены независимо. Реализация вычисления одного элемента в матрице C показана с использованием функции ядра, которая позволяет выполнять параллельные вычисления. Подробно объясняется использование методов доступа, диапазона и параллельных функций ядра. Обсуждаются шаги, связанные с передачей значения диапазона в функцию ядра. Также демонстрируется демонстрация матричного умножения с использованием облака разработки Intel FPGA.