8
$\begingroup$

While there's a lot of good information available out there about choosing laptops, I still find it hard to pick a personal machine for my scientific computing needs. Though most matter modelling researchers, run the bulk of their calculations on computing clusters, the need for a powerful personal computing machine still seems unavoidable. For a few reasons like:

  • Run some back-of-the-envelope-style quick numerics/computations
  • Post-simulation analysis with scripting tools
  • Plotting, Creating illustrations (for example with Blender or something similar) etc.
  • Code Development (especially for people contributing to various packages across the board)

A few parameters to consider in this context:

Processors

  • Intel (usually seemed to be the preferred ones due to Intel MKl and oneAPI)
  • AMD (though not the default choice, they seem to be getting better)
  • Apple silicon (They seem promising, but I am not sure if people in the community are already adopting these new architectures)

Other relevant Hardware specs

  • RAM
  • SSDs
  • integrated GPUs

What kind of laptops would you recommend for scientific computing keeping the above parameters in mind?

$\endgroup$
6
  • $\begingroup$ I am not sure if this belongs here or in meta. I'd be happy to take it down if the mods consider this off-topic. $\endgroup$
    – user784
    Nov 27, 2021 at 17:13
  • $\begingroup$ I think this fits well here and I figure there are a lot of people who could offer up an answer. I would also suggest looking around on the Computational Science and Hardware Recommendation SE sites to see if anyone has asked anything similar. $\endgroup$
    – Tyberius
    Nov 27, 2021 at 17:42
  • $\begingroup$ scicomp.stackexchange.com/questions/33917/… This seems relevant, but only half or quarter of an answer and it also hardware specific. Even then, in the last couple of years there's this growing trend of other CPU architectures, I am hoping someone may like to comment on that, especially, people curating large amounts of legacy code. $\endgroup$
    – user784
    Nov 27, 2021 at 18:18
  • 3
    $\begingroup$ While it is an important question, in my experience the answer is wildly different for different people (preferences, situation) and software use even inside the materials community. $\endgroup$
    – Greg
    Nov 27, 2021 at 20:15
  • 3
    $\begingroup$ The question started to become a bit broad when you started asking about operating systems too, for that you can refer to this answer: mattermodeling.stackexchange.com/q/1224/5. I commented out the part about operating systems, and also, while your title and conclusion seemed to be about "personal computing machines + laptops" the opening sentence seemed to give it away that you were looking for a laptop (?) so I narrowed down the question a bit more, and now I think it will be easier to get more focused answers. A separate question could be asked about desktops/workstations! $\endgroup$ Nov 28, 2021 at 6:33

5 Answers 5

11
$\begingroup$

If you have the ability to setup a way through which you can access university resources remotely such as RDP, Teamviewer or Anydesk, that would probably be the best option. You can buy whatever the laptop based on the cost effectiveness, easy of carrying or battery endurance and use it to connect to the university resources remotely.

In my opinion, the price to performance of a laptop is way less attractive than a modern PC (where assembling your own would generally result in the lowest cost but may be unattractive to some). However, this option is not portable.

Alternatively, newer laptops are impressively fast and reliable. Both AMD and Intel offerings are sufficiently neck to neck and so there really wouldn't be too much of a difference. Also, there are many cloud servers that use AMD EPYC CPUs. So there could be alternatives to Intel MKL and OneAPI but I am not too familiar with this. Considering Apple, the newer M1 silicon appears to be great in terms of performance. However you should check whether it would be compatible with the specific use case. Take this question as an example.

