CPU Set Setter: parking the other CCD without parking your background apps
Make your games and apps run on the right CPU cores - for smoother performance on AMD Dual-CCD and Intel Hybrid processors.
At a glance
- What is it?
- CPU Set Setter is a free Windows utility that restricts a process to a chosen set of CPU cores, which lets you keep a game on one CCD of an AMD dual-CCD chip or on the P-cores of an Intel hybrid part without pushing every background process onto the same cores. It uses Windows CPU Sets rather than affinity masks, and the difference in stability is the reason to prefer it.
- Who is it for?
- CPU Set Setter is worth trying on a dual-CCD Ryzen 9 or a 12th generation and later Intel chip if your frametimes are inconsistent while other work runs in the background, because the CPU Set approach gives you core control without the hard lock and the crashes that affinity masks cause.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 162 days ago.
- What is it written in?
- Mainly C#, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 20, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Parking the other CCD is the thing the tool is built around
CPU Set Setter is described as a tool to make games and apps run on the right CPU cores, for smoother performance on AMD dual-CCD and Intel hybrid processors. It is a Windows utility written in C#, MIT licensed, and it is free with no paid tier.
The problem it addresses is that Windows tries its best to schedule tasks automatically, but the README is blunt that this may often not be optimal. The tool gives you control over which cores a game or app is allowed to use, and it does so through the operating system's own CPU Sets feature rather than through the older affinity mechanism.
The AMD case is the one the README spends the most time on. On dual-CCD processors, games can see large performance improvements when they are locked to the cores on a single CCD, especially on Ryzen 9 X3D parts. The usual way to achieve this is that AMD and Windows turn off the other CCD, which the project calls parking, and the phrase in the README is that it is like parking, but better.
The problem with parking is what happens to everything else. When the second CCD is powered down, background processes are forced onto the same CCD as the game, and the result is lower and less consistent frametimes. So the trade the tool offers is that you keep the second CCD alive for your other work while still keeping the game on one.
The README names Ryzen 9 CPUs as seeing the largest benefit, especially when gaming and multitasking such as streaming or rendering happen at the same time, which is precisely the case parking handles badly.
CPU Sets are a hint, affinity is a lock, and that difference decides everything
The section of the README that explains the mechanism is the one worth reading twice, because it justifies the design.
CPU Sets achieve the same results as affinities, restricting which cores a process can use, but they come with subtle differences. Affinity is a hard lock, and the README notes that some games crash or freeze under one. A CPU Set is a very strong hint but may be deviated from when necessary, which makes it more stable and works with more games. As a bonus, CPU Sets require fewer process privileges to set, which allows them to work in games with anti-cheats too.
The anti-cheat point deserves emphasis, because it is what rules out the obvious alternative. If setting a core mask on a protected process trips an anti-cheat system, the tool is useless on exactly the games people would want to tune. Using a weaker, more official hint avoids that.
The third use case is soft-disabling SMT and HyperThreading, by restricting a program to only the even or the uneven cores. The README says some games and programs, Far Cry 6 named as an example, may see an increase in performance from this, and that it can be combined with the CCD and P-core cases above. For the 5800X3D, 7800X3D and 9800X3D CPUs the README says this is probably the most or only useful tweak available, which makes sense for parts whose performance story is built around the 3D V-Cache sitting on specific cores.
The Intel case is P-core locking for 12th generation and up, and here the README is more measured, saying that Windows does its best to schedule automatically but that manual control improves performance in some scenarios.
Hotkeys exist so you can experiment without leaving the game
The README has a section titled experimentation is key, and the reason is that the correct core configuration is not knowable in advance.
To find out quickly which core configuration works best for a given game, CPU Set Setter provides hotkey support to change or clear a program's core mask on the fly. The point is that you can experiment without tabbing out of the game, and therefore without the context switch that itself perturbs the frametime you are trying to measure.
That is the difference between this and most affinity tools, which require you to find the process in a list, apply a mask, alt-tab back and restart the application. Even where a tool supports changing the mask live, doing it through a task list is awkward. A hotkey bound to a config you are trialling turns the tuning session into something you can do in ten minutes rather than an evening.
The three tabs visible in the screenshots give a sense of the shape of the interface: a processes tab, a masks tab and a rules tab. The processes tab is where you pick the running program, the masks tab is where you define the core configuration, and the rules tab is where you bind a configuration to a program so it is applied automatically when that program starts. That last part is what turns this from a manual experiment into a persistent setting, and it is the piece that makes the tool useful after the initial tuning session.
The repository is a Visual Studio solution, CPUSetSetter.sln, with a main project directory and a separate CPUSetSetter.TrayIcon project, plus an Installer_script directory. A tray icon companion is consistent with a tool that stays resident and responds to hotkeys while a game is in the foreground.
The per-processor setup guides are a prerequisite, not a footnote
The installation section is marked IMPORTANT, FOLLOW THIS, and it points to two setup documents, one for AMD CPUs and one for Intel CPUs, in a docs/setup folder. The README says that to use the tool most optimally you may have to follow some prerequisites depending on your CPU.
That phrasing is worth taking seriously, because it implies the tool does not work out of the box on every processor. A masking utility is only as good as the topology it is masking against, and the topology of a dual-CCD Ryzen, a 3D V-Cache part and a hybrid Intel chip are three different layouts. The setup documents are where the mapping from physical cores to logical ones, and from cores to CCDs and core types, gets established.
The stated requirements are Windows 10 or later and the .NET Desktop Runtime 10, with in-app instructions for the runtime. The .NET requirement tells you the shape of the tool, since it is a managed desktop application with a separate tray icon process, and it means the runtime has to be present on the machine, which on a gaming PC is an extra thing to install.
The Installer_script directory at the top level suggests the project ships its own installation script rather than relying only on a packaged installer, which fits the pattern of a utility aimed at people who are comfortable following a setup guide for their specific processor.
For anyone evaluating this, the first step is not to install the tool but to read the setup document for the CPU you own, because a masking tool with the wrong core mapping will produce results that look like the tool is broken.
A single-maintainer project with a sponsorship model and no paywall
The README's funding section is short and unusual in a good way. It says that if you like CPU Set Setter, the goal is already fulfilled, and that if you like it so much that you would like to donate, you can become a GitHub sponsor or donate directly with PayPal. It adds that doing so is completely optional, since the tool does not and will not have any form of pay-only features, advertisements or nagging, and that it will always remain fully free and open source.
That is a stronger commitment than a generic thanks-for-supporting note, and it is the sort of thing that matters for a utility like this, because the natural drift for a tuning tool is towards a paid tier with the interesting presets locked.
The project was also featured in two videos on YouTube, one of which is titled as advice that everyone should try this free utility and another of which asks whether to use free software to control the CPU and get more frames per second, with testing of CPU Set Setter. Both are third-party coverage rather than the maintainer's own marketing, and the project is linked to a Discord as well.
On maintenance, the last push was on 2026-05-14 and the release history shows v2.2.0 on 2026-01-29, v2.1.0 on 2025-11-27 and v2.0.1 on 2025-11-15. The versions climb steadily, which fits a tool whose feature set is tied to Windows features and processor generations, and the repository is not archived. The licence is MIT with the terms in the LICENSE file, which is the least restrictive case and means the code can be read, studied and reused without conditions.
Editorial conclusion
CPU Set Setter is worth trying on a dual-CCD Ryzen 9 or a 12th generation and later Intel chip if your frametimes are inconsistent while other work runs in the background, because the CPU Set approach gives you core control without the hard lock and the crashes that affinity masks cause. It is the wrong tool on a single-CCD or non-hybrid processor where there is no split to exploit, and it is the wrong tool if you cannot accept a utility that sets core masks on other processes. Before you rely on it, verify three things yourself: that the per-CPU setup guide for your processor, the AMD or Intel setup document in the docs folder, has been followed, since the README calls those prerequisites important, that your version of Windows exposes the CPU Sets feature, and that the .NET Desktop Runtime 10 requirement is satisfied, because the tool ships as a .NET desktop application rather than a native binary.
Frequently asked questions
What does CPU Set Setter do?
It lets you decide which CPU cores a game or application is allowed to use, by applying a core mask through the Windows CPU Sets feature. The tool targets CCD locking on AMD dual-CCD Ryzen parts, P-core locking on Intel 12th generation and later, and soft-disabling of SMT and HyperThreading.
What are the requirements for CPU Set Setter?
Windows 10 or later and the .NET Desktop Runtime 10, with in-app instructions for the runtime. The README also says you may have to follow prerequisites for your specific CPU, with separate setup guides for AMD and Intel processors in the docs folder.
Why does CPU Set Setter use CPU Sets instead of affinity?
Affinity is a hard lock and the README notes some games crash or freeze under one, while a CPU Set is a very strong hint that can be deviated from when necessary. CPU Sets also require fewer process privileges to set, which lets them work in games with anti-cheats.
How do I experiment with different core configurations?
The tool provides hotkey support to change or clear a program's core mask on the fly, so you can test configurations without tabbing out of the game. The interface has separate tabs for processes, masks and rules, and the rules tab is what binds a configuration to a program automatically.
Is CPU Set Setter free?
Yes. The project is MIT licensed and the README states it does not and will not have any form of pay-only features, advertisements or nagging. Donations are accepted through GitHub Sponsors or PayPal, and the tool will remain fully free and open source.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/simonvbez-cpusetsetter)Was this useful?