Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

AMD Open Sources the AMD Performance Library 59

bluephone writes "Today AMD announced that they're now opening the source to the AMD Performance Library (APL) under the Apache license. The newly opened code is now hosted at SourceForge (the corporate overlord of Slashdot) under its new name, Framewave. Phoronix says, "The AMD Performance Library / Framewave covers a multitude of operations from simple math operations to media processing and optimizations for multi-core environments." No word as to if it does your laundry. The SourceForge page says that while Framewave is 'sponsored' by AMD, it is "very much an open-source venture. While AMD will continue to participate in and contribute to the project, third-party developers are welcome and encouraged to implement all or part of the code base and/or to create derivative works." Being Apache licensed, it's quite open, so this doesn't seem to be mere lip service."
This discussion has been archived. No new comments can be posted.

AMD Open Sources the AMD Performance Library

Comments Filter:
  • by tomhudson ( 43916 ) <barbara@hudson.barbara-hudson@com> on Wednesday February 20, 2008 @10:39PM (#22497818) Journal

    No. If you look, you'll see that H.264 video decoding is one of the included features of the libraries. I expect to see encoding added in the future.

  • by 644bd346996 ( 1012333 ) on Wednesday February 20, 2008 @11:59PM (#22498406)
    Look up what microcode is. Microcode updates typically need to be reapplied every time the cpu is reset, ie. every time you boot your system. On windows, it is obviously easiest to apply these updates using a driver that gets loaded on boot.

    These microcode updates are used to fix bugs in the original hard-coded microcode. Being able to update the microcode is a great feature, because it often means you get a bug fix without actually replacing the physical cpu.
  • by setagllib ( 753300 ) on Thursday February 21, 2008 @12:05AM (#22498424)
    Yes they are. Modern CPUs have microcode (think firmware) which can even be replaced at runtime to patch bugs (e.g. race conditions that fudge memory protection). Intel and AMD both release microcode updates for their CPUs, and in Linux in particular, you can replace the microcode at runtime with zero risk because it's reset again when the CPU powers off.

    A processor "driver" would support non-standard features like non-ACPI advanced power management, runtime tuning, the aforementioned microcode update, and so on. For instance, AMD's driver interfaces with their "Cool'N'Quiet" power scaling system (Linux has a driver built into the kernel so you generally don't need to care, but in Windows you have to install it manually).
  • by edwdig ( 47888 ) on Thursday February 21, 2008 @12:41AM (#22498698)
    Modern x86 is a hybrid of CISC and RISC - the more complex instructions are translated into RISC like microcode. Sometimes there are bugs in this microcode. On powerup, the microcode is copied out of ROM and into a small amount of onboard RAM, which can be replaced by software. Obviously your load, jump, add type instructions don't go through the microcode, but instructions like divide, square root, or load page table most likely do.

    The other big thing that CPU drivers do is handle advanced power management features. Modern processors are capable of scaling down the processor speed to save power and reduce heat when the processor is mostly idle. The CPU drivers handle this.

    So, anyway, the drivers are completely optional. They're just a means of fixing bugs and providing support for advanced functionality.
  • by 644bd346996 ( 1012333 ) on Thursday February 21, 2008 @12:50AM (#22498770)
    Do you really not know what h.264 decoding is? Turn in your geek card.

    This library has optimized implementations of a lot of mathematical algorithms, with stuff like the video and jpeg decoding being the most complex stuff. It also has some of the more fundamental operations for signal processing and the like.
  • by niteice ( 793961 ) <icefragment@gmail.com> on Thursday February 21, 2008 @12:50AM (#22498780) Journal

    I still don't really grasp what it's supposed to do.
    Fast math.

    It does math routines?

    Displays JPGs?
    It includes various DCT operations, which have applications in video (and jpeg) decoding.

    Does it do anything if I'm running an Intel chip?
    Don't see why not.
  • by killmofasta ( 460565 ) on Thursday February 21, 2008 @05:03AM (#22500026)
    Actually NOT. That is not how dynamic recompliation works.
    CISC instructions, that are not fully implemented in microcode, get dynamically recomplied into other intructions. Microcode is HOW those instructions get implemented.
    Also: Jump/Load/Store instructions do go through microcode. All memory accesses do. It makes things faster and simpler.

    Microcode is HOW CPU instructions get implemented. ADD is implemented in microcode, becuase it has to interface the data queues with the ALU.

    The way Intel Does it, is that The microcode gets copied from a disk file, and then gets loaded into a special place on the CPU, that stores bug-fixed instructions. ROM does not contain microinstruction fixes, except on Intel Boards. (It does not get updated often enough.)

    The CPU driver handles Multiple CPUs. ( Its called the HAL ). Cool and Quiet/ACPI is also handled here.

    Refrence: http://support.microsoft.com/kb/234558 [microsoft.com]


    Refrence: http://en.wikipedia.org/wiki/Microcode [wikipedia.org].

    I cannot believe that I brough this up, and only got a 1, while others, in just adding a tiny explaination get a 4 or 5. PickyWicky

  • by TheRaven64 ( 641858 ) on Thursday February 21, 2008 @10:05AM (#22501558) Journal
    Not really. The Apache license is not viral. The code that calls it can have whatever license it wants. It is quite easy to write code that calls different functions depending on how it is compiled / linked. The calling code would keep whatever license it wanted. If you install it on a platform where the user has already installed APL, then you get the fast version. If you are distributing it and want the fast code paths, you also have to distribute APL, but that's not a problem for most people since distributing Apache licensed code doesn't impose any arduous requirements.
  • by hr.wien ( 986516 ) on Thursday February 21, 2008 @02:07PM (#22505164)
    We already have liboil which does more or less the same thing, so it's not like this is a revolutionary development.

"How many teamsters does it take to screw in a light bulb?" "FIFTEEN!! YOU GOT A PROBLEM WITH THAT?"