Cytoscape.js GPU benchmarks

v4 executor 'cpu' vs 'gpu' · times are per-call p50 · 2026-08-13 01:30 · 0d3561de (v4) · chromium v24.18.0 · algorithms-gpu profile

Machine and provenance
CPUIntel(R) Core(TM) i9-9900K CPU @ 3.60GHz
Cores8 physical / 16 logical · 3.6 GHz base · 5 GHz max
Memory62.6 GiB
GPUCoffeeLake-S GT2 [UHD Graphics 630] i915
Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (8.0 GiB) amdgpu
Adapteramd gcn-4
Browserchromium 149.0.7827.55
OSFedora Linux 43 (Workstation Edition) · 6.19.14-200.fc43.x86_64 · x64
Nodev24.18.0 (v8 13.6.233.17-node.50)
Commit0d3561de
merge: the round 69/70 algorithm matrix into v4
Machine id5cf3f79c
Median speedup (geo-mean) 7.2× 57 cpu-vs-gpu comparisons
Biggest win 2264× heatKernel @ N=1.024k
cpu still ahead 12 comparisons
Total run time 16.4 min algorithms-gpu profile

Speedup overview cpu p50 ÷ gpu p50, log scale · right of the 1× line = gpu faster

heatKernel @ 1.024k
2264×
markovClustering @ 1.024k
652×
heatKernel @ 512
427×
markovClustering @ 512
286×
rwrProximity @ 1.024k
283×
kMedoids @ 4.096k
165×
simRank @ 1.024k
147×
rwrProximity @ 512
125×
simRank @ 512
88×
heatKernel @ 256
83×
kMedoids @ 2.048k
82×
markovClustering @ 256
70×
fuzzyCMeans @ 65.536k
69×
fuzzyCMeans @ 16.384k
48×
closenessCentralityNormalized @ 1.024k
47×
effectiveResistance @ 1.024k
43×
simRank @ 256
33×
floydWarshall @ 1.024k
33×
rwrProximity @ 256
30×
fuzzyCMeans @ 4.096k
28×
motifCensus @ 2.048k
23×
kMeans @ 65.536k
22×
closenessCentralityNormalized @ 512
21×
kMedoids @ 1.024k
19×
betweennessCentrality @ 2.048k
18×
effectiveResistance @ 512
17×
kMeans @ 16.384k
16×
floydWarshall @ 512
12×
betweennessCentrality @ 1.024k
10×
triangleCount @ 2.048k
8.6×
motifCensus @ 1.024k
8.2×
kMeans @ 4.096k
7.4×
effectiveResistance @ 256
6.8×
closenessCentralityNormalized @ 256
6.7×
neighborhoodSimilarity @ 2.048k
6.6×
triangleCount @ 1.024k
4.8×
betweennessCentrality @ 512
4.0×
neighborhoodSimilarity @ 1.024k
3.9×
affinityPropagation @ 1.024k
3.7×
floydWarshall @ 256
3.7×
affinityPropagation @ 256
2.6×
triangleCount @ 512
2.3×
motifCensus @ 512
2.1×
neighborhoodSimilarity @ 512
1.97×
affinityPropagation @ 512
1.80×
hierarchicalClustering @ 4.096k
0.97×
hierarchicalClustering @ 1.024k
0.95×
hierarchicalClustering @ 2.048k
0.90×
pageRankDense @ 2.048k
0.19×
pageRankDense @ 1.024k
0.18×
pageRankDense @ 512
0.14×
katzCentrality @ 512
0.08×
pageRank @ 512
0.06×
pageRank @ 1.024k
0.02×
katzCentrality @ 2.048k
0.01×
pageRank @ 2.048k
0.01×
katzCentrality @ 1.024k
0.01×
0.001×0.01×0.1×10×100×1000×10000×

Scaling speedup vs graph size

algorithms-gpu

