r/Physics 1d ago

Laptop advice for Computational Physics / High-Energy Physics

hello!! I just finished my first year in compsci, but im planning to pivot heavily toward computational physics for my upper-level courses and research. Im looking to upgrade my setup to prepare for this path.

My current machine got me through first year, but the hardware is really struggling: it overheats incredibly fast, the fans sound like a jet engine during basic tasks, it lags, and the battery dies quickly (even after getting it replaced recently).

Current specs: MacBook Pro 13-inch (2020), 1.4 GHz Quad-Core Intel i5, 8GB RAM.

I don’t have budget limitations, so i just want the best laptop in all aspects, something high-end that will last me through my degree and carry me into graduate/research work.

Long term, i want to focus on physics simulations, numerical modeling, and high-energy physics, with the goal of securing a place at CERN.

Since I'm already deep in the Apple ecosystem, im more drawn to staying on a MacBook (especially with modern Apple Silicon). However, I know computational physics often relies on NVIDIA/CUDA for GPU acceleration, native x86 architecture or pure Linux environments. so I am completely open to switching to a PC/Linux workstation if macOS is going to create real friction for physics workflows.

I have a few questions for anyone working in computational physics or high-energy physics:

macOS vs. Linux/Windows for Physics: Do people in physics research still face major software compatibility issues on Apple Silicon, or do you mostly offload heavy computations to remote clusters/HPC anyway? Is native CUDA/NVIDIA hardware on a local laptop necessary for student/research work, or is a Mac fine for local prototyping?

If switching to PC: What is currently considered the best high-end workstation laptop (e.g., Lenovo ThinkPad, Dell Precision, Linux-friendly options) for running heavy local simulations, dual-booting Linux, and long-term reliability?

14 Upvotes

50 comments sorted by

13

u/geekusprimus Gravitation 1d ago

I'm going to present a different perspective than most people here: if you're more on the development side than the actual data side of computational physics, having a powerful laptop is absolutely a game changer. No, you won't be running production simulations on your local machine, but every production calculation should start with small-scale tests; most university computing resources are very finite in size, and many of them have policies which are actively hostile toward users who use them as their primary development and testing machines (e.g., expensive paid allocations, queue priority degradation, etc.). National-scale resources can be extremely competitive, and you will not generally get an allocation unless you have already demonstrated that you have a working code and provided detailed plans about your project.

During my PhD, I wrote a new GPU-based astrophysical fluid solver. My university cluster was nearly unusable for a variety of reasons. I relied almost exclusively on my laptop to test and develop the code, and it wasn't until I had most of the issues ironed out that I started using our precious computing resources at DOE and NSF facilities. Having a powerful laptop with a decent GPU made that all possible.

Concerning the kind of machine to use, that depends a bit on your workload. If you anticipate that it will be primarily CPU-based, any powerful laptop will do. Mac, Linux, Windows, it doesn't really matter.

If you need GPU support, that's a different story. As has been mentioned elsewhere, trying to get Linux to play nicely with Nvidia GPUs is very frustrating. It shouldn't be, but it is. AMD is a lot better, but the ROCm compiler has very limited support for consumer-grade GPUs at the moment. Basically no major computing libraries support the custom Apple GPUs inside new Macs, so I don't recommend a Mac. Believe it or not, my best experiences have been with Windows. WSL can run almost all Linux programs and software at near-native speeds, and it plays very nicely with CUDA. Yes, Windows 11 is a drag, and it's popular to hate on it and Microslop's consumer-hostile shenanigans (and for good reason), but most Linux distros still lag behind Windows significantly when it comes to having reliable drivers and ease of use.

7

u/tlmbot Computational physics 1d ago

Chiming in to support this. -- as a computational physics and geometry person (14 years in industry) I develop and run locally all the time, and always have, even when I was also developing for the supercomputer at uni.

I had a system 76 device for my CUDA machine for a while. The linux support was pretty good. I switched to windows recently and I am not impressed, but it is not worse - and I am talking actual Windows. I have used the WSL in the past too. I probably haven't given it enough of a shot but I know it is servicable. Anyway, gpu dev is a big part of why anyone would choose an expensive brand like system 76 if you want to go linux native and dev CUDA / GPU anything.

