ONNX Runtime JavaScript API
    Preparing search index...

    Interface WebGpuExecutionProviderOption

    interface WebGpuExecutionProviderOption {
        defaultBufferCacheMode?:
            | "disabled"
            | "lazyRelease"
            | "simple"
            | "bucket";
        device?: unknown;
        forceCpuNodeNames?: readonly string[];
        name: "webgpu";
        preferredLayout?: "NHWC"
        | "NCHW";
        queryResolveBufferCacheMode?:
            | "disabled"
            | "lazyRelease"
            | "simple"
            | "bucket";
        storageBufferCacheMode?: "disabled"
        | "lazyRelease"
        | "simple"
        | "bucket";
        uniformBufferCacheMode?: "disabled" | "lazyRelease" | "simple" | "bucket";
        validationMode?: "basic" | "disabled" | "full" | "wgpuOnly";
    }

    Hierarchy (View Summary)

    Index

    Properties

    defaultBufferCacheMode?: "disabled" | "lazyRelease" | "simple" | "bucket"

    Specify the cache mode for buffers not covered by the other buffer cache mode options.

    See storageBufferCacheMode for a description of the available modes.

    'disabled'
    
    device?: unknown

    Specify an optional WebGPU device to be used by the WebGPU execution provider.

    forceCpuNodeNames?: readonly string[]

    Specify a list of node names that should be executed on CPU even when WebGPU EP is used.

    name: "webgpu"
    preferredLayout?: "NHWC" | "NCHW"

    Specify the preferred layout when running layout sensitive operators.

    'NCHW'
    
    queryResolveBufferCacheMode?: "disabled" | "lazyRelease" | "simple" | "bucket"

    Specify the cache mode for query resolve buffers.

    See storageBufferCacheMode for a description of the available modes.

    'disabled'
    
    storageBufferCacheMode?: "disabled" | "lazyRelease" | "simple" | "bucket"

    Specify the cache mode for storage buffers.

    • 'disabled': Disable buffer cache. Buffers are destroyed when no longer in use.
    • 'lazyRelease': Buffers are released lazily, at the end of the current run.
    • 'simple': Released buffers are cached and reused only for requests of the exact same size.
    • 'bucket': Released buffers are cached and reused using predefined size buckets. This is the default mode.

    For static-shape models, 'simple' may reduce GPU memory usage, because exact-size buffers are reused across runs instead of allocating new bucket-sized buffers.

    'bucket'
    
    uniformBufferCacheMode?: "disabled" | "lazyRelease" | "simple" | "bucket"

    Specify the cache mode for uniform buffers.

    See storageBufferCacheMode for a description of the available modes.

    'simple'
    
    validationMode?: "basic" | "disabled" | "full" | "wgpuOnly"

    Specify the validation mode for WebGPU execution provider.

    • 'disabled': Disable all validation. When used in Node.js, disable validation may cause process crash if WebGPU errors occur. Be cautious when using this mode. When used in web, this mode is equivalent to 'wgpuOnly'.
    • 'wgpuOnly': Perform WebGPU internal validation only.
    • 'basic': Perform basic validation including WebGPU internal validation. This is the default mode.
    • 'full': Perform full validation. This mode may have performance impact. Use it for debugging purpose.
    'basic'