blender-benchmark-bundle.git
7 months agoPrevent crash when generating JSONString master
Francesco Siddi [Thu, 6 Sep 2018 13:51:36 +0000 (15:51 +0200)]
Prevent crash when generating JSONString

The issue is discussed in rBBB4726ee0c9c05

7 months agoUpdate README.md
Francesco Siddi [Tue, 4 Sep 2018 21:50:06 +0000 (23:50 +0200)]
Update README.md

Add note about downloading Blender scenes from SVN.

7 months agoUpdate README.md
Francesco Siddi [Mon, 3 Sep 2018 14:55:52 +0000 (16:55 +0200)]
Update README.md

Add info about CLI usage.

7 months agoProduce benchmark JSON schema v2
Sybren A. Stüvel [Tue, 28 Aug 2018 10:11:01 +0000 (12:11 +0200)]
Produce benchmark JSON schema v2

- No more '(Display)' strings in the GPU names, but store devices as
  `{'name': name, 'type': 'CPU/CUDA/OPENCL', 'is_display': bool}`
- Introduces testing with py.test & pipenv. The test suite is far from
  complete, though.

8 months agoGit: fetch before checkout'ing a branch
Sybren A. Stüvel [Fri, 17 Aug 2018 10:55:37 +0000 (12:55 +0200)]
Git: fetch before checkout'ing a branch

8 months agoActually call bundle.sh from bundle.bat
Sybren A. Stüvel [Fri, 17 Aug 2018 10:52:37 +0000 (12:52 +0200)]
Actually call bundle.sh from bundle.bat

…instead of bundle-linux.sh that no longer exists

8 months agoAdd README.md
Francesco Siddi [Fri, 17 Aug 2018 10:41:53 +0000 (12:41 +0200)]
Add README.md

8 months agoBenchmark submodule checkout after libs update
Francesco Siddi [Fri, 17 Aug 2018 10:16:59 +0000 (12:16 +0200)]
Benchmark submodule checkout after libs update

Otherwise on Darwin make update will switch it
back to master.

8 months agoRename bundle-linux.sh and bundle-windows.bat → bundle.{sh,bat}
Sybren A. Stüvel [Fri, 17 Aug 2018 09:52:10 +0000 (11:52 +0200)]
Rename bundle-linux.sh and bundle-windows.bat → bundle.{sh,bat}

The shell script is also used by macOS and Windows builds, so calling it
'linux' is a bit silly.

8 months agoBlender's benchmark submodule should be on the correct branch
Sybren A. Stüvel [Fri, 17 Aug 2018 09:50:40 +0000 (11:50 +0200)]
Blender's benchmark submodule should be on the correct branch

This forces the release/scripts/benchmark submodule to be on the same
branch as the working directory of the bundle script (usually release-xxx).

8 months agoBumped version to 1.0b3.dev0
Sybren A. Stüvel [Fri, 17 Aug 2018 09:13:40 +0000 (11:13 +0200)]
Bumped version to 1.0b3.dev0

8 months agoUpdated setup.cfg
Sybren A. Stüvel [Thu, 16 Aug 2018 15:24:13 +0000 (17:24 +0200)]
Updated setup.cfg

The `pep8` command was complaining that `pycodestyle` is the new `pep8`
when it comes to config section names.

8 months agoFixed bug in peak memory stats + added unit test
Sybren A. Stüvel [Thu, 16 Aug 2018 15:23:47 +0000 (17:23 +0200)]
Fixed bug in peak memory stats + added unit test

8 months agoCleanup of stats regexps
Sybren A. Stüvel [Thu, 16 Aug 2018 15:23:25 +0000 (17:23 +0200)]
Cleanup of stats regexps

8 months agoFix T56314: wrong operating system records for Ubuntu
Sybren A. Stüvel [Thu, 16 Aug 2018 13:56:08 +0000 (15:56 +0200)]
Fix T56314: wrong operating system records for Ubuntu

