Skip to content

Commit ad7e7e5

Browse files
committed
2 parents 3ae7762 + da07bcf commit ad7e7e5

File tree

3 files changed

+61
-2
lines changed

3 files changed

+61
-2
lines changed

.github/workflows/msbuild.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# This workflow uses actions that are not certified by GitHub.
2+
# They are provided by a third-party and are governed by
3+
# separate terms of service, privacy policy, and support
4+
# documentation.
5+
6+
name: MSBuild
7+
8+
on:
9+
push:
10+
branches: [ "main" ]
11+
pull_request:
12+
branches: [ "main" ]
13+
14+
env:
15+
# Path to the solution file relative to the root of the project.
16+
SOLUTION_FILE_PATH: .
17+
18+
# Configuration type to build.
19+
# You can convert this to a build matrix if you need coverage of multiple configuration types.
20+
# https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
21+
BUILD_CONFIGURATION: Release
22+
23+
permissions:
24+
contents: read
25+
26+
jobs:
27+
build:
28+
runs-on: windows-latest
29+
30+
steps:
31+
- uses: actions/checkout@v3
32+
33+
- name: Add MSBuild to PATH
34+
uses: microsoft/setup-msbuild@v1.0.2
35+
36+
- name: Restore NuGet packages
37+
working-directory: ${{env.GITHUB_WORKSPACE}}
38+
run: nuget restore ${{env.SOLUTION_FILE_PATH}}
39+
40+
- name: Build
41+
working-directory: ${{env.GITHUB_WORKSPACE}}
42+
# Add additional options to the MSBuild command line here (like platform or verbosity level).
43+
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
44+
run: msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}}

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2024 Herman Semenov
3+
Copyright (c) 2024 Herman Semenov aka [German Semenov, Hermann Semenov, Герман Семенов] <GermanAizek@yandex.ru>
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,19 @@
88

99
- Use only `Release` builded DLL for injection! Performance Debug configuration will spoil NUMAyei scheduler.
1010

11+
## Where did idea come from?
12+
13+
I watched one `Linux Tech Tips` video from YouTube Channel (https://github.com/LTTLabsOSS) and it became funny to me that they tried to compare launch Crysis 2 on server with x4 GPU SLI and did not see difference in fps metrics. But they did not realize that emphasis was on one CPU because game created threads for one processor, and not for both, so FPS did not change whether new 1x GPU or old x4 GPU SLI. Also, most likely game is made only for maximum 2x SLI, but no more, again, I actually have plans to fix this, in theory, I can make hack to unlock SLI scale GPUs. I hope that @nharris-lmg (https://github.com/nharris-lmg) will be able to notify LTT team about this and re-test Crysis 2 on old NUMA server motherboard using this hack. Not to forget to enable NUMA feature in bios!
14+
15+
Moment from video:
16+
17+
![image](https://github.com/GermanAizek/NUMAyei/assets/21138600/b1faa010-9a7f-415c-8cb8-9703170b0f24)
18+
19+
1120
## TODO:
1221
- Hook and rewrite VirtualAlloc to VirtualAllocExNuma for each NUMA node
22+
- Hook any method detect cores and threads
23+
- Hook open process as double-click or context menu right-click for non-PRO users not to run cmd.exe or powershell
1324

1425
## Summary:
1526

@@ -34,4 +45,8 @@ Windows scheduler has to allocate the highest frequency to calculate task faster
3445

3546
Good example below in screenshot using NUMAyei with running binary not NUMA-aware adapting.
3647

37-
![](https://github.com/GermanAizek/NUMAyei/assets/21138600/a9da1ef1-4aff-4fd1-bb10-a359c224f32f)
48+
![NUMA run binary optimization](https://github.com/GermanAizek/NUMAyei/assets/21138600/a9da1ef1-4aff-4fd1-bb10-a359c224f32f)
49+
50+
![NUMA full utilize](https://github.com/GermanAizek/NUMAyei/assets/21138600/c19e3519-8250-4423-94ff-32665b292fd7)
51+
52+
![NUMA Windows full implementation verified bencmark CPU-Z](https://github.com/GermanAizek/NUMAyei/assets/21138600/dee749bc-73ac-4bbf-b183-ee8e0ad861e2)

0 commit comments

Comments
 (0)