group× @ N=256× @ N=512× @ N=1.024k× @ N=2.048k× @ N=4.096k× @ N=16.384k× @ N=65.536k
markovClustering70×286×652×
floydWarshall3.7×12×33×
affinityPropagation2.6×1.80×3.7×
closenessCentralityNormalized6.7×21×47×
effectiveResistance6.8×17×43×
simRank33×88×147×
rwrProximity30×125×283×
heatKernel83×427×2264×
pageRank0.06×0.02×0.01×
pageRankDense0.14×0.18×0.19×
betweennessCentrality4.0×10×18×
triangleCount2.3×4.8×8.6×
neighborhoodSimilarity1.97×3.9×6.6×
katzCentrality0.08×0.01×0.01×
motifCensus2.1×8.2×23×
kMedoids19×82×165×
hierarchicalClustering0.95×0.90×0.97×
kMeans7.4×16×22×
fuzzyCMeans28×48×69×

algorithms-gpu N=256 · 9.4 sv4 (gpu) v4 (cpu)

markovClustering
70×
floydWarshall
3.7×
affinityPropagation
2.6×
closenessCentralityNormalized
6.7×
effectiveResistance
6.8×
simRank
33×
rwrProximity
30×
heatKernel
83×
1 ms10 ms100 ms1 s
All stats (table view)
groupbenchp50avgp99minsamples
markovClusteringcpu 617 ms621 ms 632 ms610 ms 5
markovClusteringgpu 8.80 ms9.18 ms 9.00 ms8.60 ms 5
markovClusteringgpu first call 26.7 ms26.7 ms 26.7 ms26.7 ms 1
floydWarshallcpu 23.4 ms33.3 ms 49.3 ms21.0 ms 5
floydWarshallgpu 6.40 ms6.52 ms 6.60 ms6.30 ms 5
floydWarshallgpu first call 20.6 ms20.6 ms 20.6 ms20.6 ms 1
affinityPropagationcpu 40.6 ms42.6 ms 42.6 ms39.6 ms 5
affinityPropagationgpu 15.4 ms15.7 ms 15.6 ms14.8 ms 5
affinityPropagationgpu first call 25.5 ms25.5 ms 25.5 ms25.5 ms 1
closenessCentralityNormalizedcpu 24.1 ms23.9 ms 24.2 ms23.4 ms 5
closenessCentralityNormalizedgpu 3.60 ms3.66 ms 3.80 ms3.50 ms 5
closenessCentralityNormalizedgpu first call 7.50 ms7.50 ms 7.50 ms7.50 ms 1
effectiveResistancecpu 51.7 ms51.8 ms 51.9 ms51.1 ms 5
effectiveResistancegpu 7.60 ms7.90 ms 8.70 ms6.90 ms 5
effectiveResistancegpu first call 18.2 ms18.2 ms 18.2 ms18.2 ms 1
simRankcpu 146 ms205 ms 149 ms145 ms 5
simRankgpu 4.50 ms4.84 ms 5.10 ms4.20 ms 5
simRankgpu first call 15.9 ms15.9 ms 15.9 ms15.9 ms 1
rwrProximitycpu 173 ms173 ms 173 ms170 ms 5
rwrProximitygpu 5.80 ms6.24 ms 5.90 ms5.60 ms 5
rwrProximitygpu first call 13.5 ms13.5 ms 13.5 ms13.5 ms 1
heatKernelcpu 308 ms308 ms 309 ms306 ms 5
heatKernelgpu 3.70 ms4.36 ms 4.50 ms3.50 ms 5
heatKernelgpu first call 14.5 ms14.5 ms 14.5 ms14.5 ms 1

algorithms-gpu N=512 · 1.4 minv4 (gpu) v4 (cpu)