If you still insist on buying a laptop to potentially install either windows or linux, choosing each component based on what you need would be the best way to go. Consider the following scenarios,

  1. If you have computationally heavy workloads which use multiple cores, then AMD Zen3 H series processors would probably be a good option. However the best performance if the task does not spread through multiple cores is something that you would have to find through something like gaming benchmarks (since they usually utilize a fewer number of cores)

  2. If what you do consumes a lot of memory, the memory capacity is important. However, keep note that the memory speed plays a significant role too. There may be situations where the memory bandwidth causes bottlenecks which reduce the overall performance. To escape this, try to find a laptop with high memory frequency and low memory latency. However as I remember, the memory speed of laptops are significantly lower than desktop PCs. So I would recommend that you look into that separately. Take a previous question of mine for example. In this case, I had only two memory channels installed on my XEON processor (due to financial limitations and since I did not expect to conduct DFT calculations back then). As it turns out, increasing the memory channels (thereby the speed) gives a significant boost in performance.

  3. Storage is something that you can always add on the go by changing the SSD or by using an external drive. However if you need to constantly read and write files to the storage, looking for a laptop with a faster SSD could show significant performance improvements.

  4. If what you work with has support for CUDA or OPENCL, then GPU acceleration should be considered. If not, the integrated GPUs of both Intel and AMD processors are good enough. That said, some visualization software could perform smoother with a discreet GPU.

All in all, most gaming laptops such as Lenovo Legion and ASUS ROG would perform significantly well in these situations. Also there are some workstation class laptops such as these. However I am not sure if the performance is significantly different from gaming laptops or not.

Note: I use an MSI Modern-15-A11M laptop with an Intel i5-1135G7 processor for similar applications. For me, the decisive factor was the weight and market availability of the device. I do some SIESTA DFT calculations on this laptop and use it to remotely connect to the university servers. So far, I have not been let down by either the processor or the integrated GPU.

$\endgroup$
6
  • 1
    $\begingroup$ +++1 Consider other conveniences too - like you started a simulation half an hour ago but now you need to pack up your laptop and go somewhere for some reason. With RDP it's no problem - just disconnect and your workstation back in the office continues to calculate away and you can just log in later to see how it's going. If you're running the sim on your laptop you have to either pause or abort any time you need to pick up and go. Modern RDP is phenomenally good and it's an ideal solution when you need access to both a powerful workstation and internal network resources on the go. $\endgroup$
    – J...
    Nov 29, 2021 at 20:06
  • 1
    $\begingroup$ Also, do you really want a 180W toaster in your lap with the cooling fans screaming at 100% the whole time? $\endgroup$
    – J...
    Nov 29, 2021 at 20:08
  • $\begingroup$ In my personal case, sometimes I have been forced to run SIESTA calculations on my laptop. What I've found is that using WSL2 Ubuntu has sufficiently close performance to running linux natively. However, the key advantage is that directly hibernating the machine has never stopped a simulation in windows (whereas native linux has sometimes failed resuming the calculation for me). Plus if you are used to the user interface of Office 365 and what not, running windows would probably be a better choice for a personal system. $\endgroup$
    – PBH
    Nov 30, 2021 at 1:42
  • $\begingroup$ I'd rather prefer to setup a second linux partition with dual boot(may be UEFI) over WSL2. But, the painful part of it would be to completely lose manufacturer warranty. $\endgroup$
    – user784
    Nov 30, 2021 at 8:33
  • $\begingroup$ To use the laptop to connect to a remote linux server, I use the Xshell and WinSCP applications. In this case, even a budget laptop would take you a long way. However I recommend going for a mid range one to reduce the frequency of upgrading (thus reducing e-waste). $\endgroup$
    – PBH
    Dec 1, 2021 at 1:48
7
$\begingroup$

From your lines I assume you start studying chemistry/physics/materials science, and you want to select a computer for performing such computations as well as writing lab reports. Please correct me if this assumption is wrong.

Get in touch with your school because indeed it always will be a question of detail and level of theory about the computation ahead if these are tasks are suitable for your own computer, or are delegated (similar to cloud computing) to a cluster at your university.

Gaussian may be an illustration for this. It isn't only a about obtaining a license, or training how to prepare/how to interpret a computation. But to be productive (as in performing many demanding computations within a suitable delay) these often are sent anyway via protocols like ssh to a computing centre/cluster.

Since these typically run one form of Unix or Linux, regardless of the operating system of your personal computer, I recommend to get familiar how to issue some of the elementary commands (e.g., GNU core utils) by you from the CLI/terminal (e.g., copy/move files; example of a course providing some familiarity). With the heavy number crunching delegated, post processing (visualization of structures, plotting diagrams) indeed is what you do outside the (remote) cluster, facing your computer.

