Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.arch > #3130

Re: IBM demos cognitive computer chips

Message-ID <4E55B046.8080306@SPAM.comp-arch.net> (permalink)
Date 2011-08-24 22:15 -0400
From "Andy \"Krazy\" Glew" <andy@SPAM.comp-arch.net>
Organization comp-arch.net
Newsgroups comp.arch
Subject Re: IBM demos cognitive computer chips
References (3 earlier) <j2mbn8$706$1@news.albasani.net> <4dd73d66-2fcd-4612-be8f-eeb7709b456c@k15g2000yqd.googlegroups.com> <j2rkm6$1s4$1@news.albasani.net> <4E525C8E.5070109@SPAM.comp-arch.net> <610d5ae7-29a1-4e42-af65-c3d6cdd56fa1@r40g2000prf.googlegroups.com>

Show all headers | View raw


On 8/23/2011 12:36 PM, Eric Northup wrote:
> On Aug 22, 6:41 am, "Andy \"Krazy\" Glew"<a...@SPAM.comp-arch.net>
> wrote:
>> On 8/21/2011 2:56 PM, BGB wrote:
>>> the use of individual/independent frames would allow more economical use
>>> of memory and address space.
>>
>>> granted, people could also argue "well, we have 64 bits now, why not
>>> just give each thread its own 4MB or 8MB (or more) stack? (CPS/... is
>>> for wimps...)".
>>
>> This is one of the keys:
>>
>> Interleaved stacks for when operating in lockste, or nearly so.
>>
>> Uninterleaved stacks for MIMD parallel.
>
> I presume the benefit is for improved locality of memory references.
>
> What would the granularity of interleaving be?  Does the instruction
> stream know that it's stack has been interleaved, or do the stack
> pointer arithmetic operations do the swizzling?

Stack interleaving arises for reasons that include:

* when you have several coherent threads, some variables, such as loop 
counter variables, are common to all threads, while others are 
per-thread.  It is wasteful to push N copies of the same loop counter on 
separate stacks.

* but mainly (I think) because of the mindset where you think of the 
threads as not being independent, but instead being lockstep, with a 
single instruction pointer, and a mask indicating which threads are 
active and which are disabled.

e.g. an IF statement computes a mask of which threads take the THEN 
path, and pushes a mask for the threads that take the ELSE path, along 
with the PC.

an ELSE statement swaps the current mask and PC with the mask and PC at 
the top of the stack.

an ENDIF statement merges the current mask with the mask popped off the 
stack.



You can equally well think as these operations as involving separate PCs 
with separate stacks - but that does a lot of unnecessary work.  Plus, 
you would need to compare PCs popped off to verifypical y that you are 
still coherent.  Whereas coherence happens by construction with the 
"SIMD" PC and mask.




AFAIK present GPU instruction sets make the interleaving explicit. 
Indeed, some have a hardware stack in registers, adjunct to memory. 
(Note that you only need use the PC/mask stack on divergent branches, 
not every branch if all coherent threads go the same way, no need.)



But notice the limitations of this approach:

The interleaved stack only applies to the SIMD warp, not all of the SIMD 
groups.

Typical warps or wavefronts are 64 threads wide. (Or, rather, 16 wide 
times 4 cycles deep.)

There may be variables that are not common to all 64 threads in a group, 
but which are common to, say, every 4, or 16, or 4+16+3+1+40 arbitrary 
partitions.

Interleaved stacks tend to benefot only shared across all thread 
variables, but not partial sharing.

I would like to see studies on the relative benefit of this versus the 
lossage of not being able to go MIMD when you need to.

Back to comp.arch | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

