LuxMark - LuxRender Wiki
Luxrender GPL Physically Based Renderer

LuxMark

Personal tools

From LuxRender Wiki

(Difference between revisions)
Jump to: navigation, search
(Download)
(LuxMark v3.0)
 
(19 intermediate revisions by 3 users not shown)
Line 1: Line 1:
LuxMark is a [http://www.khronos.org/ OpenCL] benchmark tool. The idea for the program was conceived in 2009 by Jromang. It was intended as a promotional tool for [http://www.luxrender.net LuxRender] (to quote original Jromang's words: "LuxRender propaganda with OpenCL"). The idea was quite simple, wrap [[SLG]] inside an easy to use graphical user interface and use it as a benchmark for OpenCL. After [http://www.anandtech.com/show/4008/nvidias-geforce-gtx-580/16 Anandtech] adoption of [[SLG]] as OpenCL benchmark, the code was finally written.
+
= LuxMark v3.x =
  
<div align="center">[[Image:LuxMark_about.jpg|640px]]</div>
+
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 [http://www.luxrender.net LuxRender] and it is now based on [[LuxCore]], the LuxRender v2.x C++ or Python API available under Apache Licence 2.0 and freely usable in open source and commercial applications.
  
After a year from the release, LuxMark v1.0 has been widely used as OpenCL benchmark by AnandTech, Tom's Hardware, Vr-zone and other sites.
+
== OpenCL render engine ==
AMD has used LuxMark as one of the 5 GPU computing benchmarks to present the new HD7970.
+
  
LuxMark v2.0 includes SLG2 as rendering engine with Metropolis Light Transport, Multiple Importance Sampling, Image reconstruction done on the GPU, support for multiple OpenCL platforms (i.e. Nvidia users can use Intel or AMD CPU device) and many more new features.
+
A brand new micro-kernel based OpenCL path tracer is used as rendering mode for the benchmark.
The new features rise the complexity of the benchmark of nearly one order of magnitude and it should be able to put some serious stress on the new generation of GPUs.
+
The capability to submit results to a centralise WEB database looks like the most interesting new feature of LuxMark v2.0: http://www.luxrender.net/luxmark
+
  
<div align="center">[[Image:LuxMark_20.jpg|640px]]</div>
+
== C++ render engine ==
  
A special thanks goes to all people at [http://www.luxrender.net/forum/viewforum.php?f=34 LuxRender GPU Acceleration Forum] that have contributed with end-less testing, hints, bug reports, etc.
+
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 [https://embree.github.io Embree].
  
== Features ==
+
== Stress mode ==
  
* Open source
+
Aside from benchmarking modes, it is also available a stress mode to check the reliability of the hardware under heavy load.
* 100% OpenCL
+
* Cross platform (Linux, MacOS, Windows, etc.)
+
* Complex/real world code used as GPU computing benchmark
+
* Support for OpenCL GPUs-only, OpenCL CPUs+GPUs, OpenCL CPUs-only benchmarking
+
* Support for Interactive mode
+
* Easy to run
+
* Multiple scenes usable as benchmarks
+
  
New in LuxMark v2.0:
+
== Benchmark Result Validation ==
  
* Totally new rendering engine based on SLG2 with Metropolis Light Transport, Multiple Importance Sampling, Image reconstruction done on the GPU, ecc;
+
LuxMark now includes a validation of the rendered image by using the same technology used for [http://pdiff.sourceforge.net 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.
* Multi-platform OpenCL support;
+
* 2 new benchmark scenes, for a total of 3 benchmarks with a raising complexity (~200,000, ~500,000, ~2,000,000 triangles);
+
* Run the benchmark only on the OpenCL devices you selected on the device panel;
+
* Added the possibility to submit the scored result to a centralised result database: http://www.luxrender.net/luxmark;
+
  
== Download ==
+
== LuxVR ==
  
Windows 32bit executables: [http://www.luxrender.net/release/luxmark/luxmark-win32-v2.0.zip luxmark-win32-v2.0.zip]
+
[http://youtu.be/JrvyjqYX6o8 LuxVR] is included as demo too and replaces the old "Interactive" LuxMark mode.
  
Windows 64bit executables: [http://www.luxrender.net/release/luxmark/luxmark-win64-v2.0.zip luxmark-win64-v2.0.zip]
+
== A brand new web site ==
  
Linux 64bit executables: [http://www.luxrender.net/release/luxmark/luxmark-linux64-v2.0.zip luxmark-linux64-v2.0.zip]
+
There is now a brand new web site dedicated to LuxMark result: http://www.luxmark.info. It includes many new features compared the old results database.
  
MacOSX 64bit executables for Intel-Macs: [http://www.luxrender.net/release/luxmark/LuxMark_v2.0_OSXIntel64.zip LuxMark_v2.0_OSXIntel64.zip]
+
== Benchmark Scenes ==
  
'''NOTE:''' LuxRender forum account are synchronized with LuxMark database once every hour so '''new user accounts may take up to an hour to be active for LuxMark 2.0 result submission'''.
+
3 brand new scenes are included. The simple benchmark is the usual ''"LuxBall HDR"'' (217K triangles):
  
'''NOTE:''' there is a known bug in some old NVIDIA drivers when using the 32bit executable with Windows 64bit, just use the 64bit executable to fix the problem.
+
<div align="center">[[Image:Luxmark01.jpg|640px]]</div>
  
== License & Sources ==
+
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):
  
LuxMark is part of [[LuxRays]] source repository and is release under GPL license. The sources are available at [http://src.luxrender.net/luxrays http://src.luxrender.net/luxrays].
+
<div align="center">[[Image:Luxmark02.jpg|640px]]</div>
  
== Benchmark Scenes ==
+
The complex scene is the ''"Hotel Lobby"'' (4973K) designed by Peter "Piita" Sandbacka:
 +
 
 +
<div align="center">[[Image:Luxmark03.jpg|640px]]</div>
 +
 
 +
== Command line options ==
 +
 
 +
<code>
 +
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)
 +
</code>
 +
 
 +
== 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: http://www.luxrender.net/release/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)
  
=== Complex benchmark: Room ===
+
- MacOS 64bit: http://www.luxrender.net/release/luxmark/v3.1/luxmark-macos64-v3.1.zip
  
Room is a 2,000,000+ triangles benchmark. This scene has been designed by Mourelas Konstantinos "Moure" (http://moure-portfolio.blogspot.com/). '''Note: Room scene is extremely complex and is available only on 64bit executables. Old and/or low-end GPU may be unable to render this scene.'''
+
- Linux 64bit: http://www.luxrender.net/release/luxmark/v3.1/luxmark-linux64-v3.1.tar.bz2
  
<div align="center">[[Image:LuxMark_complex.jpg|600px]]</div>
+
== Compile from sources ==
  
=== Medium benchmark: Sala ===
+
Some note to compile LuxMark:
  
Sala is a 488,000+ triangles benchmark. This scene has been designed by Daniel "ZanQdo" Salazar (http://www.3developer.com) and adapted for SLG2 by Michael "neo2068" Klemm.
+
- the sources are available here: https://bitbucket.org/luxrender/luxmark (tag: luxmark_v3.1)
  
<div align="center">[[Image:LuxMark_medium.jpg|600px]]</div>
+
- LuxMark can be compiled exactly like LuxRender. It has exactly the same dependencies (i.e. LuxCore, LuxRays, etc.)
  
=== Simple benchmark: LuxBall HDR ===
+
- it requires LuxRays be compiled (tag: luxmark_v3.1)
  
LuxBall HDR is a 262,000+ triangles benchmark.
+
- the complete scenes directory is available here: https://bitbucket.org/luxrender/luxmark/downloads (scenes-v3.1beta3.zip file)
  
<div align="center">[[Image:LuxMark_simple.jpg|600px]]</div>
+
= LuxMark v3.0 =
  
== Result Database http://www.luxrender.net/luxmark ==
+
- Windows 64bit: http://www.luxrender.net/release/luxmark/v3.0/luxmark-windows64-v3.0.zip (note: you may have to install VisualStudio 2013 C++ runtime => https://www.microsoft.com/en-US/download/details.aspx?id=40784)
  
<div align="center">[[Image:LuxMark-10m.jpg|480px]]</div>
+
- MacOS 64bit: http://www.luxrender.net/release/luxmark/v3.0/luxmark-macos64-v3.0.zip (not available)
  
If you have a valid LuxRender forum account, you can submit your results to the LuxMark result database: http://www.luxrender.net/luxmark. The database offers online real-time browsing, searching, average results, top 20s and many more features.
+
- Linux 64bit: http://www.luxrender.net/release/luxmark/v3.0/luxmark-linux64-v3.0.tar.bz2 (not available)
  
'''Note:''' LuxRender forum account are synchronized with LuxMark database once every hour so '''new user accounts may take up to an hour to be active for LuxMark 2.0 result submission'''.
+
= LuxMark v2.x =
  
A list of old LuxMark v1.0 results is still available [[LuxMark_Results|here]]. '''Note:''' even if LuxMark 2.0 includes LuxBall HDR scene, you can not directly compare the results of the 2 different versions because of the totally different rendering engine.
+
LuxMark v2.x is still available [[LuxMark_v2|here]]

Latest revision as of 19:49, 13 December 2017

Contents

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 LuxRender and it is now based on LuxCore, the LuxRender v2.x C++ or Python API available under Apache Licence 2.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.info. 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: http://www.luxrender.net/release/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: http://www.luxrender.net/release/luxmark/v3.1/luxmark-macos64-v3.1.zip

- Linux 64bit: http://www.luxrender.net/release/luxmark/v3.1/luxmark-linux64-v3.1.tar.bz2

Compile from sources

Some note to compile LuxMark:

- the sources are available here: https://bitbucket.org/luxrender/luxmark (tag: luxmark_v3.1)

- LuxMark can be compiled exactly like LuxRender. 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://bitbucket.org/luxrender/luxmark/downloads (scenes-v3.1beta3.zip file)

LuxMark v3.0

- Windows 64bit: http://www.luxrender.net/release/luxmark/v3.0/luxmark-windows64-v3.0.zip (note: you may have to install VisualStudio 2013 C++ runtime => https://www.microsoft.com/en-US/download/details.aspx?id=40784)

- MacOS 64bit: http://www.luxrender.net/release/luxmark/v3.0/luxmark-macos64-v3.0.zip (not available)

- Linux 64bit: http://www.luxrender.net/release/luxmark/v3.0/luxmark-linux64-v3.0.tar.bz2 (not available)

LuxMark v2.x

LuxMark v2.x is still available here