Independent from this, browse through publications, e.g., in The Journal of Chemical Education for comparison. Molecular Modelling is one of the keywords indexed, and a search about «Gaussian» and «Blender» you mention yields e.g., to «Gaussian-2-Blender: An Open-Source Program for Conversion of Computational Chemistry Structure Files to 3D Rendering and Printing File Format».

Reference:

Echeverri-Jimenez, E.; Oliver-Hoyo, M. J. Chem. Educ. 2021, 98, 3348-3355 (doi 10.1021/acs.jchemed.1c00460).

$\endgroup$
7
$\begingroup$

There are already some good answers, but I thought it might be nice to a have a brief answer:

  1. It depends on what you're doing.
  2. But you probably just want a very cheap, light laptop.

I have a $400 12.5" laptop running Ubuntu for writing papers, reading papers, scripting, and system preparation. Once I get all my simulation configuration files tested and ready for the production run, I upload them to another computer through ssh (using rsync). After the simulations have been running for a few minutes, I download them to my laptop for visualization and to check that they are running properly. I then move on to something else and check on them again in a few days.

With the money you save on buying a laptop, you can buy a desktop with a top-of-the-line consumer graphics card (which is now >$1000). For most of the calculations (classical MD) that I'm doing these days, very little matters except the graphics card.

$\endgroup$
3
  • $\begingroup$ I'm curious to know about the specs of your laptop and the make/model if you don't mind. But, mostly in my experience these chromebook like machines seem to struggle on anything beyond a few browser tabs. $\endgroup$
    – user784
    Nov 30, 2021 at 8:26
  • $\begingroup$ @EverydayFoolish I have a Dell Latitude 7280 that I bought refurbished. It has an Intel Core i5-6300U CPU (2 physical cores and 4 hyperthreads, I think). It has a 500 GB SSD and (only!) 8 GB of RAM. It doesn't have a standalone graphics card, just the built-in Intel VGA compatible controller. I usually have more Bash terminals open than browser tabs. It's sufficient for doing energy minimization on my systems and playing Doom (the original 1993 game, not the new one). $\endgroup$ Nov 30, 2021 at 14:48
  • $\begingroup$ @EverydayFoolish, if you are willing to use a dedicated laptop with Ubuntu to connect to the remote servers, the actual hardware of the system wouldn't matter that much. However, I would recommend a minimum of 6GB ram (8 or higher is significantly better) with an SSD for the boot drive. As per the processor, I'd typically go for an intel i3 or AMD ryzen3 in minimum (though I would recommend i5 or ryzen 5 as future-proofing). Going for i7 or ryzen 7 might not be necessary unless you are planning to conduct a significant amount of calculations on the laptop. $\endgroup$
    – PBH
    Dec 1, 2021 at 1:41
6
$\begingroup$

I totally agree that having a decent personal machine is of utmost importance for a matter modeling researcher, but this doesn't mean you have to buy a very expensive and/or powerful laptop, especially for (most of) the reasons you provided after this part of your question:

"Though most matter modelling researchers, run the bulk of their calculations on computing clusters, the need for a powerful personal computing machine still seems unavoidable. For a few reasons like..."

I'll go through your reasons one by one:

  • "Run some back-of-the-envelope-style quick numerics/computations"

By definition, a "back-of-the-envelope-style calculation" does not need a very expensive computer. I guess you mean medium-scale calculations. I agree that it's nice to be able to run some fairly serious calculations in MATLAB on a laptop (even with a laptop GPU) but laptops are not meant for doing heavy calculations or even medium-scale calculations (except for laptops like TensorBook, which is extremely overpriced). The vast majority of laptops and laptop users do web browsing and word processing. A server-grade compute node in a proper cluster can run at 100% CPU capacity for days and not get dangerously overheated, but laptops were never meant to be safe for that type of usage, nor resilient to doing it without burning out.

