Programmatically detecting CPU affinity of PCI card for sandybridge

Programmatically detecting CPU affinity of PCI card for sandybridge

Folks,

With Sandybrdige, a PCI card has a natural affinity to one CPU. How can I programmatically determine which CPU it is, so that I can affinitize my program to the right CPU?

Many thanks!

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi,

in Linux you can identify which processor your PCIe device is connected to by reading the "/sys/devices/[PCI root]/[PCIe function]/numa_node" or "/sys/class/[device class]/[interface]/device/numa_node" virtual files. However BIOS should support the proper ACPI feature for such detection, otherwise numa_node will report -1.

Best regards,
Roman

in Linux you can look it up in the /sys/devices/[PCI root]/[PCIe function]/numa_node virtual file. However BIOS should support
the proper ACPI feature, otherwise you will read -1.

for network card devices it is also available through "/sys/class/net/[interface]/device/numa_node" file.

Leave a Comment

Please sign in to add a comment. Not a member? Join today