We now bundle `distro` to find Linux distribution info. Its source is
https://github.com/nir0s/distro

8 months agoIgnore bundled files
Sybren A. Stüvel [Thu, 16 Aug 2018 13:38:46 +0000 (15:38 +0200)]
Ignore bundled files

8 months agoBundle script: stop when there is an error
Sybren A. Stüvel [Thu, 16 Aug 2018 13:38:00 +0000 (15:38 +0200)]
Bundle script: stop when there is an error

8 months agoBlender branch changed temp-benchmark → benchmark
Sybren A. Stüvel [Thu, 16 Aug 2018 13:37:51 +0000 (15:37 +0200)]
Blender branch changed temp-benchmark → benchmark

8 months agoInclude Benchmark Client version information in the result JSON
Sybren A. Stüvel [Thu, 16 Aug 2018 12:43:29 +0000 (14:43 +0200)]
Include Benchmark Client version information in the result JSON

This part of the JSON schema isn't required yet. When missing, the version
is assumed to be -∞

8 months agoAccidentally bumped the version nr, back to 1.0b2.dev0
Sybren A. Stüvel [Thu, 16 Aug 2018 08:40:42 +0000 (10:40 +0200)]
Accidentally bumped the version nr, back to 1.0b2.dev0

8 months agoScripted version bump + release branch creation
Sybren A. Stüvel [Wed, 15 Aug 2018 16:24:43 +0000 (18:24 +0200)]
Scripted version bump + release branch creation

8 months agoPass hostname to auth token request
Sybren A. Stüvel [Wed, 15 Aug 2018 11:06:45 +0000 (13:06 +0200)]
Pass hostname to auth token request

Related to T56381

8 months agoInclude current time in error report
Sybren A. Stüvel [Tue, 14 Aug 2018 15:27:53 +0000 (17:27 +0200)]
Include current time in error report

8 months agoInclude version in HTTP User-Agent header
Sybren A. Stüvel [Tue, 14 Aug 2018 15:20:13 +0000 (17:20 +0200)]
Include version in HTTP User-Agent header

This allows us to check on the server side whether the user is still using
an up-to-date benchmark client or not.

8 months agoAllow users to save an error report
Sybren A. Stüvel [Tue, 14 Aug 2018 15:15:54 +0000 (17:15 +0200)]
Allow users to save an error report

8 months agoLogging fixes
Sybren A. Stüvel [Tue, 14 Aug 2018 15:15:41 +0000 (17:15 +0200)]
Logging fixes

8 months agoStore version number of the benchmark client in a separate python file
Sybren A. Stüvel [Tue, 14 Aug 2018 15:15:36 +0000 (17:15 +0200)]
Store version number of the benchmark client in a separate python file

8 months agoMoved setup.cfg to the correct place
Sybren A. Stüvel [Tue, 14 Aug 2018 14:47:00 +0000 (16:47 +0200)]
Moved setup.cfg to the correct place

8 months agoRun submission in a separate thread, and more explicit state
Sybren A. Stüvel [Tue, 14 Aug 2018 14:36:43 +0000 (16:36 +0200)]
Run submission in a separate thread, and more explicit state

Also more explicit timeouts and an overall better handling of errors.

8 months agoBetter handling of HTTP connection errors during submission
Sybren A. Stüvel [Tue, 14 Aug 2018 13:38:46 +0000 (15:38 +0200)]
Better handling of HTTP connection errors during submission

8 months agoRemove unused variable
Sybren A. Stüvel [Tue, 14 Aug 2018 13:38:25 +0000 (15:38 +0200)]
Remove unused variable

8 months agoWordwrap: prevent infinite loop + cache result
Sybren A. Stüvel [Tue, 14 Aug 2018 13:37:15 +0000 (15:37 +0200)]
Wordwrap: prevent infinite loop + cache result

Previously a line that was too long but didn't contain spaces would cause
an infinite loop and hang Blender. Now we just hard-break each line when
there are no spaces to be found.

The result of word_wrap() is now also cached, so that redraws are more
efficient.

8 months agoFix T56372: Properly show error messages when submission fails
Sybren A. Stüvel [Tue, 14 Aug 2018 13:05:37 +0000 (15:05 +0200)]
Fix T56372: Properly show error messages when submission fails

This also introduces a word-wrapping function that takes variable character
widths into account.

8 months agoMoved some drawing code into separate functions
Sybren A. Stüvel [Tue, 14 Aug 2018 11:55:01 +0000 (13:55 +0200)]
Moved some drawing code into separate functions

8 months agoDefault global state variables to the correct type
Sybren A. Stüvel [Tue, 14 Aug 2018 11:48:53 +0000 (13:48 +0200)]
Default global state variables to the correct type

Code gets easier to understand if variables don't change their type.

8 months agoMore protection with `G.progress_lock`
Sybren A. Stüvel [Tue, 14 Aug 2018 11:48:07 +0000 (13:48 +0200)]
More protection with `G.progress_lock`

8 months agoProtect setting `G.result_dict` with `G.progress_lock`
Sybren A. Stüvel [Tue, 14 Aug 2018 11:44:07 +0000 (13:44 +0200)]
Protect setting `G.result_dict` with `G.progress_lock`

8 months agoUse context manager for handling G.progress_lock
Sybren A. Stüvel [Tue, 14 Aug 2018 11:43:29 +0000 (13:43 +0200)]
Use context manager for handling G.progress_lock

Manually calling `G.progress_lock.release()` is error-prone as it's not
called when an exception is raised while the lock is acquired.

8 months agoSeparated `space/__init__.py` into a few modules
Sybren A. Stüvel [Tue, 14 Aug 2018 11:37:53 +0000 (13:37 +0200)]
Separated `space/__init__.py` into a few modules

- `draw.py` contains all the drawing code
- `global_state.py` contains the `G` class introduced in the previous commit.

8 months agoFormatting
Sybren A. Stüvel [Tue, 14 Aug 2018 11:34:20 +0000 (13:34 +0200)]
Formatting

8 months agoMoved global state into a class G
Sybren A. Stüvel [Tue, 14 Aug 2018 11:33:56 +0000 (13:33 +0200)]
Moved global state into a class G

This allows other modules to do `from benchmark.space import G` and use
the global state too. This is possible because the name `G` keeps
referencing the same object (a class) even when resetting (contrary to
the old `global_xxx = None`, which assigns a new object reference).

8 months agoRemoved unused imports
Sybren A. Stüvel [Tue, 14 Aug 2018 10:17:39 +0000 (12:17 +0200)]
Removed unused imports

8 months agoFormatting according to PEP-8 using `autopep8`
Sybren A. Stüvel [Tue, 14 Aug 2018 10:14:54 +0000 (12:14 +0200)]
Formatting according to PEP-8 using `autopep8`

I've added a `setup.cfg` file with `[pep8]` section to make it use the
120-char line length limit we have for all Blender/Python scripts.

8 months agoPEP8: import of built-in modules at the top of the file
Sybren A. Stüvel [Tue, 14 Aug 2018 10:07:26 +0000 (12:07 +0200)]
PEP8: import of built-in modules at the top of the file

This also prevents double import of `sys` and `os`.

8 months agoRemove debug only code
Sergey Sharybin [Fri, 10 Aug 2018 18:18:29 +0000 (20:18 +0200)]
Remove debug only code

8 months agoMake sure Blender's build date is always in expected format
Sergey Sharybin [Fri, 10 Aug 2018 18:15:50 +0000 (20:15 +0200)]
Make sure Blender's build date is always in expected format

8 months agoEnsure CPU topology information is integers on all platforms
Sergey Sharybin [Fri, 10 Aug 2018 17:48:18 +0000 (19:48 +0200)]
Ensure CPU topology information is integers on all platforms

On Windows it was a string, go figure.

8 months agoAdd device index to OpenCL devices
Sergey Sharybin [Fri, 10 Aug 2018 12:38:11 +0000 (14:38 +0200)]
Add device index to OpenCL devices

8 months agoAllow sharing only once
Sergey Sharybin [Fri, 10 Aug 2018 12:14:14 +0000 (14:14 +0200)]
Allow sharing only once

8 months agoInterface tweaks
Sergey Sharybin [Fri, 10 Aug 2018 10:29:59 +0000 (12:29 +0200)]
Interface tweaks

8 months agoProfessional styling of 'auth token received' HTML page
Sybren A. Stüvel [Fri, 10 Aug 2018 09:55:51 +0000 (11:55 +0200)]
Professional styling of 'auth token received' HTML page

8 months agoMake version to be Beta
Sergey Sharybin [Fri, 10 Aug 2018 08:48:11 +0000 (10:48 +0200)]
Make version to be Beta

8 months agoMake final blurb more final
Sergey Sharybin [Fri, 10 Aug 2018 08:46:15 +0000 (10:46 +0200)]
Make final blurb more final

8 months agoWrap GPU names into multiple lines
Sergey Sharybin [Fri, 10 Aug 2018 08:43:29 +0000 (10:43 +0200)]
Wrap GPU names into multiple lines

8 months agoMoved submission module into benchmark module
Sybren A. Stüvel [Fri, 10 Aug 2018 08:35:05 +0000 (10:35 +0200)]
Moved submission module into benchmark module

8 months agoImplement requesting device by index
Sergey Sharybin [Fri, 10 Aug 2018 08:21:04 +0000 (10:21 +0200)]
Implement requesting device by index

For now main goal is to be able to request specific Vega card.
In the longer term we can use this to select compute device
which is a non-display, or the one which is on specific PCI
slot or so.

8 months agoDon't check return code of calling cl_query
Sybren A. Stüvel [Thu, 9 Aug 2018 16:17:09 +0000 (18:17 +0200)]
Don't check return code of calling cl_query

8 months agoChange benchmark result 'stats' key to 'scenes' with different content
Sybren A. Stüvel [Thu, 9 Aug 2018 15:31:44 +0000 (17:31 +0200)]
Change benchmark result 'stats' key to 'scenes' with different content

Old:
   'stats': [
        {'scene_name': 'somescene', 'otherstat': 123}
    ]
New:
   'scenes': [
        {'name': 'somescene', stats: {'otherstat': 123}}
    ]

8 months agoSubmission client: log status code & text when submission is bad
Sybren A. Stüvel [Thu, 9 Aug 2018 15:29:52 +0000 (17:29 +0200)]
Submission client: log status code & text when submission is bad

8 months agoSubmission of benchmark data to mydata.blender.org
Sybren A. Stüvel [Thu, 9 Aug 2018 15:09:21 +0000 (17:09 +0200)]
Submission of benchmark data to mydata.blender.org

8 months agoBenchmark: Report proper Vega device in json
Sergey Sharybin [Thu, 9 Aug 2018 15:51:31 +0000 (17:51 +0200)]
Benchmark: Report proper Vega device in json

8 months agoBenchmark: Workaround to show proper Vega card
Sergey Sharybin [Thu, 9 Aug 2018 15:21:50 +0000 (17:21 +0200)]
Benchmark: Workaround to show proper Vega card

8 months agoAttempt to deal with partially initialized checkouts
Sergey Sharybin [Wed, 8 Aug 2018 15:23:50 +0000 (17:23 +0200)]
Attempt to deal with partially initialized checkouts

8 months agoBundle: Implement ZIP creation on Windows
Sergey Sharybin [Wed, 8 Aug 2018 13:14:41 +0000 (15:14 +0200)]
Bundle: Implement ZIP creation on Windows

8 months agoMention GPU memory required to finish the full benchmark
Sergey Sharybin [Wed, 8 Aug 2018 10:21:15 +0000 (12:21 +0200)]
Mention GPU memory required to finish the full benchmark

8 months agoUse better framed picture when available
Sergey Sharybin [Wed, 8 Aug 2018 10:05:07 +0000 (12:05 +0200)]
Use better framed picture when available

8 months agoBenchmark: tweak opendata link to be centered correctly.
Brecht Van Lommel [Wed, 8 Aug 2018 09:55:29 +0000 (11:55 +0200)]
Benchmark: tweak opendata link to be centered correctly.

8 months agoReport more uniform progress when rendering on GPU
Sergey Sharybin [Wed, 8 Aug 2018 09:24:29 +0000 (11:24 +0200)]
Report more uniform progress when rendering on GPU

8 months agoKeep buttons alignment when device selector is not visible
Sergey Sharybin [Wed, 8 Aug 2018 08:42:24 +0000 (10:42 +0200)]
Keep buttons alignment when device selector is not visible

8 months agoUse buttons opf default color in file browser
Sergey Sharybin [Wed, 8 Aug 2018 08:33:06 +0000 (10:33 +0200)]
Use buttons opf default color in file browser

8 months agoUse blender logo size which is safer for downscale
Sergey Sharybin [Tue, 7 Aug 2018 21:58:39 +0000 (23:58 +0200)]
Use blender logo size which is safer for downscale

8 months agoBundler: add macOS code signing and .dmg + .zip packing.
Brecht Van Lommel [Tue, 7 Aug 2018 20:24:04 +0000 (22:24 +0200)]
Bundler: add macOS code signing and .dmg + .zip packing.

8 months agoBundle: Support ImageMagic on Windows
Sergey Sharybin [Tue, 7 Aug 2018 20:22:53 +0000 (22:22 +0200)]
Bundle: Support ImageMagic on Windows

8 months agoBundle: Better approach for previous commit
Sergey Sharybin [Tue, 7 Aug 2018 20:16:37 +0000 (22:16 +0200)]
Bundle: Better approach for previous commit

Saves some submodule checkout, which is especially slow
on WIndows for some reason.

8 months agoBundle: Initialize submodules after checkout to branch
Sergey Sharybin [Tue, 7 Aug 2018 20:12:06 +0000 (22:12 +0200)]
Bundle: Initialize submodules after checkout to branch

Ensures we've got benchmark submodule initialized.

8 months agoBundle: Unpack blender release archive
Sergey Sharybin [Tue, 7 Aug 2018 20:05:39 +0000 (22:05 +0200)]
Bundle: Unpack blender release archive

8 months agoBundle: Run install target on windows
Sergey Sharybin [Tue, 7 Aug 2018 19:53:55 +0000 (21:53 +0200)]
Bundle: Run install target on windows

8 months agoBundle: Pass compilation step on Windows
Sergey Sharybin [Tue, 7 Aug 2018 18:17:40 +0000 (20:17 +0200)]
Bundle: Pass compilation step on Windows

8 months agoBenchmark: use link button drawing in UI.
Brecht Van Lommel [Tue, 7 Aug 2018 18:09:04 +0000 (20:09 +0200)]
Benchmark: use link button drawing in UI.

8 months agoBundle: Tweaks to detect MSbuild rather than make
Sergey Sharybin [Tue, 7 Aug 2018 16:49:15 +0000 (18:49 +0200)]
Bundle: Tweaks to detect MSbuild rather than make

8 months agoBundle: Tweaks to bootstrap bunlder
Sergey Sharybin [Tue, 7 Aug 2018 16:44:31 +0000 (18:44 +0200)]
Bundle: Tweaks to bootstrap bunlder

It seems running vcvarsall from inside Git bash
does not make proper change in the environment.

Workaround is to have separate script, which
sets environment up and calls bash scripts.

