Skip to content

Commit c4fb1f5

Browse files
author
Andrey Oskin
committed
preliminary and slow version of YingYang
1 parent 3e6983e commit c4fb1f5

File tree

5 files changed

+241
-150
lines changed

5 files changed

+241
-150
lines changed

src/lloyd.jl

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,3 +124,18 @@ function chunk_update_centroids(::Lloyd, containers, centroids, X, r, idx)
124124

125125
containers.J[idx] = J
126126
end
127+
128+
function collect_containers(alg::Lloyd, containers, centroids, n_threads)
129+
if n_threads == 1
130+
@inbounds centroids .= containers.centroids_new[1] ./ containers.centroids_cnt[1]'
131+
else
132+
@inbounds containers.centroids_new[end] .= containers.centroids_new[1]
133+
@inbounds containers.centroids_cnt[end] .= containers.centroids_cnt[1]
134+
@inbounds for i in 2:n_threads
135+
containers.centroids_new[end] .+= containers.centroids_new[i]
136+
containers.centroids_cnt[end] .+= containers.centroids_cnt[i]
137+
end
138+
139+
@inbounds centroids .= containers.centroids_new[end] ./ containers.centroids_cnt[end]'
140+
end
141+
end

0 commit comments

Comments
 (0)