How to keep a specific core idle (AMD Bulldozer)?

MeepMeep

New member
Local time
7:55 PM
Messages
11
Location
Cupertino, CA
I have a program that I want to run on one core of a compute unit (say, core 5), while ensuring that its matching core (core 4) remains halted. That way the program gets full use of the compute unit's shared resources.
Whichever core I disable in this way, I can pin my test program to its matching core.
Any ideas how to do this?
 

My Computer My Computer

At a glance

Windows 7 Home Premium 64AMD Bulldozer FX-8120, 3.1 GHz 8 Core (4 CU)
OS
Windows 7 Home Premium 64
CPU
AMD Bulldozer FX-8120, 3.1 GHz 8 Core (4 CU)
That is not how processors work. A program gets full use of its resources all the time. Disabling a core is not going to improve that. Anyways... https://en.wikipedia.org/wiki/Processor_affinity

AMD processors also have no Hyper-threading, the pit falls involving that do not apply.
 

My Computer My Computer

At a glance

Windows 10 Pro (x64)Intel Core i7-3930K (3.2GHz - 4.5GHz)4x Samsung 4GB PC3-12800 DDR3 (16GB 1600MHz)Nvidia Geforce GTX 690
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Alienware Aurora ALX R4
OS
Windows 10 Pro (x64)
CPU
Intel Core i7-3930K (3.2GHz - 4.5GHz)
Motherboard
Alienware Aurora-R4 x79
Memory
4x Samsung 4GB PC3-12800 DDR3 (16GB 1600MHz)
Graphics Card(s)
Nvidia Geforce GTX 690
Sound Card
SteelSeries Siberia Elite
Monitor(s) Displays
Dell UltraSharp U3011
Screen Resolution
2560x1600
Hard Drives
Samsung 850 Pro 256 GB, Seagate 1TB Desktop Hybrid HDD, 2x Western Digital 4TB Green HDD
PSU
875W Some Dell PSU <.<
Case
Alienware Aurora ALX
Cooling
Custom Liquid Cooling (EK CPU & GPU blocks) dual EK 480RAD
Keyboard
Logitech G710+ Mechanical
Mouse
Logitech G700s
Internet Speed
Verizon Fios (50 mbps average)
Other Info
Server: Intel NUC D54250WYK: i5-4250U, 16GB, 256 GB mSATA, Windows Server 2012 R2
Thanks for answering.

Let me explain something about Bulldozer. A Compute Unit (CU) consists of two Cores which share some resources. Windows recognizes the cores separately, and can schedule work on them independently.
Due to the way that the CU resources are shared between its two cores, a program running in one core will get more work done if the other core is halted.
That's why I'd like to tell Windows (or the BIOS) not to use core 4, say, but treat the other 7 cores normally. My ASUS BIOS will let me lock out cores 6 and 7, or 4, 5, 6, and 7, but not just a single core.
In practice, I pin my test program to core 5 and run a profile on all 8 cores. I find that core 4 gets used slightly. I can live with that, but I'd prefer to have core 4 not get used at all.

EDIT: Another possible solution would be to tell Windows to dedicate a certain core to one particular thread. I could have that thread go into a permanent wait state, and presumably, Windows would halt the core while it is in that state, and not schedule any other thread to go there.
 
Last edited:

My Computer My Computer

At a glance

Windows 7 Home Premium 64AMD Bulldozer FX-8120, 3.1 GHz 8 Core (4 CU)
OS
Windows 7 Home Premium 64
CPU
AMD Bulldozer FX-8120, 3.1 GHz 8 Core (4 CU)
Trying to disable the core will not do what you think it will do. It will not improve performance of your application in the slightest.
 

My Computer My Computer

At a glance

Windows 10 Pro (x64)Intel Core i7-3930K (3.2GHz - 4.5GHz)4x Samsung 4GB PC3-12800 DDR3 (16GB 1600MHz)Nvidia Geforce GTX 690
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Alienware Aurora ALX R4
OS
Windows 10 Pro (x64)
CPU
Intel Core i7-3930K (3.2GHz - 4.5GHz)
Motherboard
Alienware Aurora-R4 x79
Memory
4x Samsung 4GB PC3-12800 DDR3 (16GB 1600MHz)
Graphics Card(s)
Nvidia Geforce GTX 690
Sound Card
SteelSeries Siberia Elite
Monitor(s) Displays
Dell UltraSharp U3011
Screen Resolution
2560x1600
Hard Drives
Samsung 850 Pro 256 GB, Seagate 1TB Desktop Hybrid HDD, 2x Western Digital 4TB Green HDD
PSU
875W Some Dell PSU <.<
Case
Alienware Aurora ALX
Cooling
Custom Liquid Cooling (EK CPU & GPU blocks) dual EK 480RAD
Keyboard
Logitech G710+ Mechanical
Mouse
Logitech G700s
Internet Speed
Verizon Fios (50 mbps average)
Other Info
Server: Intel NUC D54250WYK: i5-4250U, 16GB, 256 GB mSATA, Windows Server 2012 R2
Agreed. Leave all cores enabled and allow the thread allocation logic on the CPU to dynamically assign cores to the program threads as it deems necessary. Due to the way that programs are designed, there will be certain threads (strands of execution) that are memory and/or cpu intensive, whereas others are not so demanding. It is because of this difference that you can sometimes see a dramatic difference in cpu core activity when running a program/application. There is nothing wrong with that, it is just how the individual cores have been allocated to the threads.
 

