kinu-garage / hut_10sqft

Computer setup tools for my own environment, and public discussion place holder.
Apache License 2.0
2 stars 1 forks source link

2024Q2: all computers I have are short for running Unreal Engine #866

Open 130s opened 11 months ago

130s commented 11 months ago

Issue

In https://github.com/kinu-garage/hut_10sqft/issues/862#issuecomment-1631509730 after a few days of try & error, it is finally getting clear that p16s is not powerful enough for Unreal 5.2 that recommends 8+GB VRAM.

CoS

  1. [x] Should I pursue using Unreal? --> That's a separate decision made somewhere else.
  2. [x] List up and evaluate potential options to keep using p16s for Unreal 5.2+ --> https://github.com/kinu-garage/hut_10sqft/issues/866#issuecomment-1632186218 Answer is No.
  3. Alternatives
130s commented 11 months ago

Can Unreal be configured to need less VRAM?

Enhancing GPU on p16s

Both Bard and ChatGPT say no. Bard: > No, you cannot upgrade the GPU on the ThinkPad P16s. The GPU is soldered to the motherboard, so it cannot be replaced. This is the case with most laptops, as it is not practical to design a laptop that allows the user to upgrade the GPU. > > If you need a laptop with a more powerful GPU, you will need to purchase a different model. Some laptops that allow you to upgrade the GPU include the Lenovo ThinkPad P15, the Dell XPS 17, and the Razer Blade 15. > > However, if you are happy with the performance of the GPU in the ThinkPad P16s, you can still upgrade the memory and storage. This will give you a performance boost in other areas, such as multitasking and loading applications. CGPT > The ThinkPad P16s is a laptop model manufactured by Lenovo. Typically, upgrading the GPU (Graphics Processing Unit) in a laptop is not feasible due to design limitations and hardware compatibility. Unlike desktop computers, laptops usually have integrated or soldered GPUs, which cannot be easily replaced or upgraded. > In the case of the ThinkPad P16s, it features an integrated GPU that is integrated into the processor itself. It is not possible to upgrade the GPU in this laptop model. The graphics performance of the ThinkPad P16s is determined by the specifications of the integrated GPU, which cannot be changed without replacing the entire motherboard or processor. > If you require more powerful graphics capabilities for your tasks or applications, it is recommended to consider purchasing a different laptop model with a more powerful GPU that meets your requirements.

Can an external GPU connected to p16s?

Bard says yes. > Yes, you can connect an external GPU to the ThinkPad P16s. The ThinkPad P16s has a Thunderbolt 4 port, which can be used to connect an external GPU. This will allow you to use a more powerful GPU than the one that is built into the laptop. > > To connect an external GPU to the ThinkPad P16s, you will need an external GPU enclosure and a compatible graphics card. The enclosure will provide the power and connections that the graphics card needs. The graphics card will provide the additional processing power that you need for graphics-intensive applications. > > Once you have connected the external GPU, you will need to install the drivers for the graphics card. The drivers will allow the laptop to communicate with the graphics card and use its processing power. > > Here are some external GPU enclosures that you can use with the ThinkPad P16s: > > - Razer Core X Chroma > - Razer Core X Chroma external GPU enclosure Opens in a new window > - Razer Core X Chroma external GPU enclosure > - Sonnet Breakaway Box 350 > - Sonnet Breakaway Box 350 external GPU enclosure Opens in a new window > - Sonnet Breakaway Box 350 external GPU enclosure > - Aorus Gaming Box > - Aorus Gaming Box external GPU enclosure Opens in a new window www.amazon.com > - Aorus Gaming Box external GPU enclosure > > Here are some compatible graphics cards that you can use with the ThinkPad P16s: > > - NVIDIA GeForce RTX 3080 Ti > - NVIDIA GeForce RTX 3080 Ti graphics card Opens in a new window www.notebookcheck.net > - NVIDIA GeForce RTX 3080 Ti graphics card > - NVIDIA GeForce RTX 3070 Ti > - NVIDIA GeForce RTX 3070 Ti graphics card Opens in a new window www.bestbuy.com > - NVIDIA GeForce RTX 3070 Ti graphics card > - AMD Radeon RX 6800 XT > - AMD Radeon RX 6800 XT graphics card Opens in a new window www.amd.com > - AMD Radeon RX 6800 XT graphics card > > Please note that not all external GPUs are compatible with all laptops. It is important to check the compatibility of the external GPU and the laptop before you purchase them.

