AMD Performance Library
Encyclopedia
Framewave is a high-performance optimized library consisting of low level APIs for image processing, signal processing, JPEG
JPEG
In computing, JPEG . The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality....

 and video functionality. These APIs are programmed with task level parallelization (multi-threading) and instruction level parallelism
Instruction level parallelism
Instruction-level parallelism is a measure of how many of the operations in a computer program can be performed simultaneously. Consider the following program: 1. e = a + b 2. f = c + d 3. g = e * f...

 (SIMD
SIMD
Single instruction, multiple data , is a class of parallel computers in Flynn's taxonomy. It describes computers with multiple processing elements that perform the same operation on multiple data simultaneously...

) resulting in maximum performance on AMD multi-core processors. It has been released as a free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 project under the Apache License
Apache License
The Apache License is a copyfree free software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer....

.

Overview

The AMD Performance Library was developed by Advanced Micro Devices
Advanced Micro Devices
Advanced Micro Devices, Inc. or AMD is an American multinational semiconductor company based in Sunnyvale, California, that develops computer processors and related technologies for commercial and consumer markets...

 (AMD) as a collection of popular software routines designed to accelerate application development, debugging, and optimization on x86 class processors. It includes both simple arithmetic routines as well as 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 Microsoft Visual Studio 2005 and GCC 4.1, and as a 32- or 64-bit dynamic library for the Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 or Solaris operating systems.

In 2008, AMD deprecated the APL library in favor of an open-source derivative called Framewave. Framewave is licensed under the Apache License version 2.0, which is compatible with version 3.0 of the GPL.

Framewave is available as 32 and 64-bit static libraries for Microsoft Visual Studio 2008 and GCC 4.3, and as 32 and 64-bit dynamic libraries for the Linux, Microsoft Windows, Solaris and Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

 operating systems. There have been noticeable performance gains in several APIs, including JPEG, in comparison to Framewave 1.0.

Features

Framewave consists of the following main components:
  • Simple interface to take advantage of latest hardware innovations
    • MMX
    • SSE
      Streaming SIMD Extensions
      In computing, Streaming SIMD Extensions is a SIMD instruction set extension to the x86 architecture, designed by Intel and introduced in 1999 in their Pentium III series processors as a reply to AMD's 3DNow! . SSE contains 70 new instructions, most of which work on single precision floating point...

      , SSE2
      SSE2
      SSE2, Streaming SIMD Extensions 2, is one of the Intel SIMD processor supplementary instruction sets first introduced by Intel with the initial version of the Pentium 4 in 2001. It extends the earlier SSE instruction set, and is intended to fully supplant MMX. Intel extended SSE2 to create SSE3...

    • Multi-core CPUs
  • Faster development of multimedia projects
    • Media players
    • Codecs - including MPEG-1
      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 1.5 Mbit/s without excessive quality loss, making video CDs, digital cable/satellite TV and digital audio broadcasting possible.Today, MPEG-1 has become...

       and MPEG-2
      MPEG-2
      MPEG-2 is a standard for "the generic coding of moving pictures and associated audio information". It describes a combination of lossy video compression and lossy audio data compression methods which permit storage and transmission of movies using currently available storage media and transmission...

       decoders
    • Image editors
    • Audio applications
  • Easy path to multi-threading
    Thread (computer science)
    In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process...


APL 1.1

Released on 2007-09-19, APL 1.1 added the following feature enhancements:
  • Video Decoding (H.264) support
  • JPEG
    JPEG
    In computing, JPEG . The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality....

     support
  • AMD "Barcelona
    AMD K10
    The AMD Family 10h is a microprocessor microarchitecture by AMD. Though there were once reports that the K10 had been canceled, the first third-generation Opteron products for servers were launched on September 10, 2007, with the Phenom processors for desktops following and launching on November...

    " quad-core processor optimizations
  • Support for Sun Studio
    Sun Studio (software)
    The Oracle Solaris Studio compiler suite is Oracle's flagship software development product for Solaris and Linux. It was formerly known as Sun Studio...

     compilers for Solaris

See also

  • AMD Core Math Library
    AMD Core Math Library
    AMD Core Math Library is a software development library released by AMD. This library provides useful mathematical routines optimized for AMD processors....

  • Open64
    Open64
    Open64 is an 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 software under the name Pro64. The following year, University of...

    - AMD has its own Open64 distribution that is tuned for AMD processors

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK