@Rasmus, here are some benchmarks: 
https://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2018/08/msg00010.html
 
<https://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2018/08/msg00010.html>
 (scroll the the very end). As already said, Hermitian * Hermitian can give 
quite good performance and Dense * Hermitian doesn't really hurt. 

> On 6. Oct 2020, at 02:26, David Tellenbach <[email protected]> wrote:
> 
> IIRC it was in fact you who suggested using not a plain packed but a 
> rectangular full packed format ;-) 
> (https://software.intel.com/content/www/us/en/develop/documentation/mkl-developer-reference-c/top/lapack-routines/matrix-storage-schemes-for-lapack-routines.html#matrix-storage-schemes-for-lapack-routines_RFP_STORAGE
>  
> <https://software.intel.com/content/www/us/en/develop/documentation/mkl-developer-reference-c/top/lapack-routines/matrix-storage-schemes-for-lapack-routines.html#matrix-storage-schemes-for-lapack-routines_RFP_STORAGE>)
> 
> If this is worth definitely depends on the particular use-case. It has been 
> shown that a rectangular full packed format can be beneficial for e.g. 
> Cholesky (http://www.netlib.org/lapack/lawnspdf/lawn199.pdf 
> <http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.214.102&rep=rep1&type=pdf>)
>  or Pade approximations 
> (https://pdfs.semanticscholar.org/86d2/28da4fc02672b2c990eb48a5a605c0e0360f.pdf
>  
> <https://pdfs.semanticscholar.org/86d2/28da4fc02672b2c990eb48a5a605c0e0360f.pdf>).
>  I published benchmark on this list and will try to dig them out. A 
> Hermitian*Hermitian product can be quite fast (you can basically fall back to 
> gemm for blocks in the RFP format) but Dense*Hermitian was not so good if I 
> remember correctly.
> 
> David
> 
>> On 6. Oct 2020, at 02:16, Rasmus Munk Larsen <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> David,
>> 
>> I can see that this might save 50% of memory by only storing the upper or 
>> lower triangle, and it would be nice to be able to automatically dispatch to 
>> faster eigensolvers etc. for Hermitian matrices. However, packed storage 
>> kernels are notoriously hard to optimize, and I wonder how much we would 
>> gain over the existing mechanism like SelfAdjointView?
>> 
>> https://eigen.tuxfamily.org/dox/classEigen_1_1SelfAdjointView.html\ 
>> <https://eigen.tuxfamily.org/dox/classEigen_1_1SelfAdjointView.html/>
>> 
>> Do you have some benchmark numbers for your patch?
>> 
>> Rasmus
>> 
>> On Mon, Oct 5, 2020 at 5:07 PM David Tellenbach 
>> <[email protected] <mailto:[email protected]>> 
>> wrote:
>> Hi Jens,
>> 
>> It would be great if you could finish this! I just saw that the patch is not 
>> accessible anymore, I'll see if I can find it.
>> 
>> Best,
>> David
>> 
>>> On 4. Oct 2020, at 21:27, Jens Wehner <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> Thanks David,
>>> 
>>> I would probably like to give it a shot to brush up on my template 
>>> programming skills or lack thereof. 
>>> 
>>> Do you have the code somewhere public so I can have a look? If you have 
>>> time afterwards we can have a chat about the better implementation.
>>> 
>>> Cheers Jens
>>> 
>>> | Jens Wehner, PhD | eScience Research Engineer | Email: 
>>> [email protected] 
>>> <https://outlook.office.com/mail/options/mail/[email protected]> | 
>>> Tel: +31(0)6 438 666 87 |
>>> | Netherlands eScience Center <https://www.esciencecenter.nl/> | Science 
>>> Park 140 | 1098 XG Amsterdam | The Netherlands |
>>> | Twitter <https://twitter.com/eScienceCenter> | LinkedIn 
>>> <https://www.linkedin.com/company/netherlands-escience-center> | Facebook 
>>> <https://www.facebook.com/NLeScienceCenter/> | YouTube 
>>> <https://www.youtube.com/channel/UCYLAIMi62d8tx3Ru6DOSPeg>  |  Newsletter 
>>> <https://esciencecenter.us8.list-manage.com/subscribe/post?u=a0a563ca342f1949246a9f92f&id=31bfc2303d>
>>>  |
>>> 
>>> 
>>> From: David Tellenbach <[email protected] 
>>> <mailto:[email protected]>>
>>> Sent: Sunday, October 4, 2020 0:16
>>> To: [email protected] <mailto:[email protected]> 
>>> <[email protected] <mailto:[email protected]>>
>>> Subject: Re: [eigen] Hermitian matrices
>>>  
>>> Hi Jens,
>>> 
>>> Yes, I've implemented support for Hermitian matrices as a Google Summer of 
>>> Code student in 2018 and finishing it is still somewhere on my backlog. 
>>> However, with today's knowledge the implementation should look quite 
>>> differently. If you are interested to work on this I'm happy to discuss. 
>>> Otherwise you will have to wait until I find some time to reimplement it. 
>>> This won't take me too long but without committing to anything, I can 
>>> already say that I won't find time before the beginning of 2021.
>>> 
>>> Best,
>>> David
>>> 
>>>> On 2. Oct 2020, at 23:30, Jens Wehner <[email protected] 
>>>> <mailto:[email protected]>> wrote:
>>>> 
>>>> I recently discovered that David Tellenbach started/was in the 
>>>> middle/finished a 
>>>> 
>>>> Hermitian matrix class. 
>>>> http://manao.inria.fr/eigen_tmp/pullrequests/467/ 
>>>> <http://manao.inria.fr/eigen_tmp/pullrequests/467/>
>>>> I wanted to know what the status is and if any help is needed to push that 
>>>> along.
>>>> 
>>>> Cheers Jens
>>>> | Jens Wehner, PhD | eScience Research Engineer | Email: 
>>>> [email protected] 
>>>> <https://outlook.office.com/mail/options/mail/[email protected]> 
>>>> | Tel: +31(0)6 438 666 87 |
>>>> | Netherlands eScience Center <https://www.esciencecenter.nl/> | Science 
>>>> Park 140 | 1098 XG Amsterdam | The Netherlands |
>>>> | Twitter <https://twitter.com/eScienceCenter> | LinkedIn 
>>>> <https://www.linkedin.com/company/netherlands-escience-center> | Facebook 
>>>> <https://www.facebook.com/NLeScienceCenter/> | YouTube 
>>>> <https://www.youtube.com/channel/UCYLAIMi62d8tx3Ru6DOSPeg>  |  Newsletter 
>>>> <https://esciencecenter.us8.list-manage.com/subscribe/post?u=a0a563ca342f1949246a9f92f&id=31bfc2303d>
>>>>  |
>> 
> 

Reply via email to