IBM demos cognitive computer chips Brett Davis <ggtgp@yahoo.com> - 2011-08-18 18:02 -0500
  Re: IBM demos cognitive computer chips EricP <ThatWouldBeTelling@thevillage.com> - 2011-08-18 20:37 -0400
    Re: IBM demos cognitive computer chips Robert Myers <rbmyersusa@gmail.com> - 2011-08-19 13:40 -0400
      Re: IBM demos cognitive computer chips BGB <cr88192@hotmail.com> - 2011-08-19 11:52 -0700
        Re: IBM demos cognitive computer chips Robert Myers <rbmyersusa@gmail.com> - 2011-08-19 15:50 -0400
          Re: IBM demos cognitive computer chips BGB <cr88192@hotmail.com> - 2011-08-20 00:15 -0700
            Re: IBM demos cognitive computer chips Stephen Fuld <SFuld@alumni.cmu.edu.invalid> - 2011-08-20 09:22 -0700
              Re: IBM demos cognitive computer chips EricP <ThatWouldBeTelling@thevillage.com> - 2011-08-20 14:10 -0400
        Re: IBM demos cognitive computer chips Quadibloc <jsavard@ecn.ab.ca> - 2011-08-21 05:16 -0700
          Re: IBM demos cognitive computer chips BGB <cr88192@hotmail.com> - 2011-08-21 11:56 -0700
            Re: IBM demos cognitive computer chips Robert Myers <rbmyersusa@gmail.com> - 2011-08-21 15:29 -0400
              Re: IBM demos cognitive computer chips BGB <cr88192@hotmail.com> - 2011-08-21 13:19 -0700
            Re: IBM demos cognitive computer chips "Andy \"Krazy\" Glew" <andy@SPAM.comp-arch.net> - 2011-08-22 09:41 -0400
              Re: IBM demos cognitive computer chips BGB <cr88192@hotmail.com> - 2011-08-22 12:22 -0700
                Re: IBM demos cognitive computer chips BGB <cr88192@hotmail.com> - 2011-08-22 13:01 -0700
              Re: IBM demos cognitive computer chips "Andy \"Krazy\" Glew" <andy@SPAM.comp-arch.net> - 2011-08-23 10:11 -0400
              Re: IBM demos cognitive computer chips Eric  Northup <digitaleric@gmail.com> - 2011-08-23 09:36 -0700
                Re: IBM demos cognitive computer chips "Andy \"Krazy\" Glew" <andy@SPAM.comp-arch.net> - 2011-08-24 22:15 -0400
                Re: IBM demos cognitive computer chips "Andy \"Krazy\" Glew" <andy@SPAM.comp-arch.net> - 2011-08-25 09:07 -0400
      Re: IBM demos cognitive computer chips EricP <ThatWouldBeTelling@thevillage.com> - 2011-08-20 01:41 -0400
      Re: IBM demos cognitive computer chips Stephen Fuld <SFuld@alumni.cmu.edu.invalid> - 2011-08-20 08:55 -0700
        Re: IBM demos cognitive computer chips Robert Myers <rbmyersusa@gmail.com> - 2011-08-20 16:10 -0400
          Re: IBM demos cognitive computer chips Stephen Fuld <SFuld@alumni.cmu.edu.invalid> - 2011-08-21 21:11 -0700
            Re: IBM demos cognitive computer chips EricP <ThatWouldBeTelling@thevillage.com> - 2011-08-22 12:04 -0400
              Re: IBM demos cognitive computer chips EricP <ThatWouldBeTelling@thevillage.com> - 2011-08-22 12:22 -0400
            Re: IBM demos cognitive computer chips Robert Myers <rbmyersusa@gmail.com> - 2011-08-22 14:24 -0400
              Re: IBM demos cognitive computer chips Quadibloc <jsavard@ecn.ab.ca> - 2011-08-22 19:32 -0700
                Re: IBM demos cognitive computer chips BGB <cr88192@hotmail.com> - 2011-08-22 23:21 -0700
                Re: IBM demos cognitive computer chips Robert Myers <rbmyersusa@gmail.com> - 2011-08-23 09:49 -0700
                Re: IBM demos cognitive computer chips Robert Myers <rbmyersusa@gmail.com> - 2011-08-23 09:46 -0700
                Re: IBM demos cognitive computer chips BGB <cr88192@hotmail.com> - 2011-08-23 15:05 -0700
                Re: IBM demos cognitive computer chips Piotr Wyderski <peter.pan@neverland.mil> - 2011-08-26 16:04 +0200
                Re: IBM demos cognitive computer chips Quadibloc <jsavard@ecn.ab.ca> - 2011-08-26 09:58 -0700
                Re: IBM demos cognitive computer chips ChrisQ <meru@devnull.com> - 2011-08-29 14:56 +0100
                Re: IBM demos cognitive computer chips EricP <ThatWouldBeTelling@thevillage.com> - 2011-08-29 11:06 -0400
                Re: IBM demos cognitive computer chips Robert Myers <rbmyersusa@gmail.com> - 2011-08-29 16:10 -0400
                Re: IBM demos cognitive computer chips EricP <ThatWouldBeTelling@thevillage.com> - 2011-08-29 17:48 -0400
                Re: IBM demos cognitive computer chips Robert Myers <rbmyersusa@gmail.com> - 2011-08-29 19:24 -0400
    Re: IBM demos cognitive computer chips ggtgp@yahoo.com - 2012-03-30 21:54 -0700

csiph-web