markovClustering
286×
pageRank
0.06×
pageRankDense
0.14×
floydWarshall
12×
betweennessCentrality
4.0×
affinityPropagation
1.80×
closenessCentralityNormalized
21×
triangleCount
2.3×
neighborhoodSimilarity
1.97×
katzCentrality
0.08×
effectiveResistance
17×
simRank
88×
rwrProximity
125×
heatKernel
427×
motifCensus
2.1×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
markovClusteringcpu 4.77 s4.78 s 4.78 s4.76 s 5
markovClusteringgpu 16.7 ms17.4 ms 16.9 ms15.8 ms 5
markovClusteringgpu first call 33.0 ms33.0 ms 33.0 ms33.0 ms 1
pageRankcpu 400 µs420 µs 500 µs200 µs 5
pageRankgpu 6.60 ms6.76 ms 6.90 ms6.30 ms 5
pageRankgpu first call 13.7 ms13.7 ms 13.7 ms13.7 ms 1
pageRankDensecpu 1.00 ms960 µs 1.00 ms900 µs 5
pageRankDensegpu 7.40 ms7.42 ms 7.60 ms7.10 ms 5
pageRankDensegpu first call 27.8 ms27.8 ms 27.8 ms27.8 ms 1
floydWarshallcpu 180 ms181 ms 182 ms179 ms 5
floydWarshallgpu 15.3 ms15.5 ms 15.8 ms14.3 ms 5
floydWarshallgpu first call 15.9 ms15.9 ms 15.9 ms15.9 ms 1
betweennessCentralitycpu 36.4 ms36.8 ms 36.4 ms35.5 ms 5
betweennessCentralitygpu 9.00 ms9.30 ms 9.10 ms8.90 ms 5
betweennessCentralitygpu first call 19.1 ms19.1 ms 19.1 ms19.1 ms 1
affinityPropagationcpu 204 ms204 ms 204 ms202 ms 5
affinityPropagationgpu 114 ms114 ms 114 ms113 ms 5
affinityPropagationgpu first call 117 ms117 ms 117 ms117 ms 1
closenessCentralityNormalizedcpu 180 ms175 ms 181 ms164 ms 5
closenessCentralityNormalizedgpu 8.50 ms11.4 ms 10.9 ms8.20 ms 5
closenessCentralityNormalizedgpu first call 9.00 ms9.00 ms 9.00 ms9.00 ms 1
triangleCountcpu 16.2 ms16.5 ms 16.3 ms15.5 ms 5
triangleCountgpu 7.10 ms7.10 ms 7.10 ms7.00 ms 5
triangleCountgpu first call 27.0 ms27.0 ms 27.0 ms27.0 ms 1
neighborhoodSimilaritycpu 14.6 ms14.6 ms 14.8 ms14.2 ms 5
neighborhoodSimilaritygpu 7.40 ms7.30 ms 7.50 ms6.90 ms 5
neighborhoodSimilaritygpu first call 42.7 ms42.7 ms 42.7 ms42.7 ms 1
katzCentralitycpu 500 µs500 µs 600 µs400 µs 5
katzCentralitygpu 6.40 ms5.96 ms 6.50 ms4.90 ms 5
katzCentralitygpu first call 8.70 ms8.70 ms 8.70 ms8.70 ms 1
effectiveResistancecpu 413 ms610 ms 899 ms408 ms 5
effectiveResistancegpu 24.9 ms23.4 ms 25.1 ms18.2 ms 5
effectiveResistancegpu first call 20.6 ms20.6 ms 20.6 ms20.6 ms 1
simRankcpu 1.05 s1.52 s 1.07 s1.04 s 5
simRankgpu 12.0 ms13.0 ms 12.4 ms11.5 ms 5
simRankgpu first call 43.3 ms43.3 ms 43.3 ms43.3 ms 1
rwrProximitycpu 1.31 s1.31 s 1.31 s1.30 s 5
rwrProximitygpu 10.5 ms11.7 ms 10.5 ms10.3 ms 5
rwrProximitygpu first call 33.6 ms33.6 ms 33.6 ms33.6 ms 1
heatKernelcpu 4.74 s4.75 s 4.76 s4.74 s 5
heatKernelgpu 11.1 ms11.8 ms 11.2 ms10.4 ms 5
heatKernelgpu first call 29.4 ms29.4 ms 29.4 ms29.4 ms 1
motifCensuscpu 42.3 ms41.1 ms 42.6 ms38.3 ms 5
motifCensusgpu 20.1 ms19.8 ms 23.0 ms10.0 ms 5
motifCensusgpu first call 48.5 ms48.5 ms 48.5 ms48.5 ms 1

