Difference between revisions of "LuxMark"

From LuxCoreRender Wiki
Jump to navigation Jump to search
Line 46: Line 46:
  --help (display this help and exit)
  --help (display this help and exit)
  --scene=LUXBALL_HDR|MICROPHONE|HOTEL (select the scene to use)
  --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)
  --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)
  --single-run (run the benchmark, print the result to the stdout and exit)
  --ext-info (print scene and image verification too with --single-run)
  --ext-info (print scene and image verification too with --single-run)

Revision as of 14:45, 12 April 2018

LuxMark v3.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.

OpenCL render engine

A brand new micro-kernel based OpenCL path tracer is used as rendering mode for the benchmark.

C++ render engine

This release includes the come back of a benchmarking mode not requiring OpenCL (i.e. a render engine written only in C++ like in LuxMark v1.x). Ray intersection C++ code uses state-of-the-art Intel Embree.

Stress mode

Aside from benchmarking modes, it is also available a stress mode to check the reliability of the hardware under heavy load.

Benchmark Result Validation

LuxMark now 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). While it will still possible to submit fake results to the LuxMark result database, it will make this task harder.

LuxVR

LuxVR is included as demo too and replaces the old "Interactive" LuxMark mode.

A brand new web site

There is now a brand new web site dedicated to LuxMark result: http://www.luxmark.org. It includes many new features compared the old results database.

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)

What is new in v3.1 ?

- The new LuxRender v1.5 render engine. Among other features, it includes some OpenCL optimization suggested by NVIDIA to LuxRender project. Because of the general score improvements in v3.1, it is not fair to compare LuxMark v3.0 results with LuxMark v3.1;

- OpenCL "overclocking" (OpenCL C compiler options: -cl-fast-relaxed-math -cl-mad-enable -cl-no-signed-zeros);

- a new "OpenCL Compiler Options" menu in order to allow the user to enable/disable single compiler options. By default, the following options are enabled: "-cl-fast-relaxed-math -cl-mad-enable -cl-no-signed-zeros". "-cl-strict-aliasing" is not enabled by default because Intel compiler is broken and it doesn't support this standard option.

- a new command line --ext-info option (http://www.luxrender.net/forum/viewtopic.php?f=8&t=12278#p115645);

- a fix for OpenCL device with weird names (http://www.luxrender.net/forum/viewtopic.php?f=34&t=11585&start=50#p115646);

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.)

- it requires LuxRays be compiled (tag: luxmark_v3.1)

- the complete scenes directory is available here: https://github.com/LuxCoreRender/LuxMark/releases/download/luxmark_v3.1/scenes-v3.1.zip

LuxMark v3.0

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

LuxMark v2.x

LuxMark v2.x is still available here