Jump to content

Help me to chose my new laptop please  

2 members have voted

  1. 1. Which way I should go?

    • M4 Max MacBook Pro
      0
    • Zephyrus 16 or Legion 7 or similar
      0
    • Scar 16 or Legion 7 Pro or similar
      2
    • Scar 18 or Titan 18 or similar
      0
  2. 2. Which brand has better cooling?

    • ASUS ROG Strix Scar
      1
    • Lenovo Legion Pro
      1
    • MSI Titan
      0
    • Alienware m serie
      0


Hello, Everyone

Dear community, I'm a PhD student who has a thesis on machine learning and pharmaceutics. My current laptop is absolutely not up to the task (I have a 13-inch MacBook Pro M1 with 8GB of unified memory). My work initially involves classical machine learning techniques, with plans to progress to artificial neural networks if necessary. Unfortunately, my lab does not provide a dedicated computing platform, so I need to acquire one myself. As I'm living in a dorm, unfortunately I don't have desktop workstations as an option. My data sets aren't huge. They are CSV files around a gigabyte (at max) in size but I don't have any idea about their size in RAM or VRAM. Also I don't have any idea about model sizes.
First I was looking into M4 Max MacBook Pro with 64GB unified memory and 1TB (or maybe 2TB) SSD, but I'm worried about not having CUDA. After that, my attention was drawn into these but I'm worried about breaking the laptop in the training process (I don't know if going 18-inch will improve thermals due to bigger chassis or not):

1- ASUS ROG Scar 16 or 18 with RTX 4090, 32GB RAM and 4TB SSD

2- Lenovo Legion 7 Pro with RTX 4090, 32GB RAM and 2TB SSD

3- MSI Titan 18HX with RTX 4090, 64GB RAM and 4TB SSD

Given this context, which of these Mac or Windows options would you dear experts recommend?

P.S. 1: I don't need the laptop right now and I can wait for the RTX50X0. I will upgrade the options to 5090 ones after they release (Should I do this or buy the 4090 now when it's at its cheapest point?)

P.S. 2: I might use Ubuntu but I don't know if it's necessary or not. Or whether I'll benefit from this move? I have some experience with both Mac and Windows but none with Linux.
P.S. 3: Renting GPU may be considered as a supplement in case of extreme necessity but it's not a way to choose for the main body of work because it would be very expensive in the long run (2-3 years)

Thanks

Link to comment
https://linustechtips.com/topic/1596133-buying-a-new-laptop-for-phd/
Share on other sites

Link to post
Share on other sites

7 hours ago, ali_96 said:

They are CSV files around a gigabyte (at max) in size but I don't have any idea about their size in RAM or VRAM.

As a rule of thumb for something like pandas, you'd need 5 to 10x the dataset's size as RAM to load everything in memory.

Other libraries, such as arrow and polars, are way more efficient.

7 hours ago, ali_96 said:

Also I don't have any idea about model sizes.

Do you have an idea of what kind of models you'll be running?

7 hours ago, ali_96 said:

First I was looking into M4 Max MacBook Pro with 64GB unified memory and 1TB (or maybe 2TB) SSD

That wouldn't be a bad idea.

7 hours ago, ali_96 said:

but I'm worried about not having CUDA.

Do you already know which framework you'll be using? If you're only using something like scikit, then CUDA becomes pointless.

For stuff like Pytorch, it has MPS support. Other frameworks may be trickier.

7 hours ago, ali_96 said:

P.S. 1: I don't need the laptop right now and I can wait for the RTX50X0. I will upgrade the options to 5090 ones after they release (Should I do this or buy the 4090 now when it's at its cheapest point?)

I believe 4090 models will become cheaper after the 5090 laptop becomes a thing. Be aware that both models are not really close to the 4090/5090 desktop counterparts, but rather closer to the x80 lineup.

7 hours ago, ali_96 said:

P.S. 2: I might use Ubuntu but I don't know if it's necessary or not. Or whether I'll benefit from this move? I have some experience with both Mac and Windows but none with Linux.