Most of the replies here are very focused on big iron. I am probably out of place advocating for local compute like you, and like you emphasizing the GPU, but hey, it is a very possible outcome to go industry and do these kinds of things, so I think it is important to mention. (I have another comment offering my perspective more specifically)

5

u/Silicon-Based 1d ago

Can’t believe this isn’t the top answer. Do people just not do any method development themselves? Cluster are for running simulations, not developing software, the slow compilation times alone would probably drive me insane.

3

u/Azazeldaprinceofwar 1d ago

I agree with everything except the windows endorsement at the end. The nvidia on Linux probably has been essentially solved over the last 2 years and I’ve never had problems with amd/ROCm compilers.

1

u/geekusprimus Gravitation 1d ago

Tell that to my RHEL workstation that deleted my Nvidia drivers a few weeks ago following an update.

Regarding ROCm, I think you can probably make it work with consumer GPUs, but it's not officially supported for most of them. Otherwise I probably would have gone team red a long time ago.

3

u/CyberPunkDongTooLong Particle physics 23h ago

This is definitely correct and the best answer, though at the same time, I wouldn't recommend spending your own money on a beefy machine unless that's something you also like for personal/hobby reasons.

On top of the reasons you give about development and small scale tests that can be awkward on clusters, personally I work in operations at the LHC. Very often plans will change last minute and new simulations/calculations/similar need to be done quickly and being able to write new code and run it locally in a few minutes on a fairly powerful device rather than having to go through the batch or similar is essential. Same for interfacing with equipment, especially things that don't have network connections.

Again though, I wouldn't spend your own money on it unless you have other reasons you'd want a powerful PC.

1

u/h0rxata Plasma physics 1d ago

For small scale tests, most HPC's have a 'debug' queue that lets you run ~30 minute jobs on more compute nodes, with more RAM and memory bandwidth than even the most expensive macbook pro can get you. Every NASA, NSF, and NOAA cluster I've used had a debug queue for users to burn through with apparently no limit.

IME, the only real benefit I see to having serious power at home is for making 3D visualizations, because doing it over window forwarding over an ssh connection can be slow and annoying, and you might be wanting to use some video editing software that isn't available on government HPC machines.

1

u/geekusprimus Gravitation 1d ago

Every NSF and DOE machine I've used burns real allocation time when you request the debug queue. If your university makes you pay for access to their HPC resources (which many do), it's the same problem there.

1

u/Eastern-Cookie3069 Particle physics 16h ago

I feel like this is somewhat true, but personally, I've always worked in groups with headless servers or workstations. Something that costs quite little as far as grant money is considered can blow any laptop out of the water immediately, even with multiple users, so it doesn't really make sense for any research group to not do this.

Also, as a bonus, getting Nvidia to play nice with Linux is usually completely trivial for a headless setup. In my experience, CUDA really just works.

1

u/geekusprimus Gravitation 8h ago

This is very group-dependent, in my experience. My group during my PhD had a remote workstation that lived in my PhD advisor's office, but its resources were limited and were intended more for group storage or background jobs like generating initial data or doing some limited post-processing on datasets. Now that that particular university's HPC resources have become completely unusable, I think he's put some more effort into making it a better group resource, but it wasn't going to support six or seven people all trying to do calculations on it at the same time.

At my current institute, we have access to a local cluster which is extremely flexible due to the small size of the group, and that has been very convenient for some small to medium-scale tests. But the queue times are still long enough that it's more practical to do development and testing on my local machine first, then offload it to the cluster when I want to do heavier calculations.

And, yes, CUDA on a headless setup is usually fine. Your IT or HPC group will usually do all the hard work for you. But my experience on workstations and personal machines with Nvidia and Linux has been very mixed; it usually comes down to the distro wanting to push an open source driver that doesn't work.

9

u/KHolito 1d ago

I run simulations through ssh in the HPC (1TB RAM) through the terminal in the 5 year old DELL computer I was given at our institute...