I'm also assuming that you're paying for this yourself rather than getting it for free, or on a budget that can only be spent on a single laptop (since most people reading this answer will be in the former situation). Laptops are overpriced (spec-for-spec) compared to bigger computers (meaning a laptop with 16GB of RAM will typically cost far more than a desktop with 16GB of RAM or putting a 16GB compute node into an existing cluster), and the only reason for getting a laptop rather than a desktop is portability/travel, which causes wear and tear and risk of dropping/losing it, which is just another reason why getting a very expensive one with 32GB of RAM is not the best idea.

A laptop with 16GB of RAM is quite ideal: not too expensive (especially if you buy it with 8GB and an extra DIMM slot where you can add the other 8GB yourself, but unfortunately a lot of them these days don't allow that because they come with all slots filled with RAM that's soldered into the MOBO), and would rarely go over RAM capacity (especially with a good operating system and smart usage, such as browser tab suspenders). However, I say this more because researchers often like to have lots of tabs open in their web browser (lots of research papers that they "must read later but don't yet have time"!), not because it's great for doing back-of-the-envelope or medium-scale calculations. If you want to do calculations involving 16GB of RAM or more, seriously consider doing it on a server meant for calculations, even if your laptop has (for some reason) 128GB of RAM: such calculations will almost always be heavy in CPU usage too, and do you really want to burn out your expensive laptop CPU rather than the comparatively much cheaper server-grade CPU that's designed for calculations?

  • "Post-simulation analysis with scripting tools"

Except for high-performance graphics (HPG?) which is addressed in your next point, I'm not sure what post-simulation analysis using scripting tools, you could be doing which needs more than 16GB of RAM and yet can't be done relatively easily on a compute cluster that's meant for doing such "heavier" calculations.

  • "Plotting, Creating illustrations (for example with Blender or something similar) etc."

Most "plotting" is on a 2D grid (x-axis and y-axis) and doesn't need much computing power, but creating illustrations (or nowadays, also videos!) can be very demanding on computer resources. Is there a reason why you need a laptop to do these? If you're doing a lot of video editing, I'd recommend a desktop since one with 32GB of RAM could easily cost the same as an equally powerful laptop with 16GB of RAM (for example). I'm assuming that you're not doing a lot of serious video rendering while on a train anyways, but I appreciate that everyone has their own way of doing things.

  • "Code Development (especially for people contributing to various packages across the board)"

I totally agree that this requires a lot of debugging and testing, for which decent computing power is often needed, but it's again unlikely that you need something with more than 16GB of RAM.

So now I'll answer the rest of your questions:

"Processors

  • Intel (usually seemed to be the preferred ones due to Intel MKl and oneAPI)
  • AMD (though not the default choice, they seem to be getting better)
  • Apple silicon (They seem promising, but I am not sure if people in the community are already adopting these new architectures) Other relevant Hardware specs"

Intel. It's true that AMD is getting better, but it's much easier and safer to just stick with Intel for now. You'll already have millions of options available to you, so filtering your search results for only Intel will also help save you time, among many other advantages (some which you seem to already know!).

"Other relevant Hardware specs

  • RAM"

I mentioned my recommendations earlier :)

  • "SSDs"

They are very helpful indeed, but unfortunately it's also easy to get this "wrong". Having an SSD can certainly make a noticeable speed difference in your experience with booting the computer and opening software, but almost everybody has fewer than 128GB of software while the rest are personal files/data for which it's usually actually better to have an HDD drive since for the same price you can get far, far, far more storage space with not much less functionality. I'd recommend 128-256GB of SSD and 1-2TB of HDD (I personally like to have a lot of storage space, but you might not need that much, so it's your call, but 512GB of SSD space is a bit overkill in my opinion since it's extremely unlikely that you're actually using all that data often).

  • "integrated GPUs"

It's very convenient to have one if you're developing code that is meant to run on GPUs, or if you're testing or doing some simple calculations that use GPUs, but GPUs are expensive and you won't be able to compete with what supercomputing clusters have, so I wouldn't spend too much money on this part (1-2GB of RAM at the most, for example). If you do get a GPU, for many things, it absolutely needs to be an NVIDIA GPU (many things in scientific computing only work with NVIDIA GPUs).

