- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
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.
링크가 복사됨
4 응답
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
I have used "numactl" to assign specific memory and processors.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi Joe.
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.
Thanks
Balu
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
According to the references I see, "unganged" access is analogous to "NUMA" mode which was not the default on past Intel servers, but typically is default on recent models. It's not normally described in the terms you present; it's true that you want all memory references from a given core to proceed through a single memory controller, as in NUMA mode. Other cores on the same CPU will share that 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.
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.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
If I turn on NUMA in the BIOS ( which is now often the default ) I use the following to attach memory:
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.
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.
