Skip to content

Releases: CeeJayDK/sopt

SweetOpt 0.6.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 23:56

SweetOpt 0.6.0

What's new

Web page

  • GPU Blueprint online: the cost models SweetOpt uses, per architecture and per operation, the cards measured and the pixel order pictures, rebuilt automatically as reports come in.
  • Pages at ceejay.dk/sopt/: SweetOpt (what it does, with the faster sign() per architecture), the rewrite library (every verified rewrite with its saving on each architecture), GPU Blueprint (every DirectX 11 architecture, the ones without a cost model yet greyed out) and the TexBench findings (formats x filters, caches, writes, blending, and every card's pixel order pictures).

All downloads

  • Tidy main folder: each zip now has only its launcher (SweetOpt.bat, GPU-Blueprint.bat, run-bench.bat) and its guide (README.html) in the main folder; the programs are in bin, the other pages and the licenses in Docs.
  • SweetOpt has an HTML guide (README.html), replacing QUICKSTART.txt. The bench tools zip no longer includes GPU Blueprint (it has its own download).

SweetOpt (was sopt)

  • New cost model intel-gen7.5 (Intel HD Graphics 4600, Haswell), from a GPU Blueprint report: its math unit (rcp, sqrt, exp2, sin ...) costs about as much as an add, unlike Gen9's ~3x. In the menu as key J.
  • New name: sopt is now SweetOpt, the super sweet shader optimizer. The programs keep their short names sopt-fx and sopt, and variant files keep their SOPT_* switches; the download is SweetOpt-<version>-windows-x64.zip.
  • Menu for Windows: double-click SweetOpt.bat: choose the Shaders folder and what to optimize (folder and file dialogs, no typing of paths), the time per statement and the graphics card family, start, open the results, edit value ranges. It remembers the choices.

GPU Blueprint (was GPU-Bench)

  • New name: GPU-Bench is now GPU Blueprint (GPU-Blueprint.bat, GPU-Blueprint-<version>.zip): it maps out what each part of a graphics card costs. OpBench, TexBench and ShaderInfo keep their names.
  • One batch file: GPU-Blueprint.bat is now the only one, a menu that does it all. New: another graphics card (shows the cards, you type the number). The separate measure / shader-info batch files are gone.
  • Reports folder: everything to send goes to Reports\ (shader dumps to Reports\Shaders\), and after every run a zip named after the cards in it (e.g. Reports-GTX-1660+UHD-630.zip) holds the reports, ready to send.
  • HTML guide: README.html is the hub, with one page per program in Docs\ (what every test measures, how to read the results), replacing the text files.
  • Send the reports: at the end of a run it asks whether to send them (or menu key 9 later, blinking while there are new reports): yes opens CeeJay's upload page (a Dropbox file request, no account needed) and shows the zip, ready to drag onto the page.
  • Key 1 measures every graphics card in the PC (with one card: that card); 2 the main card only, 3 another card.
  • Beep when a run is done, before the "press a key" pause (it used to come after the key press).
  • Results start sooner: OpBench and TexBench compile the shaders in the background, section by section, while the previous section is measured (no compiling pause at the start).
  • Clearer headings: the three ways of measuring are called "Cost, many in parallel", "Cost, one dependent chain" and "Latency, one at a time" (every number is a cost: lower is better).
  • fp32 score on AMD GCN: a new test, fma1 (one fma with a single constant), gives the score its real rate where the reference fma's two constants cost a second instruction (Radeon Vega APUs showed about a third of their fp32 rate).
  • TexBench: "do this, not that" tests: the same result read different ways, to choose between them: a 2 × 2 average as one bilinear read, 4 fetches, 4 point samples or 3 gathers; 2 × 2 texels each on their own as 4 fetches, 4 point samples or 3 gathers; full-screen copies with Sample against Load, and half-size downsamples as one bilinear read against 4 fetches (RGBA8, RGB10A2, RGBA16F, RGBA32F).
  • TexBench: fairer comparisons: trilinear and anisotropic 2x on the same footprints; the cache spread test also in a pixel shader (it follows the pixel order); the blend test's source no longer equals the destination (lerp and min blending looked free on some cards because of it).
  • TexBench is shorter: the formats × filtering table no longer runs the dependent-chain mode (it matched the first mode on every card tested), about 25-30 seconds less.

Downloads

  • SweetOpt-0.6.0-windows-x64.zip / SweetOpt-0.6.0-linux-x64.tar.gz: SweetOpt, the super sweet shader optimizer: sopt-fx (finds cheaper, verified rewrites of the arithmetic in ReShade FX and HLSL pixel shaders, written next to the originals behind preprocessor switches) and sopt (single expressions); on Windows, double-click SweetOpt.bat. Early release: start with README.html inside, and send feedback at https://github.com/CeeJayDK/sopt/issues. Windows needs the VC++ 2015-2022 redistributable (most gaming PCs have it).
  • GPU-Blueprint-0.6.0.zip: measures your graphics card for SweetOpt: OpBench (what math instructions cost), TexBench (texture reads, writes, blending) and ShaderInfo (what the driver reports about compiled shaders), each with a score at the end. Unzip, double-click GPU-Blueprint.bat (a menu); when a run is done it offers to send the reports (README.html inside explains everything).
  • sopt-windows-tools-0.6.0.zip: the benchmark harness that times SweetOpt's variants in ReShade (run-bench.bat, sopt-host, sopt-timer add-on, ReShade64.dll 6.8.0).

Code signing: not signed yet (SignPath application pending); Windows Defender may warn. Check the files against SHA256SUMS.txt.

sopt 0.5.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 01:24
49af2f2

sopt 0.5.0.

  • sopt-0.5.0-windows-x64.zip / sopt-0.5.0-linux-x64.tar.gz: sopt-fx (finds cheaper, verified rewrites of the arithmetic in ReShade FX and HLSL pixel shaders, written next to the originals behind preprocessor switches) and sopt (single expressions). Early release: start with QUICKSTART.txt inside, and send feedback at https://github.com/CeeJayDK/sopt/issues. Windows needs the VC++ 2015-2022 redistributable (most gaming PCs have it).
  • GPU-Bench-0.5.0.zip: measures your graphics card for sopt: OpBench (what math instructions cost), TexBench (texture reads, writes, blending) and ShaderInfo (what the driver reports about compiled shaders), each with a score at the end. Unzip, double-click GPU-Bench.bat (a menu) or measure-main-gpu.bat (or measure-all-gpus.bat with more than one graphics card) and send the files it writes (see README.txt inside).
  • sopt-windows-tools-0.5.0.zip: the benchmark harness (sopt-host, sopt-timer add-on, run-bench.bat, ReShade64.dll 6.8.0), OpBench, TexBench and ShaderInfo, with measure-main-gpu.bat (OpBench, then TexBench) and measure-all-gpus.bat (both, on every GPU in the PC).

Code signing: not signed yet (SignPath application pending); Windows Defender may warn. Check the files against SHA256SUMS.txt.

sopt 0.4.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 20:56
b9ca4b3

sopt 0.4.0.

  • sopt-0.4.0-windows-x64.zip / sopt-0.4.0-linux-x64.tar.gz: sopt-fx (finds cheaper, verified rewrites of the arithmetic in ReShade FX and HLSL pixel shaders, written next to the originals behind preprocessor switches) and sopt (single expressions). Early release: start with QUICKSTART.txt inside, and send feedback at https://github.com/CeeJayDK/sopt/issues. Windows needs the VC++ 2015-2022 redistributable (most gaming PCs have it).
  • OpBench-0.4.0.zip: measures what GPU instructions cost on your graphics card. Unzip, double-click measure-gpu.bat, send the CSV it writes (see README.txt inside).
  • sopt-windows-tools-0.4.0.zip: the benchmark harness (sopt-host, sopt-timer add-on, run-bench.bat, ReShade64.dll 6.8.0) and OpBench.

Code signing: not signed yet (SignPath application pending); Windows Defender may warn. Check the files against SHA256SUMS.txt.

sopt 0.3.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 15:12
669ff9f

Windows tools of sopt 0.3.0.

  • OpBench-0.3.0.zip: measures what GPU instructions cost on your graphics card. Unzip, double-click measure-gpu.bat, send the CSV it writes (see README.txt inside).
  • sopt-windows-tools-0.3.0.zip: the benchmark harness (sopt-host, sopt-timer add-on, run-bench.bat, ReShade64.dll 6.8.0) and OpBench.

Code signing: not signed yet (SignPath application pending); Windows Defender may warn. Check the files against SHA256SUMS.txt.

sopt 0.2.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 10:06
a019948

Windows tools of sopt 0.2.0.

  • sopt-opbench-0.2.0.zip: measures what GPU instructions cost on your graphics card. Unzip, double-click measure-gpu.bat, send the CSV it writes (see README.txt inside).
  • sopt-windows-tools-0.2.0.zip: the benchmark harness (sopt-host, sopt-timer add-on, run-bench.bat, ReShade64.dll 6.8.0) and sopt-opbench.

Code signing: not signed yet (SignPath application pending); Windows Defender may warn. Check the files against SHA256SUMS.txt.

sopt 0.1.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 22:55
0ed25e2

Windows tools of sopt 0.1.0.

  • sopt-opbench-0.1.0.zip: measures what GPU instructions cost on your graphics card. Unzip, double-click measure-gpu.bat, send the CSV it writes (see README.txt inside).
  • sopt-windows-tools-0.1.0.zip: the benchmark harness (sopt-host, sopt-timer add-on, run-bench.bat, ReShade64.dll 6.8.0) and sopt-opbench.

Code signing: not signed yet (SignPath application pending); Windows Defender may warn. Check the files against SHA256SUMS.txt.