I'm going to be doing some weak scaling of an $N$-body integrator on AWS. In the past when I've done weak scaling for this integrator I've fixed the number of particles per core ($N/n = {\rm const}$).
However, when I do this I get a weak scaling that is proportional to $n^\alpha$ where $n$ is the number of cores, which is tied to $N$, and $\alpha \geq 1$. This is because the number of calculations involved in the $N$-body simulations is $N^2$. Thus, when I double the number of cores, I also double the number of particles, which actually quadruples the work. Therefore, I get an a scaling that is at least linear in $n$.
My understanding of weak scaling is that you're supposed to fix the problem size per core. In this case, is it more correct for me to fix the work per core than the number of particles per core?