[A51] Query - Use of Kraken with CPUs

Sascha Krissler sascha at srlabs.de
Thu Mar 27 06:43:35 CET 2014

AMD GPUs based on the GCN architecture are not supported by kraken.
TBH i already forgot the exact reason why that is, but AFAIR the
CAL api is simply not supported anymore.
GCN still supports AMD IL, but you need to use the opencl api and
the IL code must be adapted.

As for the comparison of GPUs and CPUs: say you have a hypothetical 32 core
machine that can execute 2 SSE instructions per superscalar core at 3ghz
then you can accomplish 32 * 2 * 4 * 3B = 768B 32bit instructions per second.
a GPU like a 5870 with 1600 32bit cores at 800mhz gives you
1600 * 800 = 1280B 32bit instructions.
i dont even know what 32 cores @ 3ghz would cost, but you can get a 5870
for $50, and it uses less power too.

the reason why the GPU is an order of magnitude more efficient is manyfold.
The highlights:

no need for high ILP, since rainbow table a5/1 calculations are
if you dont need high ILP, then you dont waste transistors on
instructions reordering, branch prediction and such.
2048bit SIMD, so one instruction decoder drives a large number of ALUs,
that means less silicon wasted on instruction decoders.
reduced instruction set compared to a CPU, saving more transistors.

the transistors that a CPU needs to reach high ILP and support a
baroque instruction set is spent on ALUs and L1 cache in GPUs.
that is why for certain algorithms the same price GPU is more than
10 times faster than a CPU.

to be clear once more: GCN GPUs are not compatible with kraken. to the best
of my knowledge that limits you to second hand hardware.

More information about the A51 mailing list