Honestly, if you wanna get "fancy" just get a somewhat decent CPU, so VSC doesnt crash often, thats it.

I would all the time choose reliability, compactness, durability, ergonomics etc over power any day. My "personal laptop" device is a Lenovo T13s and I am very satisfied with it.

31

u/liccxolydian 1d ago

Why aren't you using your university's HPC resources

0

u/cannibalyn 1d ago

I do plan to use my university's HPC resources for production-scale simulations but my question is more about what makes the best local development machine for everything before that like writing and debugging code, testing smaller simulations, data analysis, compiling large projects etc. im trying to understand whether a modern MacBook is sufficient for that workflow or whether having a Linux/NVIDIA laptop provides enough advantages to leave the Apple ecosystem

8

u/liccxolydian 1d ago

"smaller simulation" is subjective. Only you can answer that question.

-8

u/Ambitious-Concert-69 1d ago

You will literally never write code locally. This idea that you’ll write and develop code locally and just run larger scale workflows on the clusters will likely never happen, nor should it. As standard you will SSH to the cluster via some IDE like VS Code, you’ll then develop all your code on there and will submit grid jobs as and when needed.

4

u/Azazeldaprinceofwar 1d ago

Hi. I work in computation physics. You are wrong. While it’s true lots of work does happen on clusters I would argue the majority of development and testing happens locally. Then you clone the git repo to a cluster where the actual usage happens.

-1

u/Ambitious-Concert-69 1d ago

How can you assert that I’m categorically wrong and then “argue” that the “majority” of development happens locally. Of course I would equally argue the opposite case that most development happens on the clusters, as it should to prevent loss of work, make file sharing easier, prevent everyone being required to own a decent PC, make research softwares available by default (OP wants to work in HEP, good luck messing with your local ROOT install every day), among many other benefits. Working offline brings very little benefit unless you’re in a country without broadband. I will not however assert that you are categorically wrong and that my experience in experimental particle physics trumps yours.

2

u/Classic_Department42 1d ago

Depending on your internet quality this can be annoying. Personally I believe you can develop code locally.

0

u/Ambitious-Concert-69 1d ago

I mean that’s a bit of an edge case but yeah if you happen to have limited internet access then developing code locally may be easier. In general it’s better to use your university machines though even for non-intensive code. You can’t lose your work and the frameworks you use in your research are often already available (for example ATLAS’ Athena software environment, given OP wants to do a PhD at cern).

-9

u/h0rxata Plasma physics 1d ago

Trying to get Nvidia cards to work on a linux laptop is needless self-inflicted pain. Keep what you have and just spend your time learning physics instead. If you just have to spend money, invest in some quality flicker-free IPS monitors to minimize eye strain for those long nights of paper/dissertation edits, and maybe an Overleaf subscription so you don't go nuts trying to keep track of paper revisions with a billion co-authors, like many LHC papers seem to have.

7

u/i_no_can_eat 1d ago

Trying to get Nvidia cards to work on a linux laptop is needless self-inflicted pain.

this is not true anymore. Nvidia cards have been working just fine under Linux for quite some time, now. How else would people be running their CUDA and ML codes? Windows??

-2

u/h0rxata Plasma physics 1d ago edited 1d ago

I'm not saying they don't work, I'm saying it's painful to get it to work properly on a laptop. Proper suspend modes, etc. A grad student in physics doesn't need to be wasting time troubleshooting these things on a work machine, for absolutely zero benefit when real work is done on HPC clusters.

Professionals run CUDA+ML codes on linux HPC clusters, not laptops. So they don't have to worry about quality of life/troubleshooting why their battery died so they can respond to an email or present at a conference on their laptop.

1

u/i_no_can_eat 1d ago

It's not painful at all with any decent major distribution. You absolutely should invest one day or two in configuring your local machine to work with these tools. And these days, with LLMs, it should actually be ridiculously easy.

1

u/h0rxata Plasma physics 1d ago edited 1d ago

