Skip to content

[Bug]: GPU backend not available on Windows with Intel UHD Graphics #2766

@inessanz21

Description

@inessanz21

Bug Description

I am trying to run Genesis simulations using the GPU on a Windows laptop with an integrated Intel(R) UHD Graphics GPU. Windows detects the GPU correctly, but Genesis does not seem to find a compatible GPU backend.

In my script, I explicitly enable GPU execution with:

USE_GPU = True

However, when Genesis is initialized, I get the following message:

backend gs.gpu not available on this machine. Falling back to CPU

As a result, the simulation runs on CPU instead of GPU.

I checked which backends are available in my Genesis installation, and the result is:

['cpu', 'gpu', 'cuda', 'amdgpu', 'metal']

I also checked whether gs.vulkan exists, but it does not seem to be available in this Genesis version. Since this laptop uses an Intel integrated GPU on Windows, I am not sure which backend should be used, or whether this hardware configuration is currently supported.

My question is whether Intel UHD Graphics on Windows is expected to work with Genesis GPU acceleration. If it is supported, I would like to know which backend and setup should be used. If it is not supported, it would be helpful if Genesis provided a clearer message or documentation about this limitation.

Steps to Reproduce

Minimal backend check:

import genesis as gs

print("Genesis version:", gs.__version__)

available_backends = []

for name in ["cpu", "gpu", "cuda", "amdgpu", "metal", "vulkan"]:
    if hasattr(gs, name):
        available_backends.append(name)

print("Available backends:", available_backends)

if hasattr(gs, "get_gpu_device"):
    print("GPU device:", gs.get_gpu_device())
else:
    print("gs.get_gpu_device() does not exist in this version")

if hasattr(gs, "vulkan"):
    print("gs.vulkan exists")
else:
    print("gs.vulkan does not exist")

print("Trying generic backend: gs.gpu")

try:
    gs.init(backend=gs.gpu)
except Exception as e:
    print("Error while initializing gs.gpu:")
    print(e)

The initialization falls back to CPU instead of using the Intel integrated GPU.

Expected Behavior

I would expect one of the following behaviors:

  1. Genesis should use the Intel UHD Graphics GPU through a compatible backend on Windows, if this hardware is supported.

  2. If this hardware is not supported, Genesis should provide a clearer message indicating that Intel integrated GPUs on Windows cannot currently be used for GPU execution.

  3. The documentation should clarify which backend should be used for Intel GPUs on Windows, or whether this configuration is unsupported.

Screenshots/Videos

I attached a screenshot from Windows Task Manager showing that the GPU is detected by Windows.

The detected GPU is:

  • GPU: Intel(R) UHD Graphics
  • Shared GPU memory: 0.5 / 7.9 GB
  • Driver version: 31.0.101.2115
  • Driver date: 16/11/2022
  • DirectX version: 12 (FL 12.1)
  • Physical location: PCI bus 0, device 2, function 0
Image

Relevant log output

Genesis version: 0.4.6
Available backends: ['cpu', 'gpu', 'cuda', 'amdgpu', 'metal']
gs.get_gpu_device() does not exist in this version
gs.vulkan does not exist
Trying generic backend: gs.gpu

backend gs.gpu not available on this machine. Falling back to CPU

Environment

  • OS: Windows 11
  • GPU/CPU: Intel(R) UHD Graphics / Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz
  • GPU-driver version: 31.0.101.2115
  • CUDA / CUDA-toolkit version: N/A, non-NVIDIA GPU
  • RAM: 16 GB
  • CPU cores: 4 physical cores, 8 logical processors

Release version or Commit ID

Genesis version: 0.4.6

Additional Context

The issue appears while trying to run thermal simulations using Genesis. These simulations are computationally heavy, and CPU execution is significantly slower.

The same type of simulation seems to perform better on a more powerful computer with a dedicated GPU. On my laptop, however, Genesis falls back to CPU even though Windows detects the integrated Intel GPU.

I am not sure whether the issue is caused by my local setup, by the lack of a compatible backend for Intel integrated GPUs on Windows, or by a limitation in the current Genesis release.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions