Transpose

Article: AMD's Cayman GPU Architecture
By: Moritz (better.delete@this.not.tell), December 23, 2010 3:44 pm
Room: Moderated Discussions
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.
< 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?