RAW scale process speed at Intel AVX instruction.

      Comments Off on RAW scale process speed at Intel AVX instruction.

code_thumb_rawscale

Testbase

My medical RAW image scale processor benchmarked for Intel AVX instruction set. It was fully reprogrammed for be affected by optimization algorithm by compiler option.

Specification of benchmark

  • CPU: Intel Core i7-6700 @ 4GHz (Skylake-S)
  • Memory: DDR4-1066 16GB (Single channel)
  • OS: Windows 7 professional 64bit

Compiler

  • MinGW-W64 64bit version 4.8.0

Compiler options

  • -fomit-frame-pointer
  • -fexpensive-optimizations
  • -O3
  • -s
  • -m64
  • -march=corei7-avx

RAW image source

  • 3072×3072, 16bit grayscale X-Ray image

rawviewer_sample

Benchmark rule

  • Scale each different filter for double size.

 

Results

  • Nearest (box) scale : 0.597 seconds.

    bench_result_nearest

  • Bilinear scale : 0.597 seconds.
    bench_result_bilinear
  • Bicubic scale : 0.693 seconds.
    bench_result_bicubic
  • Lanzcos 3 taps : 0.884 seconds.
    bench_result_lanczos3

Specially lanzcos 3 scale took 30% more speed at under 1 second. So I looking fore more faster way how it make faster than now. And it is almost same with B-Spline filter, or sometimes B-Spline faster than lanczos3, Hmmm …

Download test console program