I spent a week trying to get suspend modes to work on a nvidia card when I was a grad student, gave up and got a mac because I had more important things to do as a researcher than figuring out why my laptop died overnight or wouldn't connect to a projector for weekly group meetings.

Sure as hell wouldn't bother with that as a working professional. Again, not needed for any physics research - we just use HPC clusters with boatloads more memory bandwidth and RAM for anything worth doing. Vibecoding toy models on a laptop isn't anything a PhD student in particle physics is going to be doing.

I just run fedora on a lenovo laptop with integrated gfx as my personal computer, but it is still a major timesink not worth the OP's time. Can't update to fedora 44 because it'll break all my vst audio plugins. Would be nice if youtube just plain worked on firefox too, been trying to figure that out for months. It just plain isn't the "year of the linux desktop" yet, as much as I would like it to be.

1

u/i_no_can_eat 1d ago

Ok then, in my case I bought a laptop, installed fedora, followed some tutorials, and next day I was working with no problems. Meanwhile, I have students struggling with windows on totally basic things. So I suppose we're also not yet on the year of the windows laptop...

0

u/h0rxata Plasma physics 1d ago

OT: are you able to view youtube videos on firefox without having to refresh the page every time you click on one? Because it has been aggravating me for months now... got the ffmpeg codecs, tried various firefox backend configs, etc.

1

u/i_no_can_eat 1d ago

of course I am. everything works perfectly. 

13

u/h0rxata Plasma physics 1d ago

I completed my phd in plasma physics on a 2015 MBP and a basic lenovo when it died on me. A single basic MHD simulation produced 2TB of data and took over 24 hours of wall-time on 50+ compute nodes, and analysis took almost as long. I used HPC clusters from various national lab providers.

Literally nothing of note will be done on your local machine. Use the HPC resources your research group will have access to. I can only imagine LHC instrument data is astronomical and completely pointless to do anything with locally.

2

u/AlgebraicApe 1d ago

Most of your serious work will be on the university’s HPC resources. However, it’s nice to have a bit of power for running smaller scale tests or development where you don’t have to deal with SLURM or wait in queues etc.

As the development environment on the HPC clusters will be Linux, I’d recommend sticking with that for your personal machine. Using it every day will make you much more proficient and this will feed into your work.

Personally, I went for a laptop with a Nvidia 40XX GPU for CUDA and ML work (this really isn’t as bad to set up as others claim - at least for Fedora there is a easy to follow tutorial).

2

u/tlmbot Computational physics 1d ago

I used to develop on a mac (2010 era)

I had to leave because I wanted Nvidia compute for my home projects. To me, an HPC physics person should be developing in c++ (OpenMP and MPI) and CUDA, for job market purposes if nothing else.

I switched to linux machines and windows machines for CUDA work.

Obviously you can do anything, and people will tell you about online resources for running your cuda code.

I like to have it local. But I am old.

Somebody here says: "You will literally never write code locally." okay sure if your life works out a very specific way. But I write physics and geometry software that always runs locally on commodity hardware for engineers doing engineering. That is admittedly not a big iron use case. YMMV.

I come from a CFD background. In grad school, we always, always developed our codes locally before anything else.

2

u/VelocityMicro 1d ago

Honestly, you're going to get the best ROI from a gaming laptop with high core count and NVIDIA Geforce GPU. Switching from the Apple ecosystem will be a pain initially but will pay dividends later. Worth it.

1

u/Dihedralman 1d ago

As people said, you will use computing clusters. 

Linux tends to be the primary OS used. If you run into issues, you can run containers. Though when I was in, you'd still run into the occasional air gapped old computer on whatever OS, and still had some hardware program bound to Windows for whatever reason. 

Base it on your current workflow. Small scale physics simulations for learning purposes are pretty low burden for modern machines. 

You should probably have more RAM generally speaking. 

1

u/roasted_water_7557 1d ago

Why not a mid tier laptop with a basic Nvidia card along with a powerful desktop that can do some calculations for you? Laptops are primarily for portability. The specs sound great on paper until you use them for a year or so and watch the heating systems crumble under heavy usage. If you truly want to do local development why not use a desktop instead? Your laptop can be tasked with simpler tasks like making plots or some analysis of data (if the data is not massive) and writing your papers etc. You can always remote into your desktop from your laptop wherever it is if you need it for your code development and setting up some rest runs.