algorithms-gpu N=1,024 · 13.4 minv4 (gpu) v4 (cpu)

markovClustering
652×
pageRank
0.02×
pageRankDense
0.18×
floydWarshall
33×
betweennessCentrality
10×
affinityPropagation
3.7×
kMedoids
19×
hierarchicalClustering
0.95×
closenessCentralityNormalized
47×
triangleCount
4.8×
neighborhoodSimilarity
3.9×
katzCentrality
0.01×
effectiveResistance
43×
simRank
147×
rwrProximity
283×
heatKernel
2264×
motifCensus
8.2×
100 µs1 ms10 ms100 ms1 s10 s100 s
All stats (table view)
groupbenchp50avgp99minsamples
markovClusteringcpu 30.4 s30.3 s 30.4 s30.2 s 5
markovClusteringgpu 46.6 ms50.2 ms 46.8 ms46.2 ms 5
markovClusteringgpu first call 62.7 ms62.7 ms 62.7 ms62.7 ms 1
pageRankcpu 400 µs520 µs 700 µs300 µs 5
pageRankgpu 18.1 ms18.4 ms 18.1 ms17.6 ms 5
pageRankgpu first call 20.3 ms20.3 ms 20.3 ms20.3 ms 1
pageRankDensecpu 3.80 ms3.86 ms 3.90 ms3.80 ms 5
pageRankDensegpu 21.2 ms21.3 ms 21.5 ms20.6 ms 5
pageRankDensegpu first call 105 ms105 ms 105 ms105 ms 1
floydWarshallcpu 1.43 s1.43 s 1.43 s1.42 s 5
floydWarshallgpu 43.9 ms43.0 ms 45.7 ms35.4 ms 5
floydWarshallgpu first call 44.6 ms44.6 ms 44.6 ms44.6 ms 1
betweennessCentralitycpu 153 ms152 ms 153 ms151 ms 5
betweennessCentralitygpu 15.2 ms16.3 ms 15.3 ms14.8 ms 5
betweennessCentralitygpu first call 16.6 ms16.6 ms 16.6 ms16.6 ms 1
affinityPropagationcpu 1.10 s1.49 s 2.11 s1.06 s 5
affinityPropagationgpu 296 ms295 ms 296 ms292 ms 5
affinityPropagationgpu first call 301 ms301 ms 301 ms301 ms 1
kMedoidscpu 80.2 ms77.3 ms 80.4 ms67.4 ms 5
kMedoidsgpu 4.20 ms3.84 ms 4.20 ms3.00 ms 5
kMedoidsgpu first call 13.1 ms13.1 ms 13.1 ms13.1 ms 1
hierarchicalClusteringcpu 27.9 ms29.9 ms 34.9 ms25.5 ms 5
hierarchicalClusteringgpu 29.5 ms29.1 ms 29.8 ms27.5 ms 5
hierarchicalClusteringgpu first call 31.4 ms31.4 ms 31.4 ms31.4 ms 1
closenessCentralityNormalizedcpu 1.29 s1.30 s 1.30 s1.29 s 5
closenessCentralityNormalizedgpu 27.7 ms29.9 ms 31.9 ms26.5 ms 5
closenessCentralityNormalizedgpu first call 33.2 ms33.2 ms 33.2 ms33.2 ms 1
triangleCountcpu 107 ms157 ms 115 ms104 ms 5
triangleCountgpu 22.3 ms22.8 ms 23.4 ms21.5 ms 5
triangleCountgpu first call 95.0 ms95.0 ms 95.0 ms95.0 ms 1
neighborhoodSimilaritycpu 90.3 ms139 ms 212 ms89.5 ms 5
neighborhoodSimilaritygpu 23.3 ms23.6 ms 24.0 ms22.8 ms 5
neighborhoodSimilaritygpu first call 92.3 ms92.3 ms 92.3 ms92.3 ms 1
katzCentralitycpu 100 µs140 µs 200 µs100 µs 5
katzCentralitygpu 12.1 ms12.5 ms 12.3 ms12.0 ms 5
katzCentralitygpu first call 13.0 ms13.0 ms 13.0 ms13.0 ms 1
effectiveResistancecpu 3.44 s3.43 s 3.44 s3.40 s 5
effectiveResistancegpu 79.5 ms82.1 ms 82.5 ms78.7 ms 5
effectiveResistancegpu first call 82.0 ms82.0 ms 82.0 ms82.0 ms 1
simRankcpu 8.45 s8.44 s 8.45 s8.39 s 5
simRankgpu 57.6 ms57.5 ms 58.1 ms53.6 ms 5
simRankgpu first call 142 ms142 ms 142 ms142 ms 1
rwrProximitycpu 10.4 s10.4 s 10.4 s10.3 s 5
rwrProximitygpu 36.6 ms39.3 ms 41.8 ms35.7 ms 5
rwrProximitygpu first call 120 ms120 ms 120 ms120 ms 1
heatKernelcpu 75.4 s75.4 s 75.4 s75.1 s 5
heatKernelgpu 33.3 ms36.3 ms 33.6 ms33.1 ms 5
heatKernelgpu first call 127 ms127 ms 127 ms127 ms 1
motifCensuscpu 311 ms362 ms 327 ms301 ms 5
motifCensusgpu 38.2 ms36.1 ms 40.6 ms30.2 ms 5
motifCensusgpu first call 137 ms137 ms 137 ms137 ms 1

