HOME

TheInfoList



OR:

Framewave (formerly AMD Performance Library (APL)) is computer
software Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work. ...
, a high-performance optimized programming
library A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vir ...
, consisting of low level application programming interfaces (APIs) for image processing,
signal processing Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as sound, images, and scientific measurements. Signal processing techniques are used to optimize transmissions, ...
, JPEG, and video functions. These APIs are programmed with task level parallelization ( multi-threading) and
instruction-level parallelism Instruction-level parallelism (ILP) is the parallel or simultaneous execution of a sequence of instructions in a computer program. More specifically ILP refers to the average number of instructions run per step of this parallel execution. Disc ...
single instruction, multiple data (
SIMD Single instruction, multiple data (SIMD) is a type of parallel processing in Flynn's taxonomy. SIMD can be internal (part of the hardware design) and it can be directly accessible through an instruction set architecture (ISA), but it shoul ...
) for maximum performance on
multi-core processor A multi-core processor is a microprocessor on a single integrated circuit with two or more separate processing units, called cores, each of which reads and executes program instructions. The instructions are ordinary CPU instructions (such ...
s from
Advanced Micro Devices Advanced Micro Devices, Inc. (AMD) is an American multinational semiconductor company based in Santa Clara, California, that develops computer processors and related technologies for business and consumer markets. While it initially manufact ...
(AMD). Framewave is free and open-source software released under the Apache License version 2.0, which is compatible with the
GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general ...
3.0.


Overview

The AMD Performance Library was developed by
Advanced Micro Devices Advanced Micro Devices, Inc. (AMD) is an American multinational semiconductor company based in Santa Clara, California, that develops computer processors and related technologies for business and consumer markets. While it initially manufact ...
(AMD) as a collection of popular software routines designed to accelerate application development, debugging, and optimization on
x86 x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was intr ...
class processors. It includes simple arithmetic routines, and more complex functions for applications such as image and signal processing. APL is available as a static library for 32- or 64-bit versions of
GNU Compiler Collection The GNU Compiler Collection (GCC) is an optimizing compiler produced by the GNU Project supporting various programming languages, hardware architectures and operating systems. The Free Software Foundation (FSF) distributes GCC as free softwar ...
(GCC) 4.1 and Microsoft
Visual Studio Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such ...
2005, and as a 32- or 64-bit dynamic library for the operating systems
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
, Solaris, and
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ser ...
. In 2008, AMD deprecated the APL library in favor of an open-source derivative named ''Framewave''. Framewave is available as 32- and 64-bit static libraries for GCC 4.3 and Microsoft Visual Studio 2008, and as 32- and 64-bit dynamic libraries for the operating systems Linux,
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
, Solaris, and Windows. Relative to Framewave 1.0, noticeable performance gains occurred in several APIs, including JPEG.


Features

Framewave consists of the following main components: * Simple interface to take advantage of latest hardware innovations ** MMX ** Streaming SIMD Extensions (SSE), SSE2 **
Multi-core processor A multi-core processor is a microprocessor on a single integrated circuit with two or more separate processing units, called cores, each of which reads and executes program instructions. The instructions are ordinary CPU instructions (such ...
s * Faster development of multimedia projects ** Media players **
Codec A codec is a device or computer program that encodes or decodes a data stream or signal. ''Codec'' is a portmanteau of coder/decoder. In electronic communications, an endec is a device that acts as both an encoder and a decoder on a signal or ...
s – including
MPEG-1 MPEG-1 is a standard for lossy compression of video and audio. It is designed to compress VHS-quality raw digital video and CD audio down to about 1.5 Mbit/s (26:1 and 6:1 compression ratios respectively) without excessive quality loss, making ...
and MPEG-2 decoders ** Image editors ** Audio applications * Easy path to multi-threading


APL 1.1

Released on 2007-09-19, APL 1.1 added these feature enhancements: * Video Decoding (
H.264 Advanced Video Coding (AVC), also referred to as H.264 or MPEG-4 Part 10, is a video compression standard based on block-oriented, motion-compensated coding. It is by far the most commonly used format for the recording, compression, and distr ...
) support * JPEG support * AMD "
Barcelona Barcelona ( , , ) is a city on the coast of northeastern Spain. It is the capital and largest city of the autonomous community of Catalonia, as well as the second most populous municipality of Spain. With a population of 1.6 million within ci ...
"
quad-core A multi-core processor is a microprocessor on a single integrated circuit with two or more separate processing units, called cores, each of which reads and executes program instructions. The instructions are ordinary CPU instructions (such a ...
processor optimizations * Support for
Sun Studio Sun Studio is a recording studio opened by rock-and-roll pioneer Sam Phillips at 706 Union Avenue in Memphis, Tennessee, on January 3, 1950. It was originally called Memphis Recording Service, sharing the same building with the Sun Records label ...
compilers for Solaris


See also

*
AMD Core Math Library AMD Core Math Library (ACML) is an end-of-life software development library released by AMD. This library provides mathematical routines optimized for AMD processors. The successor to ACML is the AMD Optimizing CPU Libraries (AOCL), a set of most ...
*
Open64 Open64 is a free, open-source, optimizing compiler for the Itanium and x86-64 microprocessor architectures. It derives from the SGI compilers for the MIPS R10000 processor, called ''MIPSPro''. It was initially released in 2000 as GNU GPL s ...
- AMD has its own Open64 distribution that is tuned for AMD processors *
Integrated Performance Primitives Intel Integrated Performance Primitives (Intel IPP) is a multi-threaded software library of functions for multimedia and data processing applications, produced by Intel. The library supports Intel and compatible processors and is available for Li ...
(IPP)


References


External links

* {{Official website, framewave.sourceforge.net
Framewave main page



Using the New AMD Performance Library

AMD Performance Library: Blazing your Way to Glory

Framewave (SourceForge) main page

Framewave * Programming Reference in .pdf format
AMD software Graphics libraries