Posts

The Difference of SVE2 (Project Stage 3)

Image
Hey everyone, and welcome to the final blog for SPO600. Objective ARMv9 is coming out soon, and it has improved SIMD implementation using a new technology titled Scalable Vector Extensions v2 (SVE2). This is an upgrade from SVE, an AArch64 extension used for flexible vector-length implementations. The idea for this final blog is to analyze how ffmpeg will be operating differently with the coming of SVE2 and describe the changes that will need to be extended to support SVE2. Definition Firstly, let's take a look at the official documentation for SVE2, taken straight from the ARM website. "SVE2 is a superset of SVE and Neon." This means that SVE2 will support all of the functionality of SVE and the Neon extension with extended features. By this logic, ffmpeg will require no necessary changes to support the new SVE2 overhaul. However; there's a couple of new features in SVE2 that should be utilized to improve the efficiency of ffmpeg. How do I write SVE code anyway? In

So I examined another open-source project... (Project Stage 2)

Image
For the second stage of the final SPO600 project, the objective is to select one open-source project of our choosing, locate the SIMD code and examine its purpose. Professor Chris provided many open-source project options for us; I decided to go with ffmpeg. ffmpeg is a multimedia library that is used for transcoding formats, video editing (trimming, concatenating, scaling, effects, etc.). This library has been in development since its release on December 20, 2000, with the most recent commit only being a few hours ago as shown below.   I decided to take a dive into their repository, searching for any sign of SIMD code. SIMD stands for Single Instruction, Multiple Data and is a parallel processing technique that is often used for 3D Graphics and multimedia applications. This makes sense because images have two dimensions, and videos even include time as an extra 'dimension' as well. Parallel processing is crucial to operate efficiently on multimedia like that. This is what