LuxMark v4

From LuxCoreRender Wiki
Revision as of 09:04, 8 October 2019 by Dade (talk | contribs) (Created page with "= LuxMark v4.x = LuxMark is a OpenCL cross-platform benchmark tool and has become, over past years, one of the most used (if not the most used) OpenCL benchmark. It is intend...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

LuxMark v4.x

LuxMark is a OpenCL cross-platform benchmark tool and has become, over past years, one of the most used (if not the most used) OpenCL benchmark. It is intended as a promotional tool for LuxCoreRender and it is now based on LuxCore API, the LuxCoreRender v2.x C++ or Python API available under Apache Licence v2.0 and freely usable in open source and commercial applications.

Render engines

This release is based on v2.2 and includes benchmarks with the following rendering engines:

  • A micro-kernel based OpenCL path tracer with/without Global Illumination cache;
  • A C++ path tracer with/without Global Illumination cache;
  • An hybrid OpenCL for GPUs and C++ for CPUs path tracer with/without Global Illumination cache;
  • A C++ Bidirectional path tracer;

Denoiser

LuxMark includes OpenImageDenoise. A comparison between raw and denoised image is shown at the end of the benchmark or during the stress test. However Intel OpenImageDenoise is a CPU-only task and it is not part of the benchmark result.

Stress mode

Aside from benchmarking modes, it is also available a stress mode to check the reliability of the hardware under heavy load. Hybrid OpenCL GPUs + C++ CPUs is well suited to put the maximum load possible on the system.

Benchmark Result Validation

LuxMark includes a validation of the rendered image by using the same technology used for pdiff in order to check if the benchmarked result is valid or something has gone wrong. It has also a validation of the scene sources used (i.e. hash of scene files).

Benchmark Scenes

3 brand new scenes are included. The simple benchmark is the usual "LuxBall HDR" (217K triangles):

Luxmark01.jpg

The medium scene is the "Neumann TLM-102 Special Edition (with EA-4 shock mount)" (1769K traingles) designed by Vlad "SATtva" Miller (http://vladmiller.info/blog/index.php?comment=308):

Luxmark02.jpg

The complex scene is the "Hotel Lobby" (4973K) designed by Peter "Piita" Sandbacka:

Luxmark03.jpg

Command line options

Usage: luxmark [options]
--help (display this help and exit)
--scene=LUXBALL_HDR|MICROPHONE|HOTEL (select the scene to use)
--mode=BENCHMARK_OCL_GPU|BENCHMARK_OCL_CPUGPU|BENCHMARK_OCL_CPU|BENCHMARK_NATIVE|STRESSTEST_OCL_GPU|
   STRESSTEST_OCL_CPUGPU|STRESSTEST_OCL_CPU|DEMO_LUXVR|PAUSE (select the mode to use)
--single-run (run the benchmark, print the result to the stdout and exit)
--ext-info (print scene and image verification too with --single-run)

Binaries

- Windows 64bit: https://github.com/LuxCoreRender/LuxMark/releases/download/luxmark_v3.1/luxmark-windows64-v3.1.zip (note: you may have to install VisualStudio 2013 C++ runtime => https://www.microsoft.com/en-US/download/details.aspx?id=40784)

- MacOS 64bit: https://github.com/LuxCoreRender/LuxMark/releases/download/luxmark_v3.1/luxmark-macos64-v3.1.zip

- Linux 64bit: https://github.com/LuxCoreRender/LuxMark/releases/download/luxmark_v3.1/luxmark-linux64-v3.1.tar.bz2

Compile from sources

Some note to compile LuxMark:

- the sources are available here: https://github.com/LuxCoreRender/LuxMark (tag: luxmark_v3.1)

- LuxMark can be compiled exactly like LuxCoreRender. It has exactly the same dependencies (i.e. LuxCore, LuxRays, etc.). The procedure described in repository and repository can be used to compile LuxMark too.

- the complete scenes directory is available here: https://github.com/LuxCoreRender/LuxMark/releases/download/luxmark_v4.0alpha0/scenes.tgz