Skip to content
Permalink
Browse files

vcacheoptimizer: Update score tables using DE run

New tables are retuned using differential evolution, ran over ~1 day on
a 96-core GCP machine. The results are ~0.6% better than the table we
used to have across AMD & NV GPUs.

Also switch default population size to 95 - 100 elements don't
parallelize well across 96 cores which results in poor utilization.
  • Loading branch information
zeux committed Jun 20, 2019
1 parent 5e751ba commit 5c3cff18cc6941c64360b6c125b166e2966ac06d
Showing with 3 additions and 3 deletions.
  1. +2 −2 src/vcacheoptimizer.cpp
  2. +1 −1 tools/vcachetuner.cpp
@@ -15,11 +15,11 @@ const size_t kValenceMax = 8;

static const float kVertexScoreTableCache[1 + kCacheSizeMax] = {
0.f,
0.792f, 0.767f, 0.764f, 0.956f, 0.827f, 0.751f, 0.820f, 0.864f, 0.738f, 0.788f, 0.642f, 0.646f, 0.165f, 0.654f, 0.545f, 0.284f};
0.779f, 0.791f, 0.789f, 0.981f, 0.843f, 0.726f, 0.847f, 0.882f, 0.867f, 0.799f, 0.642f, 0.613f, 0.600f, 0.568f, 0.372f, 0.234f};

static const float kVertexScoreTableLive[1 + kValenceMax] = {
0.f,
0.994f, 0.721f, 0.479f, 0.423f, 0.174f, 0.080f, 0.249f, 0.056f};
0.995f, 0.713f, 0.450f, 0.404f, 0.059f, 0.005f, 0.147f, 0.006f};

struct TriangleAdjacency
{
@@ -381,7 +381,7 @@ int main(int argc, char** argv)
}
else
{
pop = gen0(100, meshes);
pop = gen0(95, meshes);
}

printf("%d meshes, %.1fM triangles\n", int(meshes.size()), double(total_triangles) / 1e6);

0 comments on commit 5c3cff1

Please sign in to comment.
You can’t perform that action at this time.