[Liboil] Is liboil still alive?

Jeff Squyres jsquyres at cisco.com
Fri Feb 20 08:14:10 PST 2009

On Feb 20, 2009, at 10:56 AM, Thiago Galesi wrote:

> I'm not sure about MPI but it seems two fundamentally different things
> (by reading the MPI faq).
> MPI is about distributed computing

Correct; but there's lots of things that happen locally in each  
process in the overall distributed/parallel job.  These kinds of local  
things are what we're interested in from liboil.

> LibOIL is what the name says :) Optimized Inner Loops. It's about an
> API that provides common (vector) operations (inner product,
> multiplying all numbers in an array) and does it in the fastest way
> possible

We do have some numerical operations in MPI, and shared memory message  
transports (e.g., sending messages from one process to another  
transits through shared memory).  So we're definitely interested in  
oil_u8_copy(), for example.  Some of the other operations may be  
useful as well, but I haven't gotten to look closely at those yet --  
my efforts so far have been with oil_u8_copy().

The general flavor of my questions are:

- Does oil_u8_copy() make non-temporal copies?

- In my benchmarking, oil_u8_copy() seems to beat gcc's memcpy() for  
small sizes (e.g., <=128 bytes) for old versions of gcc (3.4.6/the  
default on RHEL4) on older xeon hardware.  The docs say that  
oil_u8_copy() is only optimized for small sizes; so that's fine.  But  
using more recent hardware (e.g., woodcrest- or wolfdale-class  
servers), the picture becomes much less clear about whether gcc  
3.4.x's memcpy() is faster than oil_u8_copy() or not.  Using other  
compilers' memcpy() implementations (e.g., intel compiler, pathscale  
compiler, etc.) seem to always beat oil_u8_copy(), regardless of size  
and hardware.  Newer gcc's (e.g., 4.3.x) also seem to always beat  
oil_u8_copy(), regardless of size and hardware.  My question is: is  
this expected behavior?  Or is there ongoing tuning occurring in  
liboil for oil_u8_copy() (etc.) to try to be as fast as possible and  
beat other implementations?

>> But in looking
>> through the mailing list archives, it seems that there hasn't been  
>> any
>> meaningful activity since June of 2008.
>> Is the liboil project still alive?  (i.e., should I bother to ask my
>> questions?)
> I'm afraid I can't answer that question, but liboil is used in several
> projects including gstreamer, etc

Good to know.

Jeff Squyres
Cisco Systems

More information about the Liboil mailing list