Windows would be a major let down in performance, and might give you some headaches with WSL + CUDA + memory use.

If you don't have experience with Linux, I guess Mac would be better.

 

Going a couple steps back:

7 hours ago, ali_96 said:

As I'm living in a dorm, unfortunately I don't have desktop workstations as an option.

Wouldn't a small-ish mATX setup with 32~128GB and some "budget friendly" GPU that you can just remote in be useful for you? You would still be able to use your MBP and just SSH into that box and do the heavy lifting there with much more performance at a lower cost.

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to post
Share on other sites

Thank you for your help. Beside of lots of question that I ask bellow, do you know about instability issue of mobile 13th gen and newer Intel CPUs that is being reported lately? The BSODs that Intel says it's not related to the Vmin Shift Instability issue of the desktop chips? I'm worried because that there isn't almost any high-end laptop from major brands like ASUS, Lenovo, Alienware, and ... that offer high-end RTX50xx or RTX40xx with AMD chips that beside their stability, offer much better battery life. I was able to find only this laptop (only in a single store) from 2023 that has flagship AMD CPU with flagship nvidia GPU and it's Lenovo Legion 7 Pro Gen 8 AMD with Ryzen 9 7945HX, RTX4090, 64GB RAM and 2TB SSD for ~$2900.

 

6 hours ago, igormp said:

As a rule of thumb for something like pandas, you'd need 5 to 10x the dataset's size as RAM to load everything in memory.

Other libraries, such as arrow and polars, are way more efficient.

I'm going to use pandas as I'm not familiar with arrow and polars.

 

7 hours ago, igormp said:

Do you have an idea of what kind of models you'll be running?

6 hours ago, igormp said:

Do you already know which framework you'll be using? If you're only using something like scikit, then CUDA becomes pointless.

For stuff like Pytorch, it has MPS support. Other frameworks may be trickier.

I'm going to start with traditional ML methods using scikit and approach to deep learning using PyTorch or TensorFlow if it turns out necessary. Today, I don't know how my 2nd supervisor who is responsible for the AI section will approach to DL, as we haven't find the appropriate 2nd supervisor and I don't if there is any difference between PyTorch and TensorFlow. 

 

6 hours ago, igormp said:

I believe 4090 models will become cheaper after the 5090 laptop becomes a thing. Be aware that both models are not really close to the 4090/5090 desktop counterparts, but rather closer to the x80 lineup.

I know that. I've prepared myself to expect performance of desktop X070 from mobile X090 except larger VRAM that I think is going to be useful in my work.

 

6 hours ago, igormp said:

Windows would be a major let down in performance, and might give you some headaches with WSL + CUDA + memory use.

If you don't have experience with Linux, I guess Mac would be better.

I'm open to learn Ubuntu if in case it's not going to be hard. Actually, I think I should know Linux if I want to work in this field for rest of my academic life.

 

14 hours ago, ali_96 said:

First I was looking into M4 Max MacBook Pro with 64GB unified memory and 1TB (or maybe 2TB) SSD, but I'm worried about not having CUDA.

7 hours ago, igormp said:

That wouldn't be a bad idea.

At first I chose Mac due its excellence in other parameters like battery life, weight, keyboard, trackpad and display. Especially I'm worried about having to pack 5kg-ish backpack (assuming that I don't buy a high-end cooling pad like llano 😄 Should I buy one?) everyday for university. I have a parking slot that isn't far from entrance (100-200m) but 5kg isn't a joke for everyday handling. I'm considering Windows laptops both because of CUDA and because of they're cheaper. I can buy a descent one for ~$3000 but similar Mac costs ~$5000 and someone in reddit made me worried about longevity of this purchase. I've been told that this laptop won't last for more than ~18 months. Also I don't know how Macs runs Linux. Do I have to buy a Parallels subscription like I have to for having windows on them?

 

7 hours ago, igormp said:

Wouldn't a small-ish mATX setup with 32~128GB and some "budget friendly" GPU that you can just remote in be useful for you? You would still be able to use your MBP and just SSH into that box and do the heavy lifting there with much more performance at a lower cost.

Can you please tell me a bit more about this? How I can SSH into the desktop that I have at dorm? Initially, I thought about putting a desktop at my parent's and use remote access apps like TeamViewer or AnyDesk to reach it and upload the code that I wrote on my M1 Mac, but I've abandoned that Idea because of the necessity of asking my parents to prepare the host pc everyday or leaving it on 724 that isn't practically viable.

Link to post
Share on other sites

6 hours ago, ali_96 said:

do you know about instability issue of mobile 13th gen and newer Intel CPUs that is being reported lately? The BSODs that Intel says it's not related to the Vmin Shift Instability issue of the desktop chips?

Sorry, I'm not really keen into that.

6 hours ago, ali_96 said:

I'm worried because that there isn't almost any high-end laptop from major brands like ASUS, Lenovo, Alienware, and ... that offer high-end RTX50xx or RTX40xx with AMD chips that beside their stability, offer much better battery life. I was able to find only this laptop (only in a single store) from 2023 that has flagship AMD CPU with flagship nvidia GPU and it's Lenovo Legion 7 Pro Gen 8 AMD with Ryzen 9 7945HX, RTX4090, 64GB RAM and 2TB SSD for ~$2900.

With an AMD CPU you'd have the advantage of AVX-512, which might be a nice perf boost for your use case.

6 hours ago, ali_96 said:

I'm going to use pandas as I'm not familiar with arrow and polars.

Then 5~10x is a safe margin. You should be fine with 16GB just for data processing, 32GB should be doable overall.

6 hours ago, ali_96 said:

I'm going to start with traditional ML methods using scikit and approach to deep learning using PyTorch or TensorFlow if it turns out necessary. Today, I don't know how my 2nd supervisor who is responsible for the AI section will approach to DL, as we haven't find the appropriate 2nd supervisor and I don't if there is any difference between PyTorch and TensorFlow. 

Stuff like scikit would NOT make use of a GPU at all, so going for an nvidia GPU is useless in this specific case.

Pytorch and tensorflow are just two different frameworks, you can pretty much accomplish the same thing with both.

6 hours ago, ali_96 said:

I'm open to learn Ubuntu if in case it's not going to be hard. Actually, I think I should know Linux if I want to work in this field for rest of my academic life.

Yeah, that's not a bad plan.

6 hours ago, ali_96 said:

Should I buy one?

No idea, I'm not a fan of gaming laptops whatsoever. My main personal laptop is a LG Gram, my work one is a nice MBP, and for everything more demanding I just remote into my desktop.

6 hours ago, ali_96 said:

Also I don't know how Macs runs Linux.

They almost don't. You can run stuff like docker which uses a Linux VM underneath, or you can setup your own VM if you so desire, but performance will be underwhelming.

6 hours ago, ali_96 said:

Do I have to buy a Parallels subscription like I have to for having windows on them?

Not really, have a look at something like this:

https://mac.getutm.app/

https://github.com/lima-vm/lima

6 hours ago, ali_96 said:

Can you please tell me a bit more about this? How I can SSH into the desktop that I have at dorm? Initially, I thought about putting a desktop at my parent's and use remote access apps like TeamViewer or AnyDesk to reach it and upload the code that I wrote on my M1 Mac, but I've abandoned that Idea because of the necessity of asking my parents to prepare the host pc everyday or leaving it on 724 that isn't practically viable.

