Re: [eigen] Small dynamic matrix optimization

[ Thread Index | Date Index | More Archives ]

Thanks...I will think about this and maybe try to prototype something.

Using the Map approach...I think this would disable SIMD right? Because you don't know if the mapped data is aligned?


From: Christoph Hertzberg <chtz@xxxxxxxxxxxxxxxxxxxxxxxx>
Sent: Monday, October 21, 2019 10:15 AM
To: eigen@xxxxxxxxxxxxxxxxxxx <eigen@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [eigen] Small dynamic matrix optimization
This is already done for some temporaries (like blocks in
cache-optimized GEMM). Doing that for custom types would be interesting,
but not trivial (e.g., move-behavior is completely different, if you
want to move the data to an object higher in the stack).

If you are ok with managing data yourself, you can manually achieve this
by alloca/allocate-ing data yourself and use an Eigen::Map to refer to
the data.

If you have a proof-of-concept how this could be integrated into the
Eigen API, we are open for suggestions!

Another idea would be to allow custom allocators for matrices -- in that
case the custom allocator could very easily be a stack-allocator (which
would not even need to use the "main" stack). But that's also not too
easy to integrate without breaking the current API (adding a new type
would of course be an option for that).


On 21/10/2019 15.39, Rob Conde wrote:
> I'm wondering if a small dynamic matrix optimization has been considered. In other words, allowing a stack allocation for matrices of unknown size up to a certain limit and using a heap allocation beyond that?
> Rob Conde

  Dr.-Ing. Christoph Hertzberg

  Besuchsadresse der Nebengeschäftsstelle:
  Robotics Innovation Center
  Robert-Hooke-Straße 5
  28359 Bremen, Germany

  Postadresse der Hauptgeschäftsstelle Standort Bremen:
  Robotics Innovation Center
  Robert-Hooke-Straße 1
  28359 Bremen, Germany

  Tel.:     +49 421 178 45-4021
  Zentrale: +49 421 178 45-0
  E-Mail:   christoph.hertzberg@xxxxxxx

  Weitere Informationen:
   Deutsches Forschungszentrum für Künstliche Intelligenz GmbH
   Trippstadter Strasse 122, D-67663 Kaiserslautern, Germany

   Prof. Dr. Jana Koehler (Vorsitzende)
   Dr. Walter Olthoff

   Vorsitzender des Aufsichtsrats:
   Prof. Dr. h.c. Hans A. Aukes
   Amtsgericht Kaiserslautern, HRB 2313

Mail converted by MHonArc 2.6.19+