Dedicated GPU memory is fixed. It can't be altered at all and cannot be used for other tasks either. For example, in MacBooks, if the GPU is idle, the CPU can utilize almost 100% of the total memory because they share a common memory pool, but in a dedicated GPU setup, if the GPU is idle, then the fixed VRAM memory (8GB, 12GB, 16GB, etc.) cannot be utilized by any other component of the PC. Also, in a dedicated GPU setup, the system RAM and VRAM are physically separated. If a CPU loads a large dataset, it has to copy it across the motherboard to the GPU. Because MacBooks have a shared memory pool for both the CPU and the GPU, no copying is required, which makes dataset handoffs much faster than in a dedicated GPU setup.
sudo sysctl iogpu.wired_limit_mb=…