Subject: Re: [boost] [gsoc] Interest check for 3d geometry proposal
From: Simonson, Lucanus J (lucanus.j.simonson_at_[hidden])
Date: 2009-03-26 11:52:04
Kornel Kisielewicz wrote:
> On Thu, Mar 26, 2009 at 3:48 PM, Thomas Klimpel
> <Thomas.Klimpel_at_[hidden]> wrote:
>> Kornel Kisielewicz wrote:
>>> Sure, Boost has a linear algebra library graph algorithms,
>>> and a proposed geometry library, yet what is missing is a
>>> high-performance low-dimensional linear algebra library
>>> (vectors and matrices up to the 4th dimension ).
>> Do you know eigen2? What do you think of it? It's not a boost
>> library, but its license seems to be acceptable.
> After a quick look at it, it seems nice ( however i wonder about it's
> performance considering it treats vectors as 4x1 matrices, and all
> vectors and matrices are defined for any given number of dimensions --
> something that UBLAS does already ). What I would want to see however
> is an optimized library defining 3/4d vectors/matrices and common 3d
> computational geometry tasks optimized for speed. And additional thing
> that I'd like it to be is to allow as readable code as possible and
> to have it integrated with other boost mechanisms.
It sounds to me like such a thing would need to employ archetecture specific techniques such as compiler intrinsics and inline-assembly to be in any way competitive in terms of performance with what probably exists in closed source development shops. Also, these things are best offloaded to the GPU if possible, and that code isn't written in C++. If the thing that makes the library unique is that it provides only a subset of the capabilities of UBLAS or eigen2 that doesn't sound very compelling. Perhaps if you were more specific about which common 3d computational geometry tasks you have in mind, how you would like them to be optimized for speed and whether/how you intend to make them robust to numerical error. Perhaps the focus should be on implementing common geometry primitives in terms of ie. UBLAS where appropriate and then address performance issues in UBLAS when they become apparent rather than reinvent the linear algebra wheel as a premature optimization. If a faster implementation of low-dimensional linear algebra is possible these should become patches to UBLAS specializing its algorithms, rather than a competing library.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk