Skip to content

amitxv/AutoGpuAffinity

Repository files navigation

AutoGpuAffinity

Downloads Buy Me a Coffee

I am not responsible for damage caused to your computer. There is a risk of your GPU driver not responding after restarting it during the tests. A possible fix for this is to set the PCIe link speed to the maximum supported in BIOS (#14).

Usage

AutoGpuAffinity
GitHub - https://github.com/amitxv

usage: AutoGpuAffinity [-h] [--config <config>] [--analyze <csv directory>] [--apply-affinity <cpu>]

optional arguments:
  -h, --help            show this help message and exit
  --config <config>     path to config file
  --analyze <csv directory>
                        analyze csv files from a previous benchmark
  --apply-affinity <cpu>
                        assign a single core affinity to graphics drivers
  • Windows Performance Toolkit from the Windows ADK must be installed for DPC/ISR logging with xperf (this is entirely optional)

  • Maintain overclock settings with MSI Afterburner throughout the benchmark

    • Save the desired settings to a profile (e.g. profile 1)

    • Configure the path along with the profile to load in config.ini

  • Download and extract the latest release from the releases tab

  • Run AutoGpuAffinity through the command-line and press enter when ready to start benchmarking

  • After the tool has benchmarked each core, the GPU affinity will be reset to the Windows default and a table will be displayed with the results. Green values indicate the highest value and yellow indicates the second-highest value for a given metric. The xperf report is located in the session directory

  • Run the tool two or three times. If the same core is consistently performant and no 0.005% Lows values are absurdly low compared to other results, then your results are reproducible and your testing environment is consistent

Analyze Old Sessions

Accidentally exited the program after the results' table was displayed? Don't worry, you can analyze the CSV logs again at any time by passing the folder of CSVs to the --analyze argument (example below).

AutoGpuAffinity --analyze "captures\AutoGpuAffinity-170523162424\CSVs"

Standalone Benchmarking

AutoGpuAffinity can be used as a regular benchmark if custom_cores is set to a single core in config.ini. If you do not usually configure the GPU driver affinity, the array can be set to [0] as the graphics kernel runs on CPU 0 by default. This results in an automated benchmark that is completely independent to benchmarking the GPU driver affinity. Keep in mind that AutoGpuAffinity resets the affinity policy to the default Windows state once the benchmark has ended which is no specified affinity so don't forget to re-configure your affinity policy afterwards again.