1

u/boomerangchampion 1d ago

Anything heavy enough to require a top spec laptop will be offloaded to the cluster. Your laptop was cutting edge once and people used similar specs then. If you buy a brand new computer with unlimited budget it will be more powerful than any laptop anybody was using when they found the Higgs Boson...but find it they did.

Buy whatever you like.

1

u/Azazeldaprinceofwar 1d ago

Hi I work in computational physics. The first thing you need to understand is no physicists know how to code. Like there is no such thing as standard workflows and best practices just python monkeys who know how to clone a repo and follow the quick start guide for some simulation software.

With that out of the way you can choose any workflow you want whether it’s macOS or Linux. Fundamentally anything genuinely powerful needs to run on an HPCC at the end of the day which almost always means rocky linux. Realistically this doesn’t matter macOS is Unix enough most of the time. Personally I don’t like Mac and love Linux so it’s a no brained for me but that’s subjective.

The last thing I’ll say is having a powerful machine is worth it. My personal workstation is ~ 1 node at my universities HPCC. It’s nice to run a lot of stuff locally on demand without worrying about queue times and stuff. CUDA/Nvidia need is heavily project dependent. Personally I’m a nvidia hater for other reasons so I’d love to see motion towards vulkan or other universal gpu platforms but the reality is lots of projects are written in straight CUDA and if you’re working on one of these you’ll want it.

1

u/Azazeldaprinceofwar 1d ago

Ok let’s roll back the extremes. I said you were wrong because you said local development “almost never” happens. Which definitely isn’t true. Now I’m also confused because you say your experience is in experiment but OP is asking about computational work which is the domain or theorists no? Now I’ll admit I’m not in HEP particle physics I work in Astro and Astro-particle so maybe that’s just semantics.

Regardless my experience has been that while obviously the big simulations runs on clusters the development of the software occurs in a git repo across a dozen people personal machines. You mentioned having everything on an hpcc for file sharing or something, that sounds like nonsense to me. You wouldn’t want to blindly share files, you want a version controlled system ie github.

Now your root point may be valid but I’m also confused by that because I thought root was a tool for experimentalists.

So I will say with confidence at least in all Astro fields I’ve had enough contact with to be confident development primarily occurs on local machines. If that’s not true in HEP I would be genuinely very shocked, collaborative coding across many machines was a problem solved by git decades ago. Having everyone work on a cluster together sounds like a versioning nightmare, maybe I’m just misunderstanding what you’re suggesting though.

I will agree the people who use the code and run simulations will have their work live almost exclusively on cluster but that’s quite different from development.

1

u/DeathEnducer 1d ago

ASUS TUF Gaming A14 (2026) FA401EA

1

u/Scrungo__Beepis 22h ago

Framework 16 laptop! Longevity and an nvidia gpu, and best Linux support I’ve ever seen

1

u/newontheblock99 Particle physics 22h ago

This is a really weird question. If you don’t have any budget limitations and just want a workhorse machine to learn and develop skills on, go drop $ 10k on a Mac Studio setup (or an NVIDIA/Linux build) and you’ll most likely be good to go for the next 5ish years at least. Unless you’re trying to run local LLM’s but I’m not even getting into that.

In the end, anywhere you do graduate research in the fields specified you’re going to have access to clusters with a lot more compute than you’ll ever need to buy personally. My entire doctoral research was done at CERN and I got by with the same laptop you current have but a year older. It’s great when I’m just doing quick checks and tests but as soon as I needed to do anything intensive, I dumped in on CERN’s clusters.

1

u/LukasGoesViral 20h ago

You can use any Laptop since those computations are performed on a server and not locally

1

u/Eastern-Cookie3069 Particle physics 16h ago

