---
title: "BNNSDirectApplyBroadcastMatMul(_:_:_:_:_:_:_:)"
framework: accelerate
role: symbol
role_heading: Function
path: "accelerate/bnnsdirectapplybroadcastmatmul(_:_:_:_:_:_:_:)"
---

# BNNSDirectApplyBroadcastMatMul(_:_:_:_:_:_:_:)

Applies a broadcast matrix multiplication operation directly to two input matrices.

## Declaration

```swift
func BNNSDirectApplyBroadcastMatMul(_ transA: Bool, _ transB: Bool, _ alpha: Float, _ inputA: UnsafePointer<BNNSNDArrayDescriptor>, _ inputB: UnsafePointer<BNNSNDArrayDescriptor>, _ output: UnsafePointer<BNNSNDArrayDescriptor>, _ filter_params: UnsafePointer<BNNSFilterParameters>?)
```

## Parameters

- `transA`: A Boolean value that transposes the last two dimensions of matrix A.
- `transB`: A Boolean value that transposes the last two dimensions of matrix B.
- `alpha`: A value to scale the result.
- `inputA`: The descriptor of matrix A.
- `inputB`: The descriptor of matrix B.
- `output`: The descriptor of the output.
- `filter_params`: The filter runtime parameters.

## See Also

### Matrix multiplication

- [BNNS.BroadcastMatrixMultiplyLayer](accelerate/bnns/broadcastmatrixmultiplylayer.md)
- [BNNSLayerParametersBroadcastMatMul](accelerate/bnnslayerparametersbroadcastmatmul.md)
- [BNNSFilterCreateLayerBroadcastMatMul(_:_:)](accelerate/bnnsfiltercreatelayerbroadcastmatmul(_:_:).md)
- [BNNSMatMulWorkspaceSize(_:_:_:_:_:_:_:)](accelerate/bnnsmatmulworkspacesize(_:_:_:_:_:_:_:).md)
- [BNNSMatMul(_:_:_:_:_:_:_:_:)](accelerate/bnnsmatmul(_:_:_:_:_:_:_:_:).md)
- [applyMatrixMultiplication(inputA:transposed:inputB:transposed:output:alpha:workspace:filterParameters:)](accelerate/bnns/applymatrixmultiplication(inputa:transposed:inputb:transposed:output:alpha:workspace:filterparameters:).md)
- [matrixMultiplicationWorkspaceSize(inputA:transposed:inputB:transposed:output:alpha:filterParameters:)](accelerate/bnns/matrixmultiplicationworkspacesize(inputa:transposed:inputb:transposed:output:alpha:filterparameters:).md)
