WebGPU on Amazon EC2 Windows Server 2022

420 views
Skip to first unread message

wenhan chong

unread,
May 9, 2024, 2:21:22 PMMay 9
to Graphics-dev
Hi All,

I am trying to run WebGPU on an Amazon EC2 Windows Server 2022 instance but I am unable to get the browser to detect WebGPU. I have nvidia T4 drivers and chrome v124 installed on the instance but requestAdapter still fails for WebGPU. I can render WebGL2 just fine. Are there any additional flags or libraries I need to install to be able to use WebGPU on EC2 Windows?

Regards,
Wen Han

about_version.pngnvidia_smi.pngwebgpu_report.png

Ken Russell

unread,
May 9, 2024, 2:23:43 PMMay 9
to wenhan chong, Graphics-dev
Hi Wenhan,

Could you please go to about:gpu after failing to request an adapter, click "Download Report to File", and attach the result to a reply email here?

Thanks,

-Ken


wenhan chong

unread,
May 9, 2024, 8:38:24 PMMay 9
to Graphics-dev
Attaching about:gpu
about_gpu.txt

Ken Russell

unread,
May 9, 2024, 8:42:48 PMMay 9
to wenhan chong, Graphics-dev
It looks like Chrome's not detecting the NVIDIA GPU for some reason; note the GPU0, GPU1 and GPU2 entries, which are all Microsoft's basic render driver. Perhaps others on this list will know what Windows-specific tools to run in order to debug your driver installation and its interaction with Direct3D.

-Ken


Rafael Cintron

unread,
May 9, 2024, 9:54:02 PMMay 9
to Graphics-dev, Ken Russell, Graphics-dev, wenhan chong
@wenhan, as Ken states, Chrome is not seeing any GPUs besides Warp. WebGPU is blocklisted when it runs with Warp.  

Ken Russell

unread,
May 10, 2024, 6:28:03 PMMay 10
to Rafael Cintron, Graphics-dev, wenhan chong
Also wenhan@ could you please tell us the exact EC2 instance type you've provisioned? E.g. https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html .

Did you follow all of the instructions on https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/install-nvidia-driver.html ? Does Windows' Device Manager see the GPU?

-Ken


wenhan chong

unread,
May 13, 2024, 5:15:32 PMMay 13
to Graphics-dev, Ken Russell, Graphics-dev, wenhan chong, Rafael Cintron
Hi Ken, I am running g4dn.xlarge. Installed nvidia T4 drivers following OPTION 2 instructions on https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/install-nvidia-driver.html. Windows Device Manager do see the nvidia T4 GPU. In the other discussion group, François suggested referencing how this guide got it to work https://developer.chrome.com/docs/web-platform/webgpu/colab-headless. They are not on windows so I couldn't replicate the steps completely, but I did try to install vulkanruntime to see if nvidia T4 shows up. Running vulkaninfo --summary throws an initialization error, and it complained about not finding physical gpus. Not sure if this ties into chrome's detection of the gpu.

Ken Russell

unread,
May 13, 2024, 10:24:46 PMMay 13
to wenhan chong, Graphics-dev, Rafael Cintron
WebGPU on Windows uses Dawn's D3D12 backend by default, so I'd suggest focusing on whether D3D12 is running correctly on the NVIDIA GPU after installing the graphics drivers, rather than Vulkan. Maybe DxDiag will help?

https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/install-nvidia-driver.html#public-nvidia-driver states to disable Microsoft's Basic Display Adapter. It looked to me like that adapter was still being reported by Chrome's about:gpu.

If Direct3D 12 samples run, I would assume Chrome's WebGPU implementation will too. If samples don't run, you'll need to contact Amazon's customer support.

-Ken


Rafael Cintron

unread,
May 15, 2024, 11:37:13 AMMay 15
to Graphics-dev, Kenneth Russell, Graphics-dev, Rafael Cintron, wenhan chong
@wenhan, what does running dxdiag.exe say about which GPUs are enumerated on the system?  Can you please attach to the thread?  

