The libsmm build process involves compiling many small (versions of) matrix multiplication kernels and testing them. For some shells / settings, the makefile may generate lists of arguments that are too long, and you will see errors like:
make: execvp: /bin/sh: Argument list too long
This most likely occurs if you are building the library interactively (i.e. not through a batch system). The workaround is to to use the 'batch / workload manager' option with a null submission command:
./generate -c config/linux.intel -j 100 -w none -t 24 tiny1
Here the -w none
option means using the null submission command, and -j 100
splits the build into 100 separate stages. Increase the value of the -j
option until you no longer hit the Argument list too long
error.