JRCLUST icon indicating copy to clipboard operation
JRCLUST copied to clipboard

simScore calculation is different on CPU vs. GPU

Open aliddell opened this issue 6 years ago • 2 comments

aliddell avatar Feb 01 '19 19:02 aliddell

Clustering (in particular rho-delta computation) also appears different on CPU vs. GPU. These are probably related.

aliddell avatar Feb 05 '19 15:02 aliddell

Different nearest neighbors are assigned due to ties in delta:

K>> norm(deltaCPU - deltaGPU)

ans =

  single

   3.1191516e-06

K>> dissenters = find(nNeighGPU ~= nNeighCPU)

dissenters =

       23204       45054       65238

K>> dists([nNeighCPU(dissenters(1)), nNeighGPU(dissenters(1))], dissenters(1))

ans =

  2×1 single column vector

   0.4640505
   0.4640505

K>> dists([nNeighCPU(dissenters(2)), nNeighGPU(dissenters(2))], dissenters(2))

ans =

  2×1 single column vector

   0.3577231
   0.3577231

K>> dists([nNeighCPU(dissenters(3)), nNeighGPU(dissenters(3))], dissenters(3))

ans =

  2×1 single column vector

   0.5317180
   0.5317180

K>> deltaCPU(dissenters) == deltaGPU(dissenters)

ans =

  1×3 logical array

   1   1   1

aliddell avatar Feb 26 '19 21:02 aliddell