3.1 / December 13, 2020-->
|License||GNU General Public License|
LuxMark is a free open source OpenCL benchmark application used by AMD to promote their Radeon VII graphics cards. The benchmark can be ran using either the Mesa Clover OpenCL 1.1 implementation or the AMD ROCm OpenCL 2.0 driver. LuxMark runs but fails to produce a valid image when Mesa Clover is used and it fails to produce a valid image using the AMD ROCm driver if one of the enabled-by-default optimizations is enabled. It can be used to get a valid image with a valid score indicating AMD ROCm performance on GNU/Linux by disabling that one optimization option.
Luksmark 3.1 has three OpenCL scenes it can benchmark:
- "Hotel Lobby" (
HOTEL) with 4973 thousand triangles
- "Neumann TLM" (
MICROPHONE) 102 SE with 1769 thousand triangles
- "Luxball HDR" (
LUXBALL_HDR) with 217 thousand triangles
Features And Usability
LuxMark launches into a simple GUI and immediately starts running a benchmark with the default options when you launch it. Thus, the first thing you should do when you start it is to select
./luxmark --mode=PAUSE to prevent it from starting a benchmark the moment you launch it.
LuxMark has three different scenes available in the Radeon Open Compute OpenCL stack.menu. The menu lets you choose if you want to render using just the GPU or just the CPU or both. Several optimization options can be enabled or disabled under . The default options cause a utter failure and a garbled image when using the AMD
LuxMark presents a simple score when a scene has been rendered and a short informative message telling you if the image failed or passed validation. Validation does matter, the Mesa Clover OpenCL 1.1 implementation does work with LuxMark and it gets a higher score than the AMD ROCm on the same GPU - but Mesa Clover does not pass validation no matter what optimization settings you use so it doesn't really matter what "score" it gets: The score is in reality zero when it fails to produce a valid result.
LuxMark supports a command-line benchmark mode. The options for this mode are
--ext-info. You can run it like
./luxmark --scene=LUXBALL_HDR --mode=BENCHMARK_OCL_GPU --single-run ./luxmark --scene=HOTEL --mode=BENCHMARK_OCL_GPU --single-run ./luxmark --scene=MICROPHONE --mode=BENCHMARK_OCL_GPU --single-run
One huge problem with this automated benchmark-mode is that there's no command-line switch for disabling the "optimizations" and since one of them break it when AMD ROCm is used.. it's useless. A work-around is to start the program and run benchmarks manually.
Optimization Failures & Other Failures
Mesa Clover produces a invalid image no matter what settings you use.
Luksmark 3.1 fails to render any of the scenes correctly with the Mesa Clover OpenCL 1.1 implementation no matter what options you select. It does run all the benchmarks, but it doesn't really matter when it fails validation.
Luksmark fails to render any scene correctly using the AMD Radeon Open Compute OpenCL stack if ▸ is enabled. It does render something with this option enabled, but the result fails validation. , , and can all be enabled with AMD ROCm. They don't actually help, but it's safe to have them enabled. Luksmark defaults to enabling all of them, including which breaks it and causes a garbled image to be rendered.
|AMD ROCm 3.8, MSI Radeon RX 470|
"Nothing happened to OpenCL... LuxMark has always been a terribly picky benchmark.... and frankly not worth looking at. The whole point of ROCm is an OpenCL ecosystem, HIP and hipSYCL are built on top of that infrastructure."
We are not sure if that's why AMD used it to promote the Radeon VII when AMD launched that graphics card.
Verdict And Conclusion
LuxMark is a nice and simple OpenCL benchmarking program you can use to check your OpenCL performance as long as you don't use the Mesa Clover OpenCL stack and you make sure to disable ▸ if you use AMD ROCm.
The LuxMark website is at luxmark.info