Re: [eigen] FFT for Eigen |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] FFT for Eigen
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Mon, 18 May 2009 19:41:04 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=8Hdk7Dr+7/GYeu+TjsiOdj4QFm2nk9ThHJ8dtMNVq60=; b=gfyJUY1dMm+pCDaYniF9QV/NWaef/eoOr6vWiEWCzfAIVCIetpb44+LVVHaO7MG4HK xvL7BvruOjmv9GXu4K4JUMD1oPvFrBqo2BYrsvLvzI3hDopr9QEgwlXlDyfj/VVMZk0i 1LMeeR6o9v4pTMspDM9KRWhXne3hXqBdqO0o0=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=tdInWrOSHfOG9A8C/7r5fbJ/MYmuuvDM7rZ0Etub86Zo1fOM/fRP1zs7Bf8wsZAH0I kC+J7KTA1iRzQYIW8tghnfBZjoZCc1/StIgIKqPyoUlqDB9XZjfW4mCUIXhsh3aviIGv WoZ6U5/Z9UfelcQVtz7YhKXinakz0JvH1g9I4=
2009/5/18 Mark Borgerding <mark@xxxxxxxxxxxxxx>:
>> 2- The complex type matrices in Eigen are still somewhat basic. I
>> think they are just a Matrix with data type std::complex (real and
>> imaginary components are interleaved). Which for some use cases is
>> not great. For example if I am going to do a lot of vector operations
>> with the real and imaginary part separately, these operations cannot
>> be easily vectorized (correct me if I'm wrong). On the other hand it
>> is true that this storage might be the one used by most external
>> libraries.
>> It has been already a long time since I told Benoit I would write a
>> wiki page for this discussion, but still haven't. Sorry for that.
>>
>
> This seems like a worthwhile discussion, but one that is orthogonal (no pun
> intended) to the subject of FFTs. I will say that most (all?) modern FFT
> routines work with interleaved real,imag components. I agree it would be
> easier to vectorize some operations if real, imag were stored separately.
I concur: I don't think that it would be very useful to have complex
matrices with the real and imaginary parts stored separately. Most
operations -- and the more costly ones -- would run slower in such a
scheme. The basic issue here is memory locality.
That said, as already discussed, there is room for improvement in our
complex matrices, but indeed the discussion is orthogonal to FFT.
These improvements would include enabling vectorization and improving
the way one can address separately the real and imaginary parts. I
admit this kind of fell off my TODO as there was so much to do, but if
someone is very interested i could detail what needs to be done (and
yes i should write that on the todo...)
Cheers,
Benoit