8 months agoFix for previous commit
Sergey Sharybin [Tue, 7 Aug 2018 16:21:18 +0000 (18:21 +0200)]
Fix for previous commit

8 months agoMake bitness to be detected on Windows
Sergey Sharybin [Tue, 7 Aug 2018 16:18:19 +0000 (18:18 +0200)]
Make bitness to be detected on Windows

Required to run script from Git bash. MSVC_ARCH is to
be provided by either configuration or environment.

8 months agoBundler: fixes for macOS.
Brecht Van Lommel [Tue, 7 Aug 2018 16:17:04 +0000 (18:17 +0200)]
Bundler: fixes for macOS.

8 months agoBundler: initial port to macOS.
Brecht Van Lommel [Tue, 7 Aug 2018 16:00:23 +0000 (18:00 +0200)]
Bundler: initial port to macOS.

8 months agoExit script if compilation failed
Sergey Sharybin [Tue, 7 Aug 2018 15:44:48 +0000 (17:44 +0200)]
Exit script if compilation failed

8 months agoReport packign state
Sergey Sharybin [Tue, 7 Aug 2018 15:15:30 +0000 (17:15 +0200)]
Report packign state

8 months agoAllow build environment to tweak cmake flags
Sergey Sharybin [Tue, 7 Aug 2018 15:13:55 +0000 (17:13 +0200)]
Allow build environment to tweak cmake flags

8 months agoTweak tile size on GPU
Sergey Sharybin [Tue, 7 Aug 2018 15:07:44 +0000 (17:07 +0200)]
Tweak tile size on GPU

8 months agoDon't use victor scene
Sergey Sharybin [Tue, 7 Aug 2018 14:59:13 +0000 (16:59 +0200)]
Don't use victor scene

It is quite resource-heavy, likely to run out of resources
on lots of machines.

8 months agoArchive the result bundle
Sergey Sharybin [Tue, 7 Aug 2018 14:40:37 +0000 (16:40 +0200)]
Archive the result bundle

8 months agoBundler: ADownload blender from internet and package it
Sergey Sharybin [Tue, 7 Aug 2018 13:29:26 +0000 (15:29 +0200)]
Bundler: ADownload blender from internet and package it

8 months agoInitial work on bundling script
Sergey Sharybin [Tue, 7 Aug 2018 13:07:04 +0000 (15:07 +0200)]
Initial work on bundling script

Not finished, but has something workign already.

8 months agoFurther tweaks to blender logo
Sergey Sharybin [Tue, 7 Aug 2018 10:09:45 +0000 (12:09 +0200)]
Further tweaks to blender logo

8 months agoDraw shadow under the text
Sergey Sharybin [Tue, 7 Aug 2018 09:48:23 +0000 (11:48 +0200)]
Draw shadow under the text

8 months agoUpdate images to be moar final
Sergey Sharybin [Tue, 7 Aug 2018 09:43:08 +0000 (11:43 +0200)]
Update images to be moar final

8 months agoAdd placeholder texts
Sergey Sharybin [Tue, 7 Aug 2018 09:36:39 +0000 (11:36 +0200)]
Add placeholder texts

Will make it easier to tweak once final text is ready.

8 months agoTweak wording in the interface, hopefulyl to make it more obvious
Sergey Sharybin [Tue, 7 Aug 2018 09:11:48 +0000 (11:11 +0200)]
Tweak wording in the interface, hopefulyl to make it more obvious

8 months agoSend SIGINT once
Sergey Sharybin [Tue, 7 Aug 2018 08:10:48 +0000 (10:10 +0200)]
Send SIGINT once

This is enough (somehow) to abort rendering. With signal sent
twice Blender wil lsave crash report, which is not what we want.

8 months agoFixed bad alignment of device selection
Sergey Sharybin [Tue, 7 Aug 2018 08:04:15 +0000 (10:04 +0200)]
Fixed bad alignment of device selection