This is an archive of the discontinued LLVM Phabricator instance.

[test-suite] Add Image Processing Kernels Using Benchmark Library: Anisotropic diffusion
ClosedPublic

Authored by proton on Jul 27 2018, 4:24 PM.

Details

Summary

Runtime:
With Polly

BenchmarkTimeCPUIterations
BENCHMARK_ANISTROPIC_DIFFUSION/32242 us242 us2832
BENCHMARK_ANISTROPIC_DIFFUSION/641120 us1120 us614
BENCHMARK_ANISTROPIC_DIFFUSION/1284680 us4680 us131
BENCHMARK_ANISTROPIC_DIFFUSION/25619263 us19261 us36

Without Polly

BenchmarkTimeCPUIterations
BENCHMARK_ANISTROPIC_DIFFUSION/322390 us2383 us292
BENCHMARK_ANISTROPIC_DIFFUSION/6410961 us10949 us64
BENCHMARK_ANISTROPIC_DIFFUSION/12846711 us46707 us15
BENCHMARK_ANISTROPIC_DIFFUSION/256194217 us194172 us4

Diff Detail

Repository
rL LLVM

Event Timeline

proton created this revision.Jul 27 2018, 4:24 PM
proton edited the summary of this revision. (Show Details)Jul 27 2018, 4:30 PM

Wow, that's 10x fast with Polly!

MicroBenchmarks/ImageProcessing/AnisotropicDiffusion/anisotropicDiffusionKernel.c
10 ↗(On Diff #157799)

[suggestion] Parenthesize to avoid precedence issues: #define TIME_STEP (1.0 / 8)

MicroBenchmarks/ImageProcessing/AnisotropicDiffusion/main.cpp
41–42 ↗(On Diff #157799)

[nit] Can be on one line: int *outputImage = (int*) malloc(...

proton updated this revision to Diff 157845.Jul 28 2018, 4:38 AM
This revision is now accepted and ready to land.Jul 28 2018, 5:50 PM
This revision was automatically updated to reflect the committed changes.