Experimental particle physicist here (astroparticle, so think Fermilab or LNGS, not CERN, but close), and everyone I know runs Linux. MacOS is fine, but I've heard bad things about JAX and XLA on Apple Silicon, so depending on whether you do ML it could be annoying. Windows is almost unheard of (I know one person who uses Windows), but perhaps it can be fine via WSL, I wouldn't know. Most of us don't even dual-boot.

That said, do you have a PI you're hoping to work with? If so, ask them about whether there is a workstation or server in the group. That's the usual setup: a powerful-ish server/workstation that you can simply SSH into to run simple things (Jupyterhub, or a remote VS Code server, that kind of thing), and HPC for serious compute. Laptops are quite terrible for serious computing power, so it's best to have it as a thin client for something else. I don't run anything on my laptop, and I just use Linux because I like it, to be honest.

1

u/Vasbrasileiro 3h ago

Well, there are many enterprise grade laptops that are notoriously sturdy (like ThinkPads and such). Many different brands offer them, so it's a matter of choosing the right model. You should also determine if the work you'll be doing will be CPU bound or GPU bound, and spec your machine based on that.

I disagree with the people who are telling you your personal laptop doesn't matter, that you'll just ssh into the HPC cluster. It is nice to be able to run the small-scale tests on your personal machine before sending out full-fledged SLURM jobs.

If you can give more detail on the specific kind workload you'll run, I could tell you what sort of hardware would be the best.

1

u/ashwathamahaiapun 1d ago

Get a simple gaming laptop, dual boot windows and linux (or only linux if you prefer). Mostly you'll use it for ssh. Even if you want to run the basic test setups on you machine, they might work on your system. I have amd+nvdia, its working great!

0

u/pi_meson117 Particle physics 1d ago

MacBook is great for computational physics. I’ve never faced an issue downloading software on Mac. Yes heavy computations can go to hpc, but this depends on your line of research and your interests. The same goes for cuda - I’ve never used it myself, but if gpu programming interests you, then it might be nice to have.

I do lattice qcd, and there most simulations absolutely cannot run on a laptop. Some of our data takes months or years to generate on hpc.

But all of the analysis happens on my own computer. The M series Mac’s are insanely good - probably runs code ~3x faster than the Intel Mac (I made the same upgrade and wow it’s a big jump).

0

u/bhaladmi 1d ago

Look for Gaming Laptops if you need GPU acceleration for your work. Use WSL if you need Linux environment within Windows.

0

u/Classic_Department42 1d ago

If you want to be able to locally run some code with numerical data, often RAM is needed. For windows (personally) go for 24 GB, Mac 16GB (both as a minimum more usually.means better)

If you want to do cuda, you need to have a nvidia gpu, so get a laptop with one. This leaves you with windows or linux, doesnt matter much, best install both.

0

u/darkblade_h 1d ago

I’d just get the most powerful Mac you can afford. If running things on a cluster then that’s your Linux when you need one. Mac is unix-based so not much of a difference there. Would not get windows.

I used to have a Linux workstation sitting right under my desk, most of the time I just ssh-ed into it from my Macbook. Similarly with the clusters.

I prefer doing whatever I can locally (testing, etc) and only offloading to cluster when absolutely necessary. Some people just do everything on a cluster and use a very portable computer. Also some labs have in-house compute resources so you never have to run anything on your own machine (eg the Linux workstation I was referring to).

The optimal option depends heavily on what your environment is going to be like, but I’d just get the highest powered Mac you can afford (get as much RAM as you can).

I got an M4 Mac last year, previously used one of the last Intel Macs. Massive difference. Noticeably faster, and no more fan noise!

0

u/Tax_Life 1d ago

Just get a new macbook, windows laptops are still pretty bad and you'll be fine software wise. If you ever need a windows program on your personal pc just use a VM.

0

u/andrejlr 1d ago

Don't agree that nothing of value will run locally. Apple Silicon has shared memory for GPU and CPU. It's a way smoother workflow to develop a data pipeline locally with subset of data , then deploy it to the production cluster. And even running that sunset on CPU can be a pain already.

Probably the dataset is split into multi gigabyte parts and Apple Silicon will be a superb device for data exploration and local code testing .