Transpose

Article: AMD's Cayman GPU Architecture
By: Matt Sayler (sayler.delete@this.thewalrus.org), December 23, 2010 7:58 pm
Room: Moderated Discussions
Moritz (better@not.tell) on 12/23/10 wrote:
---------------------------
>Transposing or changing a ((row)column) to a ((column)row) layout should be an important task, how is that done?
>Do LDS or GDS have special functionality to f.e. exchange parts of the address like: 8765:4321 -> 4321:8765 ?
>I understand that it is difficult to transpose a 43x43 matrix (not 2^n) or a 1024²
>matrix (way bigger than any cache) as well.
>Given the task of building a hardware that should transpose any size matrix in
>a 64Byte access memory I would not know what to do. sure the process is highly parallel
>but the memory-access isn't. Reading and writing 64Byte to transfer 4Byte each time
>is highly inefficient. Even a CPU would be dead slow at it.
>One way to deal with it, would be to store a matrix not in serialized rows but
>in sub matrices/tiles of handable/cacheable size 16x16, that way one would have
>to, but also could cache 16 such tiles and then generate vectors of length 16 from them.

I haven't really thought about the cache effects, but I imagine you could you a variation on the blit-rotate algorithm (http://linux.die.net/man/6/blitspin for a brief description). You do more moves and require extra memory, but perhaps the streaming copies will make up for it.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
AMD Cayman Architecture article onlineDavid Kanter2010/12/15 07:39 AM
  AMD Cayman Architecture article onlineBryan Catanzaro2010/12/15 12:25 PM
  AMD Cayman Architecture article onlineCarsten Spille2010/12/15 02:51 PM
  AMD Cayman Architecture article onlineDaveC2010/12/15 05:17 PM
    AMD Cayman Architecture article onlineAntti-Ville Tuunainen2010/12/16 01:13 AM
      AMD Cayman Architecture article onlinePing-Che Chen2010/12/16 02:39 AM
        AMD Cayman Architecture article onlineEduardoS2010/12/16 01:54 PM
          AMD Cayman Architecture article onlineDavid Kanter2010/12/16 03:46 PM
            AMD Cayman Architecture article onlineEduardoS2010/12/16 06:03 PM
    AMD Cayman Architecture article onlineVincent Diepeveen2010/12/17 07:16 AM
  AMD Cayman Architecture article onlinean2010/12/16 12:39 PM
    AMD Cayman Architecture article onlineRichard Cownie2010/12/16 01:51 PM
      AMD Cayman Architecture article onlineVincent Diepeveen2010/12/17 07:31 AM
        AMD Cayman Architecture article onlineRichard Cownie2010/12/17 09:22 AM
    AMD Cayman Architecture article onlineEduardoS2010/12/16 02:01 PM
      AMD Cayman Architecture article onlinean2010/12/16 02:43 PM
        AMD Cayman Architecture article onlineEduardoS2010/12/16 02:51 PM
          AMD Cayman Architecture article onlineDaveC2010/12/16 03:41 PM
            AMD Cayman Architecture article onlinehobold2010/12/16 03:56 PM
              AMD Cayman Architecture article onlineDaveC2010/12/16 05:31 PM
            AMD Cayman Architecture article onlineVincent Diepeveen2010/12/17 07:02 AM
        AMD Cayman Architecture article onlineAaron Spink2010/12/16 03:39 PM
        AMD Cayman Architecture article onlineDavid Kanter2010/12/16 03:48 PM
          AMD Cayman Architecture article onlineVincent Diepeveen2010/12/17 07:07 AM
        AMD Cayman Architecture article onlineVincent Diepeveen2010/12/17 06:56 AM
  Logic error on the articleHeikki Kultala2010/12/17 03:59 AM
    Good pointDavid Kanter2010/12/17 11:21 AM
      Good pointTriskaine2010/12/17 01:02 PM
        Good pointDavid Kanter2010/12/17 04:45 PM
      Good pointJohn2010/12/20 08:05 PM
  WavefrontsMoritz2010/12/20 04:11 AM
    WavefrontsSeni2010/12/20 01:07 PM
      TexturesMoritz2010/12/21 01:41 AM
        TexturesGabriele Svelto2010/12/21 02:21 AM
        TexturesAntti-Ville Tuunainen2010/12/21 02:33 PM
  Integer computerRobert David Graham2010/12/21 04:45 PM
    Integer computeranon2010/12/21 08:22 PM
      Integer computeretzel2010/12/21 09:12 PM
  TransposeMoritz2010/12/23 03:44 PM
    TransposeMatt Sayler2010/12/23 07:58 PM
      Transpose/RotateMoritz2010/12/24 01:38 AM
        Transpose/RotateMatt Sayler2010/12/24 06:45 AM
          Transpose/RotateMoritz2010/12/25 05:33 AM
  control-data associated with scalarsMoritz2010/12/23 03:59 PM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell avocado?