You could install something like tailscale (it's what I use):

https://tailscale.com/

This would give you an easy VPN that you can then use to SSH into your machine from anywhere. I use it even from my phone (with termux) 😛

I'm not really a fan of stuff like teamviewer or Anydesk, but you could setup some VNC access if you really want a remote GUI.

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to post
Share on other sites

I’m so thankful. You have been a great help.

12 hours ago, igormp said:

You could install something like tailscale (it's what I use):

https://tailscale.com/

This would give you an easy VPN that you can then use to SSH into your machine from anywhere. I use it even from my phone (with termux) 😛

I'm not really a fan of stuff like teamviewer or Anydesk, but you could setup some VNC access if you really want a remote GUI.

Actually I’m not into remote desktop apps too.

Is it possible to wake up the desktop remotely or I have to ask my family everyday? Can you monitor hardware usage and temps while using SSH? If there is a solution that I can remotely wake up the PC with my Mac, run the code, monitor the temps and usage, and then sleep the PC, I definitely go for a desktop PC, put it at my parents’ and run codes remotely. Like you, I don’t like gaming laptops. I think laptops must be thin and light and offer great battery life which almost no gaming laptop met that criteria.

Link to post
Share on other sites

2 hours ago, ali_96 said:

Is it possible to wake up the desktop remotely or I have to ask my family everyday?

You could have something like wake on lan, but to be frank it is quite finicky. Most reliable way would be something like a cheap KVM implementation, such as this one:

https://www.kickstarter.com/projects/jetkvm/jetkvm?ref=5sxcqi

With their ATX Power Control extension (not sure if this is available yet).

A bit more expensive, but the PiKVM should do the job as well:

https://pikvm.org/

 

I personally use wake on lan, never shut down my desktop and have a beefy UPS, so that's often not a problem for me. In the rare cases something happens, I can ask my brother to press the power button back. As an example, I had a power outage at home that's going to last for quite some time (meaning my UPS won't be able to handle my desktop until power comes back), so I just ssh'ed into my desktop, put it to sleep, and will trigger a wake on lan once power comes back.

2 hours ago, ali_96 said:

Can you monitor hardware usage and temps while using SSH?

Sure thing, look into nvtop for GPU resources, and for CPU on linux you can just grep this data straight from the system (there are some fancier stuff like btop, but I'm not really used to those)

https://github.com/Syllo/nvtop

https://github.com/aristocratos/btop

2 hours ago, ali_96 said:

I definitely go for a desktop PC, put it at my parents’ and run codes remotely.

My initial suggestion was more geared towards you setting up a small box in your dorm, if possible, like underneath your bed/desk or something, but if you can get this running, great! haha

2 hours ago, ali_96 said:

Like you, I don’t like gaming laptops. I think laptops must be thin and light and offer great battery life which almost no gaming laptop met that criteria.

Great minds think alike haha

 

Anyhow, without knowing more details on your demands, I'd say that a 24~32GB MBP would be able to handle everything you mentioned so far. I'd personally say to avoid a Max model since those are really power hungry, a Pro model would give you way more battery life (and be cheaper as well).

I have a 36gb M3 Max from work, and its battery life is really disappointing compared to my other M3 Pro or my previous M2 Pro, whereas the CPU perf is kinda on par with my 5950x desktop, but not that relevant given the low amount of RAM (so for anything that's actually intensive, the CPU will be bottlenecked by the swap usage).

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to post
Share on other sites

9 hours ago, ali_96 said:

Is it possible to wake up the desktop remotely or I have to ask my family everyday? Can you monitor hardware usage and temps while using SSH? If there is a solution that I can remotely wake up the PC with my Mac, run the code, monitor the temps and usage, and then sleep the PC, I definitely go for a desktop PC, put it at my parents’ and run codes remotely. Like you, I don’t like gaming laptops. I think laptops must be thin and light and offer great battery life which almost no gaming laptop met that criteria.

You could use a raspberry pi (you can find one used for <$20) and use the gpio pins to control the power buttons on your pc. The pi can run 24/7, and you can remotely send a command to the pi to turn on your PC. 

As @igormp said, I would highly recommend tailscale, its worked great for me (I have also used zerotier and had great experience with that as well), and I also use a remote software called rustdesk to access my home server. Completely free software wise, and only $20 extra for the pi, and you have a whole remote setup. If you would like I could go more in depth on these, but I figured this should be enough for you to consider if this is something you want to use or not.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×