Finally had a full day coding.
Got the new topology code working.
Have realised both the benchmark and test both need actually to be libraries, with all the functionality operated by what is ideally one function call, and with a trivial wrapper binary provided for command line use on command line supporting platforms.
The reason for this of course is that many platforms do not have command lines, or stdout (or malloc) and so all the functionality needs to be in a library, with a porting abstraction layer.
Benchmark, got to now figure out how to generate thread sets, and then what to do about NUMA mallocs in tests.
Test, I gotta take a look at it and see what’s involved in moving it to a library.