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."
Re:Is this that silly.. (Score:5, Informative)
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.
Re: (Score:2)
Open-sourcing something that worked, will work even more(now that they don't own it so much). Disowning something they had, that had a lukewarm reception... might just convince everyone that it wasn't worth much...
Re: (Score:2)
I just don't see this becoming a success, simply because they tried it as "amd branded" and it didn't work, rebranding it and saying it's not open source doesn't mean it's now magical and delicious. In fact, I suspect they have a hard road ahead.
I'm not sure what you're saying here. Previous to this announcement the libraries were provided as pre-compiled binaries for a subset of OS versions, right? Now they're actually letting people see and make derivatives of the code. If nothing else this might get people in the OSS community to fix compatibility and performance bugs if they're creating a product that uses one of the video codecs, for example. This is not the greatest thing since sliced bread, but neither is it just AMD saying something; they
Re:Is this that silly.. (Score:4, Interesting)
What I suspect will happen is that small firms using AMD processors for specific applications will have a tool to write better, lower level code. Larger software makers might not bite because this is another tailored portion o the codebase that would need to be checked but it is certainly possible (as has been mentioned here) that encoding/decoding of video could be made easier, at least for AMD.
I don't think it is magically a win-win. I think that it is likely to be a good thing for some, indifferent to others and an exceedingly small impact on the cache of AMD. All in all, we are better off.
Re: (Score:2)
Re: (Score:3, Interesting)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Informative)
Re: (Score:1, Offtopic)
"intel firmware patches the P4 micro instruction rom!" And VIA Centar C7 does also.
Would you rather they withhold the bugs? Or have you pay theough the nose to replace the chips?
On Intel boxes, I am not to carefull about the CPU drivers, but I had a Athlon w/ AGP, and the speed of video doubled after I installed something called 'AGP Miniport
Re: (Score:1)
Re:Is this that silly.. (Score:5, Informative)
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.
Re:Is this that silly.. (Score:5, Informative)
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).
Re: (Score:1, Insightful)
Re: (Score:2)
Re: (Score:1)
Re:Is this that silly.. (Score:4, Informative)
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.
Microcode for beginners... FYI (Score:5, Informative)
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]
and
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
Re: (Score:1)
Ref: http://support.microsoft.com/kb/936357/ [microsoft.com]
Nuff said. Get the update already!
Re: (Score:2)
Maybe you should learn to read acronyms: IS in CISC and RISC is 'instruction set', which instruction set?
The 'external one' seen by the compiler.
So x86 are CISC plain and simply.
Re: (Score:2)
Over the past 15 years or so CISC & RISC have come to refer more to design principles than to instruction sets. Modern processors don't look much like they did when people started using the terms RISC and CISC, making the original meanings not very useful today.
Re: (Score:2)
RISC was invented because it allowed processors to be implemented in a much simpler and faster way than the current CISC processors. The performance downside of RISC was that certain CISC instructions had to be replaced by several RISC instructions, inflating binary code size a bit, which meant a few more cache misses. Still, it was a m
Re: (Score:2)
It's a north bridge feature (Score:2)
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
Re:Cool it moderators! (Score:5, Interesting)
But wait, what's this tidbit about graphics docs? (Score:3, Interesting)
I don't know squat about the performance lib, but the graphics stuff, now *that* could be interesting if it helps the open-source graphics driver effort.
Re: (Score:1)
Re: (Score:1)
Re: (Score:1)
Re: (Score:1)
It's a nice thought, but he's basically compl
Re: (Score:1)
And with more and more AMD/ATI specs being made open, my next hardware upgrade is likely to have one anyway, because things like that are important to me.
Re:Dude, WTF does this even do? (Score:4, Informative)
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.
Re:Dude, WTF does this even do? (Score:4, Informative)
Re: (Score:1)
My submission: (Score:5, Funny)
Re: (Score:1)
Nothing wrong with having a class called... ColorMatchingPattern, and a variable called aColorMatchingPattern.
The compiler doesn't complain, for it it's pretty much the same as having a class called CMP and a variable called c.
I find it more readable for someone trying to get familiar with the code.
On the other hand, macros can suck.
Will it be shipped with Linux distributions? (Score:1)
Re: (Score:1)
Re: (Score:2, Informative)
APL vs IPL (Score:3, Interesting)
...strangely familiar (Score:1)