cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

rick_weber
Adept II

Question about Firestream 9170

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?

0 Likes
8 Replies
gaurav_garg
Adept I

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

0 Likes

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?

0 Likes

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.

0 Likes

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

0 Likes

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?

0 Likes

that is correct

0 Likes

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?

0 Likes

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.

0 Likes