On ubuntu 16.04, when running
~/repos/DeepBench/code/intel/gemm/run_mkl_igemm_ia.sh
on a single cpu machine (Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz) :
IGEMM benchmark
GEMM_S8U8S32 -
libnuma: node argument 1 is out of range
<1> is invalid
usage: numactl [--all | -a] [--interleave= | -i ] [--preferred= | -p ]
[--physcpubind= | -C ] [--cpunodebind= | -N ]
[--membind= | -m ] [--localalloc | -l] command args ...
numactl [--show | -s]
numactl [--hardware | -H]
numactl [--length | -l ] [--offset | -o ] [--shmmode | -M ]
[--strict | -t]
[--shmid | -I ] --shm | -S
[--shmid | -I ] --file | -f
[--huge | -u] [--touch | -T]
memory policy | --dump | -d | --dump-nodes | -D
< nodes > is a comma delimited list of node numbers or A-B ranges or all.
Instead of a number a node can also be:
netdev:DEV the node connected to network device DEV
file:PATH the node the block device of path is connected to
ip:HOST the node of the network device host routes through
block:PATH the node of block device path
pci:[seg:]bus:dev[:func] The node of a PCI device
Modifying the script to target node 0 seems to allow to run :
numactl -m 0 ./ibench_s8u8s32
Why is node 1 hard coded in the script ?
run_mkl_igemm_ia.sh - this scripts targets Xeon Phi machine with MCDRAM in flat mode, in that case MCDRAM is recognized as separate numa node and has index "1".
On ubuntu 16.04, when running ~/repos/DeepBench/code/intel/gemm/run_mkl_igemm_ia.sh on a single cpu machine (Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz) :
IGEMM benchmark
GEMM_S8U8S32 -
libnuma: node argument 1 is out of range
<1> is invalid usage: numactl [--all | -a] [--interleave= | -i