I am running a cluster where each node has an Intel Xeon E5430. /proc/cpuinfo reports 8 cores. I am using C/C++ compiled with gcc ver 5.3.1 on an Ubuntu 16.04LTS.
Distributing my work to each node was the easy part. My question pertains to the process running on each node. How can I create 8 concurrent threads and guarantee that each one spawns on a separate core?
15 years ago when I was using a 32 processor SGI, the fork command took an integer argument that was the physical processor id. Is there a similar call in either fork or threading that places a thread on a physical core?