SHA-1 uses a bit more than 1100 32-bit operations (that would be around 900 on a CPU, but a GTX 9800+ has no rotation opcode, so rotations must be split into two shifts and a logical or), and the GPU ran at 1450 MHz, for a grand total of about 160 million SHA-1 computations per second. I could achieve close to 99% of the optimal bandwidth with a SHA-1 implementation. In practice, there are some internal thresholds and constraints which require more threads to achieve the optimal bandwidth, up to about 4096. a minimum of 22♱28 = 2816), such that threads can be grouped by packs of 32 "identical" threads which execute the same instructions at the same time, like hip-hop dancers. So you can maintain the rhythm of "128 32-bit operations per cycle" only as long as you have at least 22 times as many "threads" to run (i.e. ![]() ![]() You can imagine the instruction and its operands walking into the circuit as an advancing front line, like a wave in a pool: a given wave will take some time to reach the other end of the pool, but you can send several waves sequentially. This is operation initiation: each individual operation takes up to 22 clock cycles to run. The multicore handles work units ("threads") by groups of 32, so that when a multicore has an instruction to run, it actually issues that instruction to its 8 cores over 4 clock cycles. Each multicore can initiate 8 operations per cycle (hence the idea of 128 cores: that's 16 times 8). ![]() Some details, for a somewhat old NVidia card (a GTX 9800+, from early 2009): there are 128 cores, split into 16 "multicore units". Indeed, GPU work well with extreme parallelism: when there are many identical work units to perform, actually many more than actual cores ("identical" meaning "same instructions", but not "same data"). Each core is basically able to compute one 32-bit arithmetic operation per clock cycle - as a pipeline. To complete answer: a GPU has a lot of cores (hundreds).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |