Re: [eigen] Idea: BLAS backend |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Idea: BLAS backend
- From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Thu, 3 Feb 2011 15:11:16 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-type; bh=7+/XtGnPMx9823ZkcEvGJUoT/d5p0ywcKlB3leVH6BU=; b=AZLkCl6ZADmolo4nUPjGsFEYCAPc9ngCv7NR9sCRfPZBOnY0wWcn8wwB7wX2vnRCj8 WzOfcKwpOKaLToDaXYQ/zSjVqxubwzGK+MMpYE1iVpWP0JfdkCWwYAn1Vp38YBzawntY 06ZViVlNncNjIB60Kdc3Dqxf74hXvQiHW2x4U=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; b=uDCM9X2+NTG+cncsCA89hp/NTwz9VcJY6Yl25N8PoBpdVaxORuEhFyG5DX9sSx3pfW W9+G+VKXqKXdcFlZFQYNBITH3mCLF+NQxvKcONVi3xCbWteVg+Xo3rvXNraGGrVsoOME LjMZYABOe+RxraDbgjnRzy2VALkv/xMh1W5/w=
Goto blas is not small at all:
- libgoto2.a: 20MB
- libeigen_blas.a: 2.5MB
libeigen_blas is a complete BLAS interface built on top of Eigen.
Also GotoBlas or MKL have several limitations:
- not suitable for ARM/NEON
- cannot control memory allocation of temporaries (blocks for level3
routines, and in some cases packing of strided vectors for level2
routines)
- can we control the number of thread at runtime? I'm not sure
- no hybrid real-complex products
- only for foat, double, and their complex versions
That being said, it might still be interesting to add the possibility
to fallback to a BLAS lib when that's possible. Since our internal
product routines are quite similar to the BLAS ones, that should not
be very difficult.
gael
On Thu, Feb 3, 2011 at 2:18 PM, Konstantin Tokarev <annulen@xxxxxxxxx> wrote:
>
>> I don't believe at all that code size would be an argument here. Being
>> a template library we allow the users to compiler only the code that
>> they want. By contrast, a binary library like GotoBLAS contains code
>> for all functions, for all 4 numeric types. It can't compete with us
>> on code size.
>
> I've implied static linking, of course :)
> However I haven't measured actual sizes, it was just a random idea
>
> --
> Regards,
> Konstantin
>
>
>