However NVIDIA GeForce RTX 3080 Ti can be $1K+ so buying it and externally connecting is not worth the cost.

Increasing VRAM on p16s

Bard says it is possible. > The ThinkPad P16s has a fixed amount of VRAM, which is 128MB. This cannot be increased. However, you can allocate more system memory to the GPU, which will be used as shared memory. This can be done in the BIOS settings. > > To increase the amount of shared memory for the GPU, follow these steps: > > - Boot your ThinkPad P16s into the BIOS. > - Use the arrow keys to navigate to the "Graphics Settings" or "Video Settings" menu. > - Find the option to "Allocate Shared Memory" or "VGA Share Memory Size". > - Increase the value of the shared memory. The maximum value is 50% of your total system memory. > - Save your changes and exit the BIOS. > > Once you have increased the amount of shared memory, the GPU will have more memory to use for graphics processing. This can improve the performance of graphics-intensive applications. > However, it is important to note that increasing the amount of shared memory will also reduce the amount of system memory available to other applications. If you allocate too much shared memory, you may experience performance problems with other applications. > It is also important to note that increasing the amount of shared memory will not give you the same performance as having a dedicated GPU with more VRAM. If you need a laptop with a powerful GPU for gaming or other graphics-intensive applications, you will need to purchase a different model.

This will be looked more into. --> In BIOS there's a video setting but that only has 2 options, 256MB (current) and 512MB, which sounds like way less than what we're talking about for GPU's need.

BIOS' screenshot (not showing video setting though) PXL_20230712_101949393_p16s_bios

130s commented 11 months ago
130s commented 11 months ago

Unreal can be deployed on Cloud (unrealengine.com) but I don't think it's a good option for a learner.

130s commented 11 months ago

Took quotes from some from Best Linux PC 2023: desktop PCs with Linux pre-installed (techradar.com). Note GPU was kept sub RTX 4K quality for this post.

130s commented 7 months ago

NUC can be an option if you just a relay to GPU (e.g. refer to blogger Nishikawa's) but I need way more versatile usecases to support over the next x years that I cannot even describe for now.

That said NUC falls short regarding versatility. https://www.makeuseof.com/tag/10-things-about-mini-pcs-you-should-consider-before-buying/

130s commented 6 months ago

This is an incomplete log.

The following is what I drafted in 2023/08-09 but it's almost December so some info may or may not be outdated. Just fold-posting for the record. Asked AI expert friend's opinion. Some takeaways publicly shareable incl. - Depending on how much I want to future-proof, better to invest. - system76 may overcharge components? Model | system76 | newegg.com | Other vendors --- | --- | --- | --- RTX 4080 16GB | $1,625 (16384 cuda cores) | Nvidia [$1,419](https://www.newegg.com/p/1FT-0004-00844?Description=RTX%204080%2016gb&cm_re=RTX_4080%2016gb-_-1FT-0004-00844-_-Product). Num. Cuda cores unknown. | [amazon.com $1,332-](https://www.amazon.com/NVIDIA-GeForce-4080-GDDR6X-Graphics/dp/B0BMZ9TGH1), [bestbuy.com $1,200-](https://www.bestbuy.com/site/nvidia-geforce-rtx-4080-16gb-gddr6x-graphics-card-titanium-and-black/6521431.p?skuId=6521431) RTX 4090 24GB | $2,079 (16384 cuda cores) | Nvidia [$2,189](https://www.newegg.com/nvidia-geforce-rtx-4090/p/1FT-0004-00835?Description=RTX%204090%2024gb&cm_re=RTX_4090%2024gb-_-1FT-0004-00835-_-Product) | [bestbuy.com $1,600-](https://www.bestbuy.com/site/nvidia-geforce-rtx-4090-24gb-gddr6x-graphics-card-titanium-and-black/6521430.p?skuId=6521430) RTX 4060 Ti 8GB GDDR6 | x | [$400](https://www.newegg.com/gigabyte-geforce-rtx-4060-ti-gv-n406teagle-8gd/p/N82E16814932620) | [bestbuy $399](https://www.bestbuy.com/site/nvidia-geforce-rtx-4060-ti-8gb-gddr6-graphics-card-titanium-and-black/6543946.p?skuId=6543946)
Conversation > I think keeping up with new tools and tech is the best thing you are doing in between jobs. I really think it would pay off once you get a job. If you have some shareable work on your simulations and/or ML I'm really interested to check them out! About a workable system, the first thing I'd suggest is to decide on the workload on the new system that you are planning to buy. For example, are you planning to train ML models on those OR just run inferences on already trained models OR use them for simulation OR all of the above? This matters because the specs on a GPU + CPU affect the application you will be using it for. Here are some generic rules > > - For model training: now-a-days AI models are huge! Get a GPU with large VRAM (ex: I have an RTX3090 with 24GB in my personal computer), lots of cuda cores, CPU with lots of threads (multi threading avoids bottlenecks in preprocessing data batches for GPU training), and lots of RAM (the preprocessed data is loaded into RAM and then transferred onto the GPU) > - For model inference: typically a 8GB GPU will suffice, however if you want to run some of the newer diffusion models (for image generation) and/or the LLM models (LLaMA or other chatgpt like) the you'd require a larger VRAM on the GPU. RAM, CPU are not as significant here. Cuda cores will determine how fast the inference is (more cores == faster inference) > - For simulation: Like you mentioned you need more VRAM, but I'd also recommend more cuda cores and try to get the later architectures because they speed up several computations. For example the RTX 3060 8GB and the RTX 4060 8GB are very similar even in cuda processors, however the latter runs at 2.5GHz vs 1.8GHz > > If you were just gaming then a 3060 8GB would be great! > However, for simulations and future proofing your system, I'd recommend spending some more (because how often are you going to buy a new GPU). If you can spend that much I would've said get a 4090 (~$1700 on newegg). > But if you are just looking for simulations on unreal like simulators, then I'd even suggest the soon to be released 16 GB 4060Ti (claims to be ~$500, but is getting bad news for being so expensive). > Alternatively, the 12GB 4070 (~$600 on newegg) has decent cuda cores, good clock speed and enough VRAM for simulations. > But the most optimal option I see is a 4080 (expensive, at ~$1200) with 16GB, 16GB would be future proof. > The RTX A4000 is slightly more affordable (~$900) with 16GB and enough cuda cores, however it's an older generation (less features) and with lesser clock speeds. Since you didn't give me your budget I cannot say which one works for you, but hopefully this list can guide you in making that decision. > Another note: I see system76 has overly priced GPUs when configuring their systems, maybe consider buying separate components and assembling the PC yourself.
- Vendors: Nvidia, AMD, Intel https://www.xda-developers.com/gpu/ ## Usecases as of 2023/07, projected 3 years ahead (til 2026) - Unreal Engine https://github.com/kinu-garage/hut_10sqft/issues/866 - [ ] Does Unreal work with AMD/Intel? - [unrealengine.com/5.2](https://docs.unrealengine.com/5.2/en-US/hardware-and-software-specifications-for-unreal-engine/) doe only list Nvidia (960 GTX) or higher. In later sec [RTX 2000](https://www.amazon.com/PNY-NVIDIA-A2000-Graphic-VCNRTXA2000-PB/dp/B09KMMQW6M), much higher version, is listed. - RHI section, and other sections on the same page lists AMD & Intel. - AMD RX-6000 series or newer - Robotics sims are probably far less demanding hardware-wise. - ML e.g. https://github.com/kinu-garage/essay_in_idleness/issues/164 Metrics (e.g. [GTX 960 (amazon.com)](https://www.amazon.com/EVGA-GeForce-Whisper-Graphics-02G-P4-2966-KR/dp/B00SL2TQ2C?th=1)) - Graphics Ram (VRAM?): Unreal 5.2 requires 8GB at minimum. - GPU Clock Speed: 1279 MHz - Video Output Interface: DVI, HDMI Take Unreal 5.2 minimum req, [Nvidia Quadro 2000 vs AMD RX 6600 (gpu.userbenchmark.com)](https://gpu.userbenchmark.com/Compare/Nvidia-Quadro-2000-vs-AMD-RX-6600/m7708vs4128) - [An ostensibly experienced reviewer sounds so against AMD](https://www.userbenchmark.com/GPUPro/User?id=29)
As of now top 40 in https://gpu.userbenchmark.com 1. Nvidia RTX 3060 $290 1. Nvidia RTX 3060-Ti $325 1. Nvidia RTX 4070-Ti $819 1. Nvidia GTX 1660S (Super) $235 1. Nvidia RTX 3070 $500 1. Nvidia RTX 3080 $729 1. Nvidia RTX 4090 $1,600 1. Nvidia RTX 3050 $245 1. Nvidia GTX 1060-6GB <-- Looks very familiar :thinking 1. Nvidia RTX 2060 $284 1. Nvidia RTX 4080 $1,183 1. Nvidia RTX 4070 $610 1. Nvidia GTX 1650S (Super) $646 1. Nvidia RTX 2070S (Super) $1,810 1. Nvidia RTX 2060S (Super) 1. Nvidia GTX 1660-Ti $300 1. Nvidia RTX 4060-Ti $380 1. Nvidia GTX 1070 $168 1. Nvidia GTX 1050-Ti $141 1. Nvidia GTX 1650 $165 1. AMD RX 580 $130 1. AMD RX 590 1. Nvidia RTX 4060 $300 1. Nvidia GTX 1080-Ti $399 1. Nvidia GTX 1660 $243 1. Nvidia RTX 2080S (Super) $518 1. Nvidia RTX 3090 $1,500 1. Nvidia GTX 1080 $621 1. Nvidia RTX 2080-Ti $800 <-- Looks very familiar :thinking 1. Nvidia GTX 1070-Ti 1. Nvidia GTX 970 1. AMD RX 570 $114 1. AMD RX 5700 $179 1. Nvidia GTX 980-Ti 1. Nvidia GTX 980 1. Nvidia GTX 1060-3GB 1. Nvidia RTX 2070 $469 1. AMD RX 480 $300 1. AMD R9 380 1. AMD R9 290X
What connecting interface do most of nvidia GPU come with? > Most NVIDIA GPUs come with a PCIe x16 slot interface. This is the standard interface for connecting graphics cards to a computer's motherboard. It allows for high-speed data transfer between the GPU and the CPU, which is essential for demanding tasks like gaming and video editing. > > Some NVIDIA GPUs also come with a Thunderbolt 3 port. This is a newer interface that is not as widely supported as PCIe x16, but it offers even faster data transfer speeds. Thunderbolt 3 ports are typically found on high-end laptops and desktops. > > Here is a table of the PCIe x16 slot generations and their bandwidth: > > | Generation | Bandwidth | > |---|---| > | PCIe 3.0 x16 | 16 GB/s | > | PCIe 4.0 x16 | 32 GB/s | > | PCIe 5.0 x16 | 64 GB/s | > > As you can see, the bandwidth of the PCIe x16 slot interface increases with each generation. This means that newer NVIDIA GPUs can take advantage of faster data transfer speeds if they are connected to a motherboard with a PCIe x16 slot of the same generation. > > For example, an NVIDIA GeForce RTX 3090 Ti graphics card can be connected to a motherboard with a PCIe 4.0 x16 slot. This will allow the GPU to achieve its full potential in terms of performance. > > However, it is important to note that the PCIe x16 slot interface is not the only factor that affects the performance of a graphics card. The GPU itself also plays a role, as does the CPU and the amount of RAM in the system.
What's blower? What are alternatives? [Open-Air vs. Blower-Style Cooled GPUs – What’s the difference? (cgdirector.com)](https://www.cgdirector.com/open-air-vs-blower-style-gpus/) ### Blower vs. Open Air GPUs – Summary > Buy an Open Air GPU if you: > - Plan to use a single GPU in your system. > - Are using the graphics card in a well-ventilated case, preferably a full or mid-tower case, with sufficient case fans and no obstruction in airflow and a capable cooling solution for the processor, SSDs, and motherboard chipset. > - Need the best possible performance from a GPU and plan to either buy a factory overclocked GPU or overclock the GPU yourself. > - Require a system that has the lowest noise output possible without resorting to passive cooling > > Buy a Blower Style GPU if you: > - Plan on using your GPU in a small form factor (e.g. mini-ITX), provided the graphics card cooler fits in the case. A low-profile graphics card is the only choice for very small cases, which will cause you to miss out on a high-performance GPU. > - Need to run multiple GPUs in a tight space and/or plan on using high-speed interconnects like Nvidia’s NVLink. > - Have a processor or SSD that will struggle in conjunction with an open-air system temperature-wise. This is important if you plan on overclocking your processor as even a single-digit rise in case temperature can lead to system instability and thermal throttling. What is "overclock"ing? [How to Overclock Your GPU to Boost Your Games’ FPS (avast.com)](https://www.avast.com/c-how-to-overclock-gpu)
DDR? GDDR? [J-Chen's blog in 2019](https://medium.com/the-mission/how-to-build-the-perfect-deep-learning-computer-and-save-thousands-of-dollars-9ec3b2eb4ce2) suggests 4 requirement (for deep learning DIIY): > - Your CPU can support all your GPUs > - Your GPU is fast enough and can fit the model and data batch in memory > - Memory is DDR4 and big enough to float most datasets uncompressed > - Storage is M.2 PCIe and big enough > ### Make your computer expandable to 4 GPUs with the right CPU > It’s hard to know how many GPUs you’ll need because some models take 10s of hours to train (Vision CNNs, Natural Language Processing LSTMs, Capsule Auto Encoders, etc). So, one of the best ideas is to start with 1 or 2 GPUs and add more GPUs as you go along. Got it. > Each GPU requires at least 8x PCIe lanes (it’s 16x officially, but there’s data for which 8x is good enough if you’re not running cross-GPU experiments). You will need 4x PCIe lanes for the M.2 SSD (which plugs right in and is 5x faster than SATA3), and another 4x PCIe lanes for Gigabit ethernet. That’s a total of 40 PCIe lanes and will restrict your CPU choices quite a bit. Your CPU will dictate the motherboard you need. (For example: AMD Threadripper CPU = X399 chipset motherboard, Intel 7900X CPU = X299 chipset motherboard, etc). > You’ll want a CPU with 8+ cores / 16+ threads and 40+ PCIe lanes since this allows 4 experiments per GPU (16 experiments if you have 4 GPUs). Typically models take up at least a couple gigabytes of GPU memory so it’s rare you can run more than 4 experiments per GPU. Finally, make sure the PCIe lanes are actually getting routed to the expansion slots. Although I don't quite understand the meat of these 2 paragraphs, I think the chain of requirement goes in this order? - GPU defines the minimum number of PCIe lanes. - Total num of PCIe lanes will restrict the choice of CPU. - Choice of CPU dictates the choice of motherboard.
For some? reasons, almost all high-end GPU models available on system76 are blower only. [4090 vs 4060ti](https://gpu.userbenchmark.com/Compare/Nvidia-RTX-4090-vs-Nvidia-RTX-4060-Ti/4136vs4149), 4060ti seems cost efficient. Now I'm back again interested in DIY, or semi-DIY to install GPU by myself.

DIY-ing desktop revisited

Handling of heat for GPU sounds like a factor that can potentially limit usecases unintendedly in the future. Sounds like open-air style is so much more versatile usecase-wise. So I'm inclined to drop buying GPU from system76, which only offers blower type for high-end models.

This quora answer sounds encouraging to me to go on to DIY route, despite this post making it sound so easy (there's a lot to learn for a beginner like me who has only built a desktop PC once during 3-month orientation at my first job).

Then, without GPU at system76, it can still start from $1.2K (with Thelio, space-saving, smallest design)), which is not cheap expensive, understandably though. With Thelio Mira, "The Professional Desktop", $30 cheaper. Which got me new questions:

Things to know about DIY-ing desktop

https://www.wired.com/story/how-to-build-a-pc/

130s commented 3 months ago
130s commented 3 months ago

Now educating about mother board.

Best Motherboards 2024 for Gaming, by Socket and Chipset (tomshardware.com). TODO:

Requirement for motherboard (subject to be updated)

Putting together thoughts about the requirement for motherboard:

130s commented 2 months ago

Putting together thoughts about the requirement for motherboard:


Spoke with Adrian at ComputerTechUSA in PtC.

130s commented 1 month ago

Why didn't I think of eGPU as a quick, cheaper alternative?

130s commented 1 month ago

Running out of time before the trip https://github.com/kinu-garage/30y-130s_life/issues/1813, I'm going with RTX 4060 TI w/16GB VRAM.

130s commented 1 month ago
  • Is 4060-Ti compatible with the devices I have/I'm thinking of?

This turned out to be a big question that was hard for uneducated me to answer.

I'd say go for it.

130s commented 1 month ago
  • Is 4060-Ti compatible with the devices I have/I'm thinking of?

This turned out to be a big question that was hard for uneducated me to answer.

I'd say go for it.