Boost logo

Boost :

Subject: Re: [boost] [OT?] SIMD and Auto-Vectorization (was Re: How to structurate libraries ?)
From: Joel Falcou (joel.falcou_at_[hidden])
Date: 2009-01-21 02:30:40


David A. Greene a écrit :
> A library of fast routines for doing various things is quite different from
> creating a whole DSEL to do SIMD code generation.

How a DSEL can be different from a library still puzzle me as the basic
definition of a DSEL is a DSL embedded into a host language as a library.

> A library of fast matrix mutliply, etc. would indeed be useful.

You mean, useful like being said weeks in advance that it's useless
cause uBlas already do it as it was said earlier ? And if, as you said
compilers already do what it's needed, then I call this useless too
cause we'll just wait that all compiler do the same ...

> How much does Boost want to concern itself with providing libraries tuned with
> asm routines for various architectures?

I never implied using assembly language. And even so, what's the problem
? Isn't there small assembly coe or intrinsic level stuff in the
shared_ptr or w/e library that use TSL and sync_lock ? And hiding such
thingy into a platform independant thing is not what a library is
supposed to do ?

> It strikes me that writing these routines using gcc intrinsics wouldn't result
> in optimal code on all architectures. Similarly, it seems that a DSEL to do
> the same would have similar deficiencies.

Except that *maybe* the DSEL take care of using the correct set of
intrinsic depending on platform using, I don't know, architecture
detection at compile-time ? And, IIRC the gcc intrinsic are just C like
function over the SIMD assembly function ... so I don't how it can't ...


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk