8 Replies Latest reply on Feb 21, 2009 9:02 PM by ryta1203

    Question about Firestream 9170

    rick.weber

      The Streaming Users Guide says the Firestream 9170 has 64 threads in a wavefront. Since there are 5 stream cores per thread and 5*64 = 320, does it then follow that all threads on the 9170 are in the same wavefront?

        • Question about Firestream 9170
          gaurav.garg

          4 threads run on a single SP (5 cores) over 4 cycles. So, all threads within sinlgle SIMD engine (16 SPs) are in the same wavefront.

          16 SPs * 4 threads (over 4 cycle) per SP = 64 threads = 1wavefront

            • Question about Firestream 9170
              rick.weber

              Sorry to beat a dead horse, but wouldn't this imply that the 9170 has 4 SIMD engines and thus 4 Wavefronts total? If there are 320 stream cores, and a wavefront contains 64 threads, 4 threads are interleaved on a thread processor, and there are 5 stream cores per thread processor, then there are 64 thread processors, each of which interleaves 4 threads, yielding 256 threads total. Since a wavefront is 64 threads, it would then follow that there are 4 SIMD engines and thus 4 wavefronts. Alternatively, does the 320 stream cores figure in the 4 way thread interleaving, and so there are 320 virtual stream cores, but 80 physical stream cores, in which case there would be only one wavefront?

                • Question about Firestream 9170
                  MicahVillmow

                  a 9170 has 4 simd's each with 16 thread processors with 5 stream cores per thread  processor, where each stream core can process a single instruction. 5 * 16 * 4 = 320 streaming cores.

                   

                  a wavefront is run on a simd over 4 cycles and two wavefronts can run in parallel, so 8 wavefronts can run at the same time on the card.

                    • Question about Firestream 9170
                      rick.weber

                      So then the 4 interleaved threads are not necessarily on the same wavefront?

                        • Question about Firestream 9170
                          ryta1203

                           

                          Originally posted by: rick.weber So then the 4 interleaved threads are not necessarily on the same wavefront?

                          This is a good question but from my understanding they are. The 4 interleaved threads are organized 2x2 called a quad. Each quad is run on 1 thread processor. The wavefront is organized into 16 quads, 1 per thread processor and the wavefront runs on 1 SIMD engine. At least this is how it seems explained in a high view, but this could be different physically speaking.

                          Is that correct, I am curious also?

                            • Question about Firestream 9170
                              MicahVillmow

                              that is correct

                                • Question about Firestream 9170
                                  rick.weber

                                  I guess I'm a little confused about how a second wavefront can be scheduled to run on stream cores if you already have 64 threads running in a wavefront using all 16 of the thread processors.  Are the wavefronts interleaved in a manner similar to threads?

                                    • Question about Firestream 9170
                                      ryta1203

                                       

                                      Originally posted by: rick.weber I guess I'm a little confused about how a second wavefront can be scheduled to run on stream cores if you already have 64 threads running in a wavefront using all 16 of the thread processors.  Are the wavefronts interleaved in a manner similar to threads?

                                       

                                      Yes. A wavefront runs for the life of a Clause (or CF Clause, if you will). It is explained in the docs that you can have different instructions running at a time on the GPU, this is because you can have 1 wavefront running in 1 clause (CF Clause) on 1 SIMD and another wavefront running another clause (CF Clause) on another SIMD engine.

                                      Also, take a look at the "Wavefronts Question" and "Another wavefronts question" threads.