Just hacked up a snippet of code to stop a thread migrating to a different CPU while it runs. This should help the thread get, and keep, local memory. This in turn should reduce run-to-run variance.
#include <sys/processor.h>
void bindnow()
{
processorid_t proc = getcpuid();
if (processor_bind(P_LWPID, P_MYID, proc, 0))
{ printf("Warning: Binding failed\n"); }
else
{ printf("Bound to CPU %i\n", proc); }
}
No comments:
Post a Comment