marko,
please understand that giving more specific advice than already given
requires significant research effort and more knowledge about the
details of what you want to do. e.g. adding quantum espresso and
matlab to the mix makes things *much* more complicated. for QE the
possible GPU acceleration is rather moderate compared to what you get
with classical MD. MATLAB is an entirely different animal. the fact
that some code advertises GPU support or parallel computing ability
doesn't say anything about how well this works (i see rather poor
scaling with MATLAB's parallel programming toolkit on our machines,
but that may be due to the clumsy implementation as well as users not
making good use of it).
below are some quick answers. i don't have the time and desire to dig
deeper into this, since i just completed a large scale HPC hardware
procurement (which took the better part of two months to explore,
research, tweak and negotiate with vendors to find the optimal
configuration for the diverse purposes of our users).
Dear Axel and Ray,
thanks a lot for your emails. Here are few clarifications from my side:
1. it will be a rack (not tower) configuration.
2. I understand well that benchmarking is the only way to see amount of acceleration. But at the moment, with deadline so close, I only need to have some sensible configuration on the paper to put aside the money, and when we go shopping (hopefully around next Christmas) we'll know better what exactly do we need.
then just put "something approximately reasonable" in the proposal and
be done with it. most funding agencies will not check for details and
it is quite convincing to claim that good hardware configurations
change over the course of a year. no point to waste your time to
optimize a configuration that you won't buy right away. even more so,
if you don't even know exactly what you will be doing, what your
options are and how well individual software packages will perform for
your specific needs. performance (and GPU support) can change with the
smallest of details.
3. Simulation size will be big, because high energy (MeV) ion impact affects a lot of atoms, so the size of simulation will be large.
"big" is not a good descriptor. you can check with published
benchmarks, when GPUs scale out. some time ago, you should not have
less than 10,000 atoms per GPU for good utilization with most MD
codes. however, the point of best utilization changes a lot with the
implementation (e.g. between the GPU and KOKKOS package in LAMMPS).
4. Besides running LAMMPS, this machine will probably do other things like DFT calculations (Quantum Espresso supports NVIDIA Tesla). Also I have seen Matlab support for parallel computing.
Now for few more questions:
1. As Axel suggested, going for CPU workstation also makes sense. I guess it is also easier to run LAMMPS on the machine like this. Could you please specify more in detail such a system (CPU, memory)?
there are far too many options for all components in the market and
there is not "The one good solution(tm)" to recommend (like 20-30
years ago). finding the optimal solution for a small budget is
different than for a large budget and also the distribution of use
cases or the preference between capability and throughput matters.
2. Would it make sense to make some kind of hybrid CPU/GPU configuration, like 4xCPU + 1xGPU? Even only one node if two nodes are out of the budget? What would be sensible configuration in that case?
unlikely. there are usage scenarios, where this makes sense, but those
are unusual. compromises have the bad side effect that they not only
combine the benefits of multiple solutions, but also the shortcomings.
keep in mind, that pretty much any GPU machine these days is a
"hybrid" machine. as mentioned before, the main imperative for GPU
machines should be balance, not compromise.
3. Axel also suggested frontend desktop workstation (with good graphics and lot of RAM). Could you please also provide more details about this?
again, too many options to choose from. if i had to buy a machine for
myself, i would more-or-less know what to get (or rather certain key
specs to not miss), but that is because i know my typical workflows
and needs very well and where the current performance bottlenecks are.
for that reason (and a generous budget), my current desktop machine
has given my good service for over seven (7!) years now with only the
occasional upgrade/tweak (GPU, HD/SSD).
axel.