Quote Originally Posted by poke349 View Post
Been playing with Linux and NUMA for some time now on the rig Skycrane sent me.

If anyone (with a NUMA machine) is interested, you might be able to get a speedup if you install the NUMA control package (numactl) and play with the settings.

Try running y-cruncher like this:

numactl --interleave=all "./x64 SSE3.out"

or whatever version is compatible.
I haven't checked if there is a Windows equivalent.

It's doesn't "make" the program NUMA aware, but it does seem to distribute the memory traffic more evenly across the cores.
y-cruncher has a problem of having a huge amount of memory/interconnect traffic concentrated on the "primary" NUMA node. Interleaving the memory seems to spread it out a bit.
I don't think that there's numactl for cygwin. I tried looking for it and also trying to see if I compile it from source and get the following error:

Code:
$ make
Makefile:179: .depend: No such file or directory
cc -MM -DDEPS_RUN -I. bitops.c libnuma.c distance.c memhog.c numactl.c numademo.
c numamon.c shm.c stream_lib.c stream_main.c syscall.c util.c mt.c clearcache.c
test/*.c > .depend.X && mv .depend.X .depend
cc -g -Wall -O2  -I.   -c -o numactl.o numactl.c
cc -g -Wall -O2  -I.   -c -o util.o util.c
util.c: In function `memsize':
util.c:80: warning: array subscript has type `char'
cc -g -Wall -O2  -I.   -c -o shm.o shm.c
shm.c: In function `attach_shared':
shm.c:129: error: storage size of `st' isn't known
shm.c:140: warning: implicit declaration of function `fstat64'
shm.c:143: warning: implicit declaration of function `ftruncate64'
shm.c:157: warning: implicit declaration of function `mmap64'
shm.c:157: warning: assignment makes pointer from integer without a cast
shm.c:129: warning: unused variable `st'
make: *** [shm.o] Error 1
Source from http://oss.sgi.com/projects/libnuma/