Skip to content

Impact of forceFallbackAdapter: true #1

@BrickDesignerNL

Description

@BrickDesignerNL

When adding

            const adapter = await navigator.gpu.requestAdapter({
                forceFallbackAdapter: true
            });

on my Qualcomm X Elite 32GB (16GB for GPU), this resuluts in

Features

[
    "depth32float-stencil8",
    "rg11b10ufloat-renderable",
    "bgra8unorm-storage",
    "texture-compression-astc",
    "texture-compression-etc2",
    "depth-clip-control",
    "chromium-experimental-subgroups",
    "texture-compression-bc",
    "clip-distances",
    "timestamp-query",
    "chromium-experimental-timestamp-query-inside-passes",
    "float32-filterable",
    "indirect-first-instance",
    "subgroups"
]

Limits

maxBindGroups: 4
maxBindGroupsPlusVertexBuffers: 24
maxBindingsPerBindGroup: 1000
maxBufferSize: 1073741824
maxColorAttachmentBytesPerSample: 32
maxColorAttachments: 8
maxComputeInvocationsPerWorkgroup: 256
maxComputeWorkgroupSizeX: 256
maxComputeWorkgroupSizeY: 256
maxComputeWorkgroupSizeZ: 64
maxComputeWorkgroupStorageSize: 32768
maxComputeWorkgroupsPerDimension: 65535
maxDynamicStorageBuffersPerPipelineLayout: 4
maxDynamicUniformBuffersPerPipelineLayout: 8
maxInterStageShaderComponents: 112
maxInterStageShaderVariables: 28
maxSampledTexturesPerShaderStage: 16
maxSamplersPerShaderStage: 16
maxStorageBufferBindingSize: 1073741824
maxStorageBuffersPerShaderStage: 10
maxStorageTexturesPerShaderStage: 4
maxSubgroupSize: 4
maxTextureArrayLayers: 256
maxTextureDimension1D: 8192
maxTextureDimension2D: 8192
maxTextureDimension3D: 2048
maxUniformBufferBindingSize: 65536
maxUniformBuffersPerShaderStage: 12
maxVertexAttributes: 16
maxVertexBufferArrayStride: 2048
maxVertexBuffers: 8
minStorageBufferOffsetAlignment: 256
minSubgroupSize: 4
minUniformBufferOffsetAlignment: 256

And the model starts!

Console logs

Tensor saved successfully.
Decoding took: 12.664 s
Avarage 436.6896551724138 ms per chunk

2x

vkAllocateMemory failed with VK_ERROR_OUT_OF_DEVICE_MEMORY
at CheckVkOOMThenSuccessImpl (....\third_party\dawn\src\dawn\native\vulkan\VulkanError.cpp:119)

21472.1 ms (compilation)
3486.8 ms
2996.6 ms
Timesteps: 1,112.11111111111111,223.22222222222223,334.33333333333337,445.44444444444446,556.5555555555555,667.6666666666666,778.7777777777777,889.8888888888888

90x

[Invalid Buffer (unlabeled)] is invalid.

  • While validating entries[0] as a Buffer.
    Expected entry layout: {type: BufferBindingType::Storage, minBindingSize: 4, hasDynamicOffset: 0}
  • While validating [BindGroupDescriptor] against [BindGroupLayout (unlabeled)]
  • While calling [Device].CreateBindGroup([BindGroupDescriptor]).

135x

[Invalid Buffer (unlabeled)] is invalid.

  • While validating entries[1] as a Buffer.
    Expected entry layout: {type: BufferBindingType::Storage, minBindingSize: 4, hasDynamicOffset: 0}
  • While validating [BindGroupDescriptor] against [BindGroupLayout (unlabeled)]
  • While calling [Device].CreateBindGroup([BindGroupDescriptor]).

9x

[Invalid BindGroup (unlabeled)] is invalid.

  • While encoding [ComputePassEncoder (unlabeled)].SetBindGroup(0, [Invalid BindGroup (unlabeled)], 0, ...).
  • While finishing [CommandEncoder (unlabeled)].

9x

[Invalid CommandBuffer] is invalid.

  • While calling [Queue].Submit([[Invalid CommandBuffer]])

157495.3 ms

Sadly - I assume due the above errors - the image is not great (see attachment).
It's not black eigther, so somethings was done.
result

Root cause

I think this has to do with the model size.
The first error is there when the model is decompressed at 96% and switches to compiling.
So the code might need an additional pre-check for that size :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions