mirror of
https://github.com/LTTLabsOSS/markbench-tests.git
synced 2026-01-10 06:28:05 -05:00
Update cinebenchr23 harness (#18)
* Update harness * Update readme * audit blender benchmark * Update cinebenchr23, its deprecated
This commit is contained in:
@@ -5,36 +5,7 @@
|
||||
- Python 3.10+
|
||||
- Cinebench R23 installed in `C:\\CinebenchR23\\Cinebench.exe`
|
||||
|
||||
> Note: Hopefully it will install itself in the future...
|
||||
|
||||
## Setup
|
||||
|
||||
1. Follow the setup instructions for the framework. If you have done so, all required python dependencies *should* be installed.
|
||||
1. Follow the setup instructions for the framework.
|
||||
2. Unzip Cinebench R23 from https://www.maxon.net/en/downloads into `C:\\CinebenchR23\\Cinebench.exe`
|
||||
|
||||
## Configuration
|
||||
|
||||
Below is an example use of this harness as a test in a benchmark configuration.
|
||||
|
||||
```yaml
|
||||
...
|
||||
...
|
||||
tests:
|
||||
name: "cinebenchr23"
|
||||
executable: "cinebench.py"
|
||||
process_name: "Cinebench.exe"
|
||||
output_dir:
|
||||
- "harness/cinebenchr23/run"
|
||||
```
|
||||
|
||||
__name__ : _(required)_ name of the test. This much match the name of a directory in the harness folder so the framework
|
||||
can find the executable and any supplementary files.
|
||||
|
||||
__executable__ : _(required)_ the entry point to the test harness. In this case a python script.
|
||||
|
||||
__process_name__ : _(required)_ The process name that should be the target for FPS recording (ex: PresentMon).
|
||||
|
||||
__output_dir__: _(optional)_ Directory containing files to aggregate copies of after a successful test run. If a directory path is
|
||||
given, the contents are copied.
|
||||
|
||||
|
||||
|
||||
@@ -1,40 +1,35 @@
|
||||
|
||||
from multiprocessing.sharedctypes import Value
|
||||
'''CinebenchR23 test script'''
|
||||
import subprocess
|
||||
import os
|
||||
import logging
|
||||
import re
|
||||
import json
|
||||
from argparse import ArgumentParser
|
||||
import sys
|
||||
|
||||
|
||||
"""
|
||||
Parsin` arguments!
|
||||
"""
|
||||
parser = ArgumentParser()
|
||||
parser.add_argument("-p", "--test", dest="test", help="test", metavar="test", required=True)
|
||||
parser.add_argument("-r", "--minduration", dest="minduration", help="minduration", metavar="minduration", required=False)
|
||||
parser.add_argument("-p", "--test", dest="test",
|
||||
help="test", metavar="test", required=True)
|
||||
parser.add_argument("-r", "--minduration", dest="minduration",
|
||||
help="minduration", metavar="minduration", required=False)
|
||||
args = parser.parse_args()
|
||||
|
||||
"""
|
||||
Setting up some directories and logging what-have-yous
|
||||
"""
|
||||
|
||||
script_dir = os.path.dirname(os.path.realpath(__file__))
|
||||
log_dir = os.path.join(script_dir, "run")
|
||||
if not os.path.isdir(log_dir):
|
||||
os.mkdir(log_dir)
|
||||
logging_format = '%(asctime)s %(levelname)-s %(message)s'
|
||||
LOGGING_FORMAT = '%(asctime)s %(levelname)-s %(message)s'
|
||||
logging.basicConfig(filename=f'{log_dir}/harness.log',
|
||||
format=logging_format,
|
||||
format=LOGGING_FORMAT,
|
||||
datefmt='%m-%d %H:%M',
|
||||
level=logging.DEBUG)
|
||||
console = logging.StreamHandler()
|
||||
formatter = logging.Formatter(logging_format)
|
||||
formatter = logging.Formatter(LOGGING_FORMAT)
|
||||
console.setFormatter(formatter)
|
||||
logging.getLogger('').addHandler(console)
|
||||
|
||||
"""
|
||||
Running cinebench
|
||||
"""
|
||||
# See https://www.maxon.net/en/cinebench-tech-info for CLI options
|
||||
# g_CinebenchCpu1Test=true – runs only the Single Core test procedure
|
||||
# g_CinebenchCpuXTest=true – runs only the Multi Core test procedure
|
||||
@@ -48,31 +43,30 @@ test_options = {
|
||||
}
|
||||
|
||||
if args.test not in test_options:
|
||||
logging.error(f"Unrecognized test: {args.test}")
|
||||
exit(1)
|
||||
logging.error("Unrecognized test %s", args.test)
|
||||
sys.exit(1)
|
||||
|
||||
opts = [test_options[args.test]]
|
||||
|
||||
# isdigit() ensures the value has no decimal as well
|
||||
if args.minduration != None and not args.minduration.isdigit():
|
||||
logging.error(f"Minimum duration must be a whole number: {args.minduration}")
|
||||
exit(1)
|
||||
elif args.minduration != None:
|
||||
if args.minduration is not None and not args.minduration.isdigit():
|
||||
logging.error(
|
||||
"Minimum duration must be a whole number %s", args.minduration)
|
||||
sys.exit(1)
|
||||
elif args.minduration is not None:
|
||||
opts = [*opts, f"g_CinebenchMinimumTestDuration={args.minduration}"]
|
||||
|
||||
logging.info(opts)
|
||||
result = subprocess.run(["C:\\CinebenchR23\\Cinebench.exe", *opts], capture_output=True)
|
||||
result = subprocess.run(
|
||||
["C:\\CinebenchR23\\Cinebench.exe", *opts], capture_output=True, check=False)
|
||||
if result.returncode > 0:
|
||||
logging.error("Cinebench failed to run!")
|
||||
exit(result.returncode)
|
||||
|
||||
"""
|
||||
Parsing the output of the run
|
||||
"""
|
||||
|
||||
f = open(os.path.join(log_dir, "cinebenchlog.txt"), "wb")
|
||||
f.write(result.stdout)
|
||||
f.close
|
||||
with open(os.path.join(log_dir, "cinebenchlog.txt"), "wb") as f:
|
||||
f.write(result.stdout)
|
||||
|
||||
|
||||
scorepattern = re.compile(r"^CB (\d+\.\d+) \(.+\)$")
|
||||
testtitlepattern = re.compile(r"Running (\w+) CPU Render Test\.\.\.")
|
||||
@@ -89,7 +83,7 @@ for line in reversed(output.splitlines()):
|
||||
continue
|
||||
|
||||
if len(scorestack) % 2 > 0:
|
||||
logging.warn("Could not extract scores! Too many results found")
|
||||
logging.warning("Could not extract scores! Too many results found")
|
||||
|
||||
scores = []
|
||||
i = 0
|
||||
@@ -97,11 +91,10 @@ while i < len(scorestack) - 1:
|
||||
scores.append(f"{scorestack[i + 1]}:{scorestack[i]}")
|
||||
i += 2
|
||||
|
||||
result = {
|
||||
report = {
|
||||
"test": args.test,
|
||||
"score": scores
|
||||
}
|
||||
|
||||
f = open(os.path.join(log_dir, "report.json"), "w")
|
||||
f.write(json.dumps(result))
|
||||
f.close()
|
||||
with open(os.path.join(log_dir, "report.json"), "w", encoding="utf-8") as file:
|
||||
f.write(json.dumps(report))
|
||||
|
||||
@@ -1,107 +0,0 @@
|
||||
Application start : 08/15/22 at 16:17:00
|
||||
Executable : 64 Bit
|
||||
Version / Build : 23.200 / RBBenchmark330542
|
||||
Debugger : not available
|
||||
Memory model : release
|
||||
Startup path : file:///C:/CinebenchR23
|
||||
Application path : file:///C:/CinebenchR23/Cinebench.exe
|
||||
Application executable : file:///C:/CinebenchR23/Cinebench.exe
|
||||
Resource path : file:///C:/CinebenchR23/resource
|
||||
Module path(s) : file:///C:/CinebenchR23/corelibs; file:///C:/CinebenchR23/plugins; file:///C:/Users/Nikolas/AppData/Roaming/Maxon/CinebenchR23_0D4B830B/plugins
|
||||
Temporary path : file:///C:/Users/Nikolas/AppData/Local/Temp
|
||||
Prefs path : file:///C:/Users/Nikolas/AppData/Roaming/Maxon/CinebenchR23_0D4B830B
|
||||
Global Prefs path : file:///C:/Users/Nikolas/AppData/Roaming/Maxon
|
||||
OS version : Windows 10, 64 Bit, Professional Edition (build 19044)
|
||||
OS languages : {en-US}
|
||||
App languages : {en-US}
|
||||
Startup language : en-US
|
||||
Processor : 10(16)x 12th Gen Intel Core i5-12600K
|
||||
Computer name : NHARRIS-WS
|
||||
Unique OS identifier : 3E_XVVqMaya_MvdVXrqJ3dLEQrzHO-kzEZ6aSt9qB9g= [tpm]
|
||||
Thread Count : 16
|
||||
CPU Speed (MHz) : 3690.000
|
||||
Application Type : Modular
|
||||
Command line arguments : "g_CinebenchCpuXTest=true"
|
||||
|
||||
Module path file:///C:/CinebenchR23/plugins couldn't be found
|
||||
Loading file:///C:/CinebenchR23/corelibs/asset.module.xdl64 with module(s) net.maxon.asset
|
||||
Loading file:///C:/CinebenchR23/corelibs/c4d_viewport_nodegraph.module.xdl64 with module(s) net.maxon.c4d_viewport_nodegraph
|
||||
Loading file:///C:/CinebenchR23/corelibs/c4dplugin.xdl64 with module(s) net.maxon.rlmlicensing net.maxon.c4d.c4dplugin
|
||||
Loading file:///C:/CinebenchR23/corelibs/command.module.xdl64 with module(s) net.maxon.command
|
||||
Loading file:///C:/CinebenchR23/corelibs/corenodes.module.xdl64 with module(s) net.maxon.corenodes
|
||||
Loading file:///C:/CinebenchR23/corelibs/crashhandler.module.xdl64 with module(s) net.maxon.crashhandler
|
||||
Loading file:///C:/CinebenchR23/corelibs/crypt.module.xdl64 with module(s) net.maxon.crypt
|
||||
Loading file:///C:/CinebenchR23/corelibs/drawport.module.xdl64 with module(s) net.maxon.drawport
|
||||
Loading file:///C:/CinebenchR23/corelibs/drawport_functioncache.module.xdl64 with module(s) net.maxon.drawport_functioncache
|
||||
Loading file:///C:/CinebenchR23/corelibs/drawport_general.module.xdl64 with module(s) net.maxon.drawport_general
|
||||
Loading file:///C:/CinebenchR23/corelibs/drawport_opengl.module.xdl64 with module(s) net.maxon.drawport_opengl
|
||||
Loading file:///C:/CinebenchR23/corelibs/drawport_selector.module.xdl64 with module(s) net.maxon.drawport_selector
|
||||
Loading file:///C:/CinebenchR23/corelibs/embree.module.xdl64 with module(s) net.maxon.embree
|
||||
Loading file:///C:/CinebenchR23/corelibs/geom.module.xdl64 with module(s) net.maxon.geom
|
||||
Loading file:///C:/CinebenchR23/corelibs/geometry_abstraction.module.xdl64 with module(s) net.maxon.geometry_abstraction
|
||||
Loading file:///C:/CinebenchR23/corelibs/gui.module.xdl64 with module(s) net.maxon.gui
|
||||
Loading file:///C:/CinebenchR23/corelibs/image.module.xdl64 with module(s) net.maxon.image
|
||||
Loading file:///C:/CinebenchR23/corelibs/image_winmf.module.xdl64 with module(s) net.maxon.image_winmf
|
||||
Loading file:///C:/CinebenchR23/corelibs/licensing.module.xdl64 with module(s) net.maxon.licensing
|
||||
Loading file:///C:/CinebenchR23/corelibs/math.module.xdl64 with module(s) net.maxon.math
|
||||
Loading file:///C:/CinebenchR23/corelibs/mesh.module.xdl64 with module(s) net.maxon.mesh
|
||||
Loading file:///C:/CinebenchR23/corelibs/misc.module.xdl64 with module(s) net.maxon.misc
|
||||
Loading file:///C:/CinebenchR23/corelibs/mvp_base_presenter.module.xdl64 with module(s) net.maxon.mvp_base_presenter
|
||||
Loading file:///C:/CinebenchR23/corelibs/mvp_base_view.module.xdl64 with module(s) net.maxon.mvp_base_view
|
||||
Loading file:///C:/CinebenchR23/corelibs/mvp_desktop2d_nodegraph_widgets.module.xdl64 with module(s) net.maxon.mvp_desktop2d_nodegraph_widgets
|
||||
Loading file:///C:/CinebenchR23/corelibs/mvp_desktop2d_widgets.module.xdl64 with module(s) net.maxon.mvp_desktop2d_widgets
|
||||
Loading file:///C:/CinebenchR23/corelibs/mvp_nodegraph_presenters.module.xdl64 with module(s) net.maxon.mvp_nodegraph_presenters
|
||||
Loading file:///C:/CinebenchR23/corelibs/mvp_nodes_presenters.module.xdl64 with module(s) net.maxon.mvp_nodes_presenters
|
||||
Loading file:///C:/CinebenchR23/corelibs/network.module.xdl64 with module(s) net.maxon.network
|
||||
Loading file:///C:/CinebenchR23/corelibs/neutron.module.xdl64 with module(s) net.maxon.neutron
|
||||
Loading file:///C:/CinebenchR23/corelibs/nodes.module.xdl64 with module(s) net.maxon.nodes
|
||||
Loading file:///C:/CinebenchR23/corelibs/nodes_corenodes.module.xdl64 with module(s) net.maxon.nodes_corenodes
|
||||
Loading file:///C:/CinebenchR23/corelibs/opensubdiv.module.xdl64 with module(s) net.maxon.opensubdiv
|
||||
Loading file:///C:/CinebenchR23/corelibs/render.module.xdl64 with module(s) net.maxon.render
|
||||
Loading file:///C:/CinebenchR23/corelibs/retargetbase.module.xdl64 with module(s) net.maxon.retargetbase
|
||||
Loading file:///C:/CinebenchR23/corelibs/shaderbase.module.xdl64 with module(s) net.maxon.shaderbase
|
||||
Loading file:///C:/CinebenchR23/corelibs/shadernodes.module.xdl64 with module(s) net.maxon.shadernodes
|
||||
Loading file:///C:/CinebenchR23/corelibs/svg.module.xdl64 with module(s) net.maxon.svg
|
||||
Loading file:///C:/CinebenchR23/corelibs/tessellation.module.xdl64 with module(s) net.maxon.tessellation
|
||||
Loading file:///C:/CinebenchR23/corelibs/advanced_render.xdl64 with module(s) net.maxon.c4d.advanced_render
|
||||
Loading file:///C:/CinebenchR23/corelibs/c4d_viewport_render.xdl64 with module(s) net.maxon.c4d.c4d_viewport_render
|
||||
Loading file:///C:/CinebenchR23/corelibs/ca.xdl64 with module(s) net.maxon.c4d.ca
|
||||
Loading file:///C:/CinebenchR23/corelibs/ca2.xdl64 with module(s) net.maxon.c4d.ca2
|
||||
Loading file:///C:/CinebenchR23/corelibs/cinebench.xdl64 with module(s) net.maxon.c4d.cinebench
|
||||
Loading file:///C:/CinebenchR23/corelibs/clothilde.xdl64 with module(s) net.maxon.c4d.clothilde
|
||||
Loading file:///C:/CinebenchR23/corelibs/colorchoosergui.xdl64 with module(s) net.maxon.c4d.colorchoosergui
|
||||
Loading file:///C:/CinebenchR23/corelibs/compositing.xdl64 with module(s) net.maxon.c4d.compositing
|
||||
Loading file:///C:/CinebenchR23/corelibs/exchanges.xdl64 with module(s) net.maxon.c4d.exchanges
|
||||
Loading file:///C:/CinebenchR23/corelibs/expressiontag.xdl64 with module(s) net.maxon.c4d.expressiontag
|
||||
Loading file:///C:/CinebenchR23/corelibs/hair.xdl64 with module(s) net.maxon.c4d.hair
|
||||
Loading file:///C:/CinebenchR23/corelibs/interop.xdl64 with module(s) net.maxon.c4d.interop
|
||||
Loading file:///C:/CinebenchR23/corelibs/mkmodeler.xdl64 with module(s) net.maxon.c4d.mkmodeler
|
||||
Loading file:///C:/CinebenchR23/corelibs/mocca.xdl64 with module(s) net.maxon.c4d.mocca
|
||||
Loading file:///C:/CinebenchR23/corelibs/model.xdl64 with module(s) net.maxon.c4d.model
|
||||
Loading file:///C:/CinebenchR23/corelibs/mograph.xdl64 with module(s) net.maxon.c4d.mograph
|
||||
Loading file:///C:/CinebenchR23/corelibs/nbo.xdl64 with module(s) net.maxon.c4d.nbo
|
||||
Loading file:///C:/CinebenchR23/corelibs/nbp.xdl64 with module(s) net.maxon.c4d.nbp
|
||||
Loading file:///C:/CinebenchR23/corelibs/newman.xdl64 with module(s) net.maxon.c4d.newman
|
||||
Loading file:///C:/CinebenchR23/corelibs/nodeeditor.xdl64 with module(s) net.maxon.c4d.nodeeditor
|
||||
Loading file:///C:/CinebenchR23/corelibs/objects.xdl64 with module(s) net.maxon.c4d.objects
|
||||
Loading file:///C:/CinebenchR23/corelibs/shader.xdl64 with module(s) net.maxon.c4d.shader
|
||||
Loading file:///C:/CinebenchR23/corelibs/sky.xdl64 with module(s) net.maxon.c4d.sky
|
||||
Loading file:///C:/CinebenchR23/corelibs/sla.xdl64 with module(s) net.maxon.c4d.sla
|
||||
Loading file:///C:/CinebenchR23/corelibs/xpressocore.xdl64 with module(s) net.maxon.c4d.xpressocore
|
||||
Loading file:///C:/CinebenchR23/corelibs/xtensions.xdl64 with module(s) net.maxon.c4d.xtensions
|
||||
CINEBENCH started
|
||||
Drawport API initialized
|
||||
Framework : OpenGL
|
||||
Vendor : NVIDIA Corporation (NVIDIA)
|
||||
Renderer : NVIDIA GeForce RTX 3050/PCIe/SSE2
|
||||
Framework version: 4.6.0 NVIDIA 516.59
|
||||
Driver version : 516.59
|
||||
CINEBENCH AUTORUN
|
||||
Please wait until all tests are done!
|
||||
|
||||
Running Multiple CPU Render Test...
|
||||
Minimum test duration: 0.0 ns seconds.
|
||||
Rendering...
|
||||
Values: {17104.808} -> Avg/Deviation: 17104.808/0.000
|
||||
CB 17104.81 (0.00)
|
||||
|
||||
Reference in New Issue
Block a user