My Computer My Computer

At a glance

Windows 8.1 Pro RTM x64Intel Core-i5-3570K 4-core @ 3.4GHz (Ivy Brid...4 x 4GB DDR3-1600 Corsair Vengeance CMZ8GX3M2...MSI GeForce GTX770 Gaming OC 2GB
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Dwarf Dwf/11/2012 r09/2013
OS
Windows 8.1 Pro RTM x64
CPU
Intel Core-i5-3570K 4-core @ 3.4GHz (Ivy Bridge) (OC 4.4GHz)
Motherboard
ASRock Z77 Extreme4-M
Memory
4 x 4GB DDR3-1600 Corsair Vengeance CMZ8GX3M2A1600C9B (16GB)
Graphics Card(s)
MSI GeForce GTX770 Gaming OC 2GB
Sound Card
Realtek High Definition on board solution (ALC 898)
Monitor(s) Displays
ViewSonic VA1912w Widescreen (VGA)
Screen Resolution
1440x900
Hard Drives
OCZ Agility 3 SSD 120GB SATA III x2 (RAID 0)
Samsung HD501LJ 500GB SATA II x2
Hitachi HDS721010CLA332 1TB SATA II
Iomega 1.5TB Ext USB 2.0
WD 2.0TB Ext USB 3.0
PSU
XFX Pro Series 850W Semi-Modular
Case
Gigabyte IF233
Cooling
1 x 120mm Front Inlet 1 x 120mm Rear Exhaust
Keyboard
Microsoft Comfort Curve Keyboard 3000 (USB)
Mouse
Microsoft Comfort Mouse 3000 for Business (USB)
Internet Speed
NetGear DG834Gv3 ADSL Modem/Router (Ethernet) ~4.0 Mb/s (O2)
Antivirus
Avast! 8.0.1497
Browser
IE 11
Other Info
Optical Drive: HL-DT-ST BD-RE BH10LS30 SATA Bluray
Lexmark S305 Printer/Scanner/Copier (USB)
WEI Score: 8.1/8.1/8.5/8.5/8.25
Asus Eee PC 1011PX Netbook (Windows 7 x86 Starter)
Well try to open Task manager .. select the program under process... right click and select "Set Affinity" and select the core you want the program to run,....

Hope this is what ur are looking for
 

My Computer My Computer

At a glance

Windows 7 ultimate x64
Computer Manufacturer/Model Number
Nothing specific....what ever the clients provide for Repair
OS
Windows 7 ultimate x64
I am pleased to see so many of you answering me. Thanks for that.
However, there's still a misunderstanding about what I want and why...
1. Setting an affinity for the program I am testing is only part of the deal. What I want to do is keep all other threads from using the same core.
2. The Bulldozer architecture really does have a penalty if two threads are running in the same CU, compared with the same threads running in different CUs. The major item is that the instruction decoding rate for a core is cut in half if the other core is running, as the shared decoder alternates between servicing the cores. If one core is halted, the other core gets the full bandwidth of the decoder.

I have seen comments somewhere that Microsoft is aware that this is a problem with Windows (i.e., treating all processors equally for scheduling purposes), and that there is something in the works to assign only one thread to each CU when possible. The same would apply to the two threads in an Intel core with hyper threading. Anyone know about this?
 

My Computer My Computer

At a glance

Windows 7 Home Premium 64AMD Bulldozer FX-8120, 3.1 GHz 8 Core (4 CU)
OS
Windows 7 Home Premium 64
CPU
AMD Bulldozer FX-8120, 3.1 GHz 8 Core (4 CU)

My Computer My Computer

At a glance

Windows 10 Pro x64Intel Core i7 4790K @ 4.5GHz32GB DDR3Nvidia GeForce GTX970
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Custom
OS
Windows 10 Pro x64
CPU
Intel Core i7 4790K @ 4.5GHz
Motherboard
Asus Maximus Hero VII
Memory
32GB DDR3
Graphics Card(s)
Nvidia GeForce GTX970
Sound Card
Realtek HD Audio
Screen Resolution
1920x1200
Hard Drives
1x Samsung 250GB SSD
4x WD RE 2TB (RAIDZ)
PSU
Corsair AX760i
Case
Fractal Design Define R4
Cooling
Noctua NH-D15
Back
Top