<!--
{
  "availability" : [
    "iOS: 18.0.0 -",
    "iPadOS: 18.0.0 -",
    "macCatalyst: 18.0.0 -",
    "macOS: 15.0.0 -",
    "tvOS: 18.0.0 -",
    "visionOS: 2.0.0 -",
    "watchOS: 11.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/bnns_graph_compile_options_t",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Accelerate"
    ],
    "preciseIdentifier" : "c:@SA@bnns_graph_compile_options_t"
  },
  "title" : "bnns_graph_compile_options_t"
}
-->

# bnns_graph_compile_options_t

The compilation options that BNNS uses when compiling a source mlmodelc file to a graph object.

```
struct bnns_graph_compile_options_t
```

## Overview

Call [`BNNSGraphCompileOptionsMakeDefault()`](/documentation/Accelerate/BNNSGraphCompileOptionsMakeDefault()) to create a default options structure and then call functions such as [`BNNSGraphCompileOptionsSetOptimizationPreference(_:_:)`](/documentation/Accelerate/BNNSGraphCompileOptionsSetOptimizationPreference(_:_:)) to set indivual options.

## Topics

### Initializing an options structure

[`init()`](/documentation/Accelerate/bnns_graph_compile_options_t/init())

Creates an empty compilation options structure.

[`init(data:size:)`](/documentation/Accelerate/bnns_graph_compile_options_t/init(data:size:))

Creates a compilation options structure from the specified opaque compilation options object.

### Specifying an options structure’s properties

[`data`](/documentation/Accelerate/bnns_graph_compile_options_t/data)

A pointer to the opaque compilation options object.

[`size`](/documentation/Accelerate/bnns_graph_compile_options_t/size)

The size, in bytes, of the opaque compilation options object.



---

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)