Final recommendation: If you get a laptop with an Intel CPU and 16GB of RAM , a 128-256GB SDD, a 1-2TB HDD and a 1-2GB NVIDIA GPU (only if you really do need it, because otherwise it can actually be harmful, which I can explain in another answer if you want to ask!), then you'll be getting something very decent for your work as a matter modeling researcher with access to larger supercomputing facilities, without entering the realm of the "overpriced" and without risking walking around with something ultra-expensive (which can be stressful).

$\endgroup$
4
  • 1
    $\begingroup$ Wouldn't both Blender and numeric computations profit from as much GPU power as you can afford? Reading the OP's use cases I think a GPU is an absolute necessity. $\endgroup$ Nov 28, 2021 at 13:49
  • 1
    $\begingroup$ But in almost all cases, wouldn't that type of work be better to do on a desktop that's far more powerful/GPU-equipped than any laptop would be for the same price? $\endgroup$ Nov 28, 2021 at 16:47
  • $\begingroup$ @Peter-ReinstateMonica Maybe of interest, blender's manual features a dedicated entry about GPU and rendering here. And there is blender.se right around the corner, too. $\endgroup$
    – Buttonwood
    Nov 28, 2021 at 17:03
  • $\begingroup$ This is great advice, but I would not want to miss my 512 GB SSD. True, most of the stuff on it is data, but accessing data faster for post-processing is also worthwile in my opinion, for example when loading images into photoshop or similar. Of course it depends on how much data you will generate, I offload all my completed stuff (but might still need later!) to my external 3 TB HDD drive, which is already more than 1/3 full after 3 years. Bottomline is, I don't think a large SSD is wasted if the budget allows it. $\endgroup$
    – And
    Nov 30, 2021 at 15:28
5
$\begingroup$

You want as much computing power and the fastest RAM you can get and afford. Of course power grows only logarithmically with price; focus on your needs right now and not in three years when you are close to buying a new machine anyway. My experience is that the "second best" (metaphorically speaking) often hits the sweet spot with computer components (as well as with most other things).

  • Processors: For desktop/workstation CPU Intel has screwed up badly and AMD wins the performance competition hands down because their CPUs have many more cores, see e.g. https://opendata.blender.org/ for Blender performance measurements. Not so sure with mobile processors, except that AMD may be cheaper. Before you buy a specific processor go to a comparison website like https://www.cpubenchmark.net and compare it against the alternatives.

  • GPU: Both Blender renderings as well as numerical calculations can be sped up with GPUs. Ask colleagues or even the support (forums) of your specific tools for advice. For example, if CUDA support is better than OpenCL support you may want to buy an NVIDIA GPU. In any case, you want to have the fastest one with the most memory you can afford.

  • RAM: As fast as possible and as much as possible for data intensive calculations.

The performance demands come with a couple downsides.

  • Size, and weight. A couple months ago I bought a small-ish, slim laptop at the lower end of the performance range I can accept, and I'm positively in love with it. I put it in my take-on and I hardly notice it. I can carry it everywhere (in your cases: conferences etc.) without it being a pain to lug around. A much bigger advantage than I anticipated. A laptop that is supposed to come close to desktop performance will be huge and heavy and clunky. It may also look inelegant.

  • Heat produced by the powerful processors, and the noise produced by the fan(s) to get rid of it. Be prepared for constant fan noise. How much it matters largely depends on personal sensitivities. The settings where it will be used may play a role as well (small conference room?).

  • The battery life will be much shorter for high-end laptops because the components have been optimized for performance, not frugality. Essentially, you'll need a power source nearby for anything more than a quick glance.

  • Price. The powerful components are expensive. Additionally minimizing weight and size — an attempt to square the circle — will come at a severe financial penalty.

Summing up: If your prime focus is performance while noise and portability are secondary, go for as much power and RAM as you can afford.

P.S. Oh, one more thing: Take a close look at your use cases. If you need a mobile solution mostly because you present results elsewhere or want to do office work on the weekends at home, but not because you'll do serious number crunching on it, then a much more mainstream laptop would do. A combination of that and a capable desktop may not be much more expensive than a high-end laptop, and serve both needs better.

$\endgroup$

You must log in to answer this question.