3 research outputs found

    Спосіб ентропійного кодування відео на базі розширеного набору інструкцій SIMD AVX-512

    Get PDF
    The purpose of this work is to reduce the time of entropy coding of video using the capabilities of processors with an extended instruction set of the AVX-512 type due to parallelization and the use of additional SIMD instructions compared to AVX2 and SSE. The paper investigates the AV1 video entropy decoding algorithm, both the existing scalar version and the vectorized version based on SIMD SSE and AVX2. The disadvantages of the above algorithms are analyzed, which lead to additional run time of processors and, as a result, to a decrease of their performance. These versions do not utilize all the capabilities of the modern microarchitecture with support for the AVX-512 SIMD set. In this paper we show that by means of the SIMD AVX-512 instruction set, it is possible to effectively solve problems, in particular, left-hand packing, and reduce the number of vector and general-purpose registers used by the program, avoid unnecessary specialization of functions, which requires additional resource consumption, for instance, stack memory. The positive results obtained during testing of the proposed method of entropy decoding based on SIMD AVX-512 in comparison with the scalar and vectorized versions of SIMD SSE and AVX2 are given. Disadvantages of microarchitecture with extended AVX512 instruction set and ways to solve them are considered. It is indicated that the above shortcomings can be corrected by choosing the correct entropy encoding parameters. The relative acceleration of the part of entropy decoding, which is responsible for updating the probabilities, works much faster, because it does not depend on the values ​​​​of the decoded symbol.Целью данной работы является уменьшение времени энтропийного кодирования видео с использованием возможностей процессоров с расширенным набором инструкций типа AVX-512 за счет распараллелирования и использования дополнительных SIMD инструкций по сравнению с AVX2 и SSE. В работе исследуются алгоритм энтропийного декодирования видео AV1 как существующая скалярная версия, так и векторизированная версия на базе SIMD SSE и AVX2. Проанализированы недостатки описанных алгоритмов, приводящие к излишним затратам времени процессоров и, как следствие, к снижению их производительности. Данные версии не используют все возможности современной микроархитектуры с поддержкой набора SIMD AVX-512. В работе показано, что с помощью набора инструкций SIMD AVX-512 можно эффективно решить проблемы, в частности левосторонней упаковки, и уменьшить количество векторных и общего назначения регистров, использующих программу, избежать лишних специализаций функций, требующих дополнительных затрат ресурсов, а именно стек-памяти. Приведены положительные результаты, полученные при тестировании предлагаемого способа энтропийного декодирования на базе SIMD AVX-512 по сравнению со скалярной и векторизированной версиями SIMD SSE и AVX2. Рассмотрены недостатки микроархитектуры с расширенным набором AVX512 инструкций и пути их решения. Указано, что приведенные недостатки можно исправить при выборе правильных параметров энтропийного декодирования. Относительное ускорение части энтропийного декодирования, отвечающего за обновление вероятностей, работает значительно быстрее, поскольку не зависит от значений декодированного символа.Метою даної роботи є зменшення часу ентропійного кодування відео з використанням можливостей процесорів із розширеним набором інструкцій типу AVX-512 за рахунок розпаралелювання і використання додаткових SIMD  інструкцій у порівнянні з AVX2 та SSE. У роботі досліджуються алгоритм ентропійного декодування відео AV1, як існуюча скалярна версія, так і векторизована версія на базі SIMD SSE та AVX2. Проаналізовані недоліки наведених алгоритмів, які призводять до зайвих витрат часу процесорів і як наслідок до зниження їх продуктивності. Дані версії не використовують усі можливостей сучасної мікроархітектури із підтримкою набору SIMD AVX-512. У роботі показано, що за допомогою набору інструкцій SIMD AVX-512 можна ефективно вирішити проблеми, зокрема лівостороннього пакування, та зменшити кількість векторних та загального призначення регістрів, що використовує програма, уникнути зайвих спеціалізацій функцій, що потребує додаткових витрат ресурсів, а саме стек-памяті. Наведені позитивні результати, отримані під час тестування запропонованого способу ентропійного декодування на базі SIMD AVX-512 у порівнянні зі скалярною та векторизованою версіями SIMD SSE та AVX2. Розглянуті недоліки мікроархітектури із розширеним набором інструкцій AVX512 та шляхи їх вирішення. Вказано, що наведенітнедоліки можливо виправити при виборі правильних параметрів ентропійного енкодування. Відносне прискорення частини ентропійного декодування, що відповідає за оновлення ймовірностей працює значно швидше, оскільки не залежить від значень декодованого символу
    corecore