How does one configure or enable "unganged memory" in sandybridge. By "unganged memory", it implies that each core gets a dedicated memory controller. Assuminig there are dual memory controllers on sandybridge, how do i assign them for two different cores (one-is-to-one fashion).
AMD supports "unganged memory" which can be enabled in BIOS. How to do this for intel family of processors.
Thanks for your response.
I am looking for information as to how we can configure the Intel processor chipset/registers so that we can setup "unganged memory".I need to know which processor/chipset registersthat i can play around with in order to ensure that each core gets a dedicated memory controller.
You would need to check which options on data interleaving, if any, are present in your BIOS setup. If there is no such option, you can expect that NUMA mode is in effect.
If you are writing a BIOS, there are BIOS writer's guides for each CPU model which require extraordinary access not granted to the general public.
As other answers hinted, you use thread affinity features to keep a thread attached to a single memory controller in NUMA mode.
numactl --cpunodebind=1 --membind=1 BINARY_EXECUTABLE_NAME
For certain types of runs, I get about a 15% speedup with that. Your milage may vary.