![]() |
|
|
#1 |
|
Dec 2010
2·37 Posts |
I have a limited understanding of a GPU's limitations, but has anyone written a program that allows the 512+ processors of a GPU to simultaneously primality test 512+ numbers at the same time?
In other words, instead of trying to test one number 512 times more quickly, couldn't we just slowly test 512 different numbers? Wouldn't that still be much, much faster (in the long run) than using CPUs for primality tests? |
|
|
|
|
|
#2 |
|
6809 > 6502
"""""""""""""""""""
Aug 2003
101×103 Posts
101011001111002 Posts |
If I understand correctly, you can't with current cards. The would be memory issues.
|
|
|
|
|
|
#3 |
|
Romulan Interpreter
"name field"
Jun 2011
Thailand
41·251 Posts |
Each small kernel in a GPU can't do too much by itself, their force come from working all together, and in fact the bottleneck is not in the calculus itself, but in memory access, that will lose time for "semaphorization" and you will not get to much gain in time.
Assuming you have to eat 512 cakes. You can eat them one per day and eat 512 cakes in 512 days, or you can cut each cake in 512 pieces and eat each day a small piece from all cakes. You still need 512 days to eat each all. Of course, each version has its own advantages and disadvantages, the second way would be more yummmmy, especially if the cakes are different kinds, but you will have to run around 512 plates every day, and eventually use 512 little forks to avoid "taste contamination"... :P Now imagine you eat one cake per day, but cut it first in 512 little pieces, and use 512 little forks to eat it. You will lose some time to cut it, to change the forks, but you still eat the same tasteless cake each day. One. |
|
|
|