All times are UTC-06:00




Post new topic  Reply to topic  [ 17 posts ] 
Author Message
 Post subject:
PostPosted: Wed Oct 04, 2006 2:49 am 
Offline
Site Admin

Joined: Fri Sep 24, 2004 1:39 am
Posts: 1594
Location: Austin, TX
Quote:
Quote:
Quote:
-Glibc PowerPC Optimizations, which will greatly increase the performance of memory-bound applications on Power architecture.
Remember http://www.freevec.org/ has optimizations for glibc (these will be ported to glibc proper soon) which far outweigh those on Gunnar's site. Not that he did a bad job, but he just cleaned up the crap; there's nothing like a bit of hand=vectorized code to speed things up though.
I not sure how these two projects fit in with each other. From what it sounds like, both are attempting to do the same thing (libfreevec is just further along). I did have a question about this project though:

-Does the end goal of the freevec project include getting these optimizations into glibc?
Yes. There is a glibc infrastructure for this kind of code (they call it "glibc-ports") and the PenguinPPC site about it is relevant.

When Freevec was started, glibc-ports was unstable, unreleased, and as far as I hear from Konstantinos, the developers handling glibc-ports didn't want such huge changes in it before it hit the real world.
Quote:
freevec was only mentioned in passing.
I think it will be more relevant when Konstantinos gets back from his national service, and can contribute.
Quote:
but what specifically are the difference between the work Gunnar has done and the freevec project? If they are the same thing working towards the same goal, then has there ever been any communication between the two projects?
Gunnar and Konstantinos both did this in cooperation with Genesi,they have talked; Gunnar worked at MySQL and was the contact for the MySQL optimizations in Freevec, for example. The impetus for Gunnar was to point out that glibc's BASIC code for memory copies and streams was so inefficient anyway, before even thinking of vectorization.

As part of Freevec there are scalar optimized functions which - at the time, I think it changed since - did the same thing in slightly different ways, just to prove out the performance improvement. It's easy to get a performance improvement over crappy scalar code with great vector code, but it's more useful to know how much faster it is above and beyond the best scalar code there is, to see if it the vectorisation is really worth it.
Quote:
I'm interested in this because all the talk I've heard about Power-optimized Linux. It sounds like Linux has a little way to go before it is fully using the processing capabilities of Power architecture, and the sooner this happens the better for everyone involved.
Unfortunately most of the interesting optimizations may be CPU-specific (for instance be really good ona G4 but terrible on a G5 due to implementation differences) or host-bridge specific (I noticed Intel IOAT was simply network offload and a special DMA controller for memory copy operations; www.intel.com/technology/ioacceleration/ - you can do this on a Discovery II-enabled Pegasos.. it has offload and it has an inbuilt, unused DMA controller..)

Those that aren't, probably want to use AltiVec which isn't truly possible in the Linux kernel without losing your performance gains to the context switch model and even then only after disabling kernel preemption which effectively monopolises the kernel to that task..

_________________
Matt Sealey


Top
   
 Post subject:
PostPosted: Thu Oct 05, 2006 10:31 pm 
Offline

Joined: Mon Nov 28, 2005 2:51 pm
Posts: 41
Location: Dallas
Thanks for the replies to my questions in this thread. Since much of my questions aren't necessarily related to the OSW, I started another thread in the Altivec section of the forum to hopefully continue this part of the discussion:

http://www.ppczone.org/forums/viewtopic.php?t=839

_________________
Joshua Purcell


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 17 posts ] 

All times are UTC-06:00


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
PowerDeveloper.org: Copyright © 2004-2012, Genesi USA, Inc. The Power Architecture and Power.org wordmarks and the Power and Power.org logos and related marks are trademarks and service marks licensed by Power.org.
All other names and trademarks used are property of their respective owners. Privacy Policy
Powered by phpBB® Forum Software © phpBB Group