algorithms-gpu N=2,048 · 45.4 sv4 (gpu) v4 (cpu)

pageRank
0.01×
pageRankDense
0.19×
betweennessCentrality
18×
kMedoids
82×
hierarchicalClustering
0.90×
triangleCount
8.6×
neighborhoodSimilarity
6.6×
katzCentrality
0.01×
motifCensus
23×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
pageRankcpu 600 µs620 µs 600 µs500 µs 5
pageRankgpu 72.4 ms73.0 ms 73.0 ms68.3 ms 5
pageRankgpu first call 88.0 ms88.0 ms 88.0 ms88.0 ms 1
pageRankDensecpu 15.3 ms15.4 ms 15.3 ms15.1 ms 5
pageRankDensegpu 80.6 ms80.9 ms 80.9 ms80.2 ms 5
pageRankDensegpu first call 392 ms392 ms 392 ms392 ms 1
betweennessCentralitycpu 648 ms665 ms 665 ms642 ms 5
betweennessCentralitygpu 35.3 ms37.9 ms 37.8 ms35.0 ms 5
betweennessCentralitygpu first call 42.3 ms42.3 ms 42.3 ms42.3 ms 1
kMedoidscpu 386 ms386 ms 405 ms344 ms 5
kMedoidsgpu 4.70 ms5.56 ms 5.90 ms3.50 ms 5
kMedoidsgpu first call 4.50 ms4.50 ms 4.50 ms4.50 ms 1
hierarchicalClusteringcpu 99.7 ms101 ms 100 ms99.3 ms 5
hierarchicalClusteringgpu 111 ms110 ms 111 ms105 ms 5
hierarchicalClusteringgpu first call 119 ms119 ms 119 ms119 ms 1
triangleCountcpu 769 ms1.54 s 2.71 s756 ms 5
triangleCountgpu 89.4 ms91.5 ms 96.0 ms86.2 ms 5
triangleCountgpu first call 417 ms417 ms 417 ms417 ms 1
neighborhoodSimilaritycpu 630 ms630 ms 630 ms614 ms 5
neighborhoodSimilaritygpu 95.0 ms99.6 ms 101 ms92.2 ms 5
neighborhoodSimilaritygpu first call 419 ms419 ms 419 ms419 ms 1
katzCentralitycpu 300 µs360 µs 400 µs300 µs 5
katzCentralitygpu 36.0 ms36.0 ms 36.2 ms35.2 ms 5
katzCentralitygpu first call 38.3 ms38.3 ms 38.3 ms38.3 ms 1
motifCensuscpu 2.86 s3.43 s 4.45 s2.58 s 5
motifCensusgpu 127 ms124 ms 128 ms112 ms 5
motifCensusgpu first call 453 ms453 ms 453 ms453 ms 1

algorithms-gpu N=4,096 · 16.4 sv4 (gpu) v4 (cpu)

kMeans
7.4×
fuzzyCMeans
28×
kMedoids
165×
hierarchicalClustering
0.97×
1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
kMeanscpu 29.7 ms30.6 ms 29.9 ms29.4 ms 5
kMeansgpu 4.00 ms4.06 ms 4.10 ms3.80 ms 5
kMeansgpu first call 14.8 ms14.8 ms 14.8 ms14.8 ms 1
fuzzyCMeanscpu 156 ms157 ms 158 ms155 ms 5
fuzzyCMeansgpu 5.60 ms5.54 ms 5.80 ms4.80 ms 5
fuzzyCMeansgpu first call 18.5 ms18.5 ms 18.5 ms18.5 ms 1
kMedoidscpu 1.65 s1.65 s 1.66 s1.41 s 5
kMedoidsgpu 10.0 ms12.9 ms 12.1 ms8.80 ms 5
kMedoidsgpu first call 12.3 ms12.3 ms 12.3 ms12.3 ms 1
hierarchicalClusteringcpu 431 ms432 ms 435 ms430 ms 5
hierarchicalClusteringgpu 447 ms451 ms 448 ms442 ms 5
hierarchicalClusteringgpu first call 500 ms500 ms 500 ms500 ms 1

algorithms-gpu N=16,384 · 4.7 sv4 (gpu) v4 (cpu)

kMeans
16×
fuzzyCMeans
48×
1 ms10 ms100 ms1 s
All stats (table view)
groupbenchp50avgp99minsamples
kMeanscpu 126 ms126 ms 126 ms124 ms 5
kMeansgpu 7.70 ms8.80 ms 8.10 ms7.40 ms 5
kMeansgpu first call 16.4 ms16.4 ms 16.4 ms16.4 ms 1
fuzzyCMeanscpu 612 ms610 ms 612 ms603 ms 5
fuzzyCMeansgpu 12.8 ms18.2 ms 12.8 ms11.2 ms 5
fuzzyCMeansgpu first call 22.8 ms22.8 ms 22.8 ms22.8 ms 1

algorithms-gpu N=65,536 · 20.2 sv4 (gpu) v4 (cpu)

kMeans
22×
fuzzyCMeans
69×
10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
kMeanscpu 630 ms620 ms 636 ms593 ms 5
kMeansgpu 28.3 ms27.9 ms 28.4 ms25.9 ms 5
kMeansgpu first call 77.5 ms77.5 ms 77.5 ms77.5 ms 1
fuzzyCMeanscpu 2.64 s2.64 s 2.68 s2.54 s 5
fuzzyCMeansgpu 38.0 ms40.3 ms 43.9 ms37.7 ms 5
fuzzyCMeansgpu first call 85.4 ms85.4 ms 85.4 ms85.4 ms 1