<!--
{
  "availability" : [
    "iOS: 14.0.0 - 17.4.0",
    "iPadOS: 14.0.0 - 17.4.0",
    "macCatalyst: 14.0.0 - 17.4.0",
    "macOS: 11.0.0 - 14.3.0",
    "tvOS: 14.0.0 - 17.4.0"
  ],
  "documentType" : "symbol",
  "framework" : "MLCompute",
  "identifier" : "/documentation/MLCompute/MLCExecutionOptions",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "ML Compute"
    ],
    "preciseIdentifier" : "c:@E@MLCExecutionOptions"
  },
  "title" : "MLCExecutionOptions"
}
-->

# MLCExecutionOptions

A bitmask that specifies the options you use when executing a graph.

```
struct MLCExecutionOptions
```

## Topics

### Execution Options

[`init(rawValue:)`](/documentation/MLCompute/MLCExecutionOptions/init(rawValue:))

Creates an execution option with the specified raw value.

[`skipWritingInputDataToDevice`](/documentation/MLCompute/MLCExecutionOptions/skipWritingInputDataToDevice)

The option to skip writing input data to device memory.

[`synchronous`](/documentation/MLCompute/MLCExecutionOptions/synchronous)

The option to execute the graph synchronously.

[`profiling`](/documentation/MLCompute/MLCExecutionOptions/profiling)

The option to return profiling information in the callback before returning from execution.

[`perLayerProfiling`](/documentation/MLCompute/MLCExecutionOptions/perLayerProfiling)

The option to enable additional per-layer profiling information using signposts.

[`forwardForInference`](/documentation/MLCompute/MLCExecutionOptions/forwardForInference)

The option to execute the forward pass for inference only.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)