wenhan chong

unread,
May 17, 2024, 3:42:08 PMMay 17
to Graphics-dev, Rafael Cintron, Kenneth Russell, Graphics-dev, wenhan chong
@rafael Even with Microsoft Basic Display Adapter disabled, dxdiag detected Microsoft Remote Display Adapter because I was logged in through RDP. The Nvidia T4s are 3rd on the list of display adapters under device manager so I am guessing that is the priority. On the EC2 WIndows Server, Nvidia control panel does not have the functionality to reorder the priority of display adapters. But looks like if I disable remote display adapter, Chrome might be able to detect the T4s. Will be trying that next.

wenhan chong

unread,
May 28, 2024, 1:12:36 PMMay 28
to Ranen Ghosh, Graphics-dev, Rafael Cintron, Kenneth Russell
Hi All,

Some updates; managed to get the instance to run WebGPU. Chrome worked perfectly, the issue was getting the Nvidia license for the drivers on EC2.
Using option 4 (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/install-nvidia-driver.html#nvidia-gaming-driver) to download nvidia drivers from S3 worked since that comes with license activated.

Regards,
Wen Han

On Sun, May 26, 2024 at 9:05 AM Ranen Ghosh <ranen...@gmail.com> wrote:
Hi Wenhan, I'm also facing similar issues.  

I noticed the last thing you mentioned you would try was disabling remote display adapter.  I noticed the "Install NVIDIA drivers on Windows instances" instructions say:
Important: Don't disable the display adapter named Microsoft Remote Display Adapter. If Microsoft Remote Display Adapter is disabled your connection might be interrupted and attempts to connect to the instance after it has rebooted might fail.

Also, have you tried options 3 or 4 from that list?  I ask because that document says that Tesla drivers are intended primarily for compute workloads.

Also, for us the problem is that we have some code that can be built for windows native or wasm, in both cases using dawn and webgpu.  On the same instances (even instances lacking a GPU), the native windows build renders fine, but the wasm build within chrome does not.  This difference in rendering behaviour is confusing for us.



Ranen Ghosh

unread,
May 28, 2024, 1:12:55 PMMay 28
to Graphics-dev, wenhan chong, Rafael Cintron, Kenneth Russell, Graphics-dev
Hi Wenhan, I'm also facing similar issues.  

I noticed the last thing you mentioned you would try was disabling remote display adapter.  I noticed the "Install NVIDIA drivers on Windows instances" instructions say:
Important: Don't disable the display adapter named Microsoft Remote Display Adapter. If Microsoft Remote Display Adapter is disabled your connection might be interrupted and attempts to connect to the instance after it has rebooted might fail.

Also, have you tried options 3 or 4 from that list?  I ask because that document says that Tesla drivers are intended primarily for compute workloads.

Also, for us the problem is that we have some code that can be built for windows native or wasm, in both cases using dawn and webgpu.  On the same instances (even instances lacking a GPU), the native windows build renders fine, but the wasm build within chrome does not.  This difference in rendering behaviour is confusing for us.



On Friday 17 May 2024 at 15:42:08 UTC-4 wenhan chong wrote:

Ranen Ghosh

unread,
May 28, 2024, 1:30:43 PMMay 28
to Graphics-dev, Ranen Ghosh, wenhan chong, Rafael Cintron, Kenneth Russell, Graphics-dev
Hi, FYI we found the reason for the difference between rendering using Dawn on native windows vs in chrome on the same system (a basic windows ec2 instance): when using Dawn in native windows, the toggle UseDXC / use_dxc is not enabled, but in Chrome, it is enabled.  For a basic windows ec2 instance with no GPU, if this toggle is enabled, some rendering (like WebGPU samples "Hello Triangle" and "Textured Cube") don't render correctly, but if we force it disabled in chrome by using the browser argument --disable-daw-features=use_dxc, then we don't have the problem.
Reply all
Reply to author
Forward
0 new messages