Hello,
I would like to assess the performances of NEST on different hardwares. And I have some questions if I may.
I am thinking about reusing one of the benchmarks here : https://github.com/compneuronmbu/nest-benchmarks.
Let's assume we have two nodes : A and B. A has N cores and B has M cores. I want to know if NEST runs faster for a particular test case on A or B. Hence I am fully filling the nodes with MPI ranks and OpenMP threads. If my understanding is correct, I need to set NVP = MPI ranks x OpenMP threads hence NVP = N on A and NVP = M on B. At this stage, for a lot of applications I would just say "The application runs faster on A or on B." . What worries me for NEST is that N and M might be different, hence different NVP for the simulation on A and B. From the documentation it says that for different NVP we have different results. So it gets me a bit worried to say that NEST is faster on A or B for a particular test case if I am not computing the same thing. I was wondering if you could confirm whether this is (or not) an issue and if you could give me some guidelines as regards benchmarking NEST please. That would be fantastic. This is also problematic if I want to do a strong scaling study on a single node for instance.
I could run NEST on the smallest common multiple of N and M (let's call it P). This would mean P/N nodes of A and P/M nodes of B. I guess this would make sense for NEST. But this is not a single node comparison, this is more a core vs core comparison.
Hope this makes sense. And please feel free to correct me if I said something wrong. I do not have a lot of experience with NEST.
Best regards, Conrad Hillairet.