# CPU Requirements

**NDI Lib** is heavily optimized (much of it is written in assembly). While it detects available architecture and uses the best path it can, the minimum required SIMD[^1] level is [SSSE3](https://en.wikipedia.org/wiki/SSSE3) (introduced by Intel in 2005).&#x20;

The NDI library running on ARM platforms requires NEON support. To the degree possible, hardware acceleration of streams uses GPU-based fixed function pipelines for decompression and is supported on Windows, macOS, iOS, and tvOS platforms; all GPUs on these platforms are supported with special case-optimized support for Intel QuickSync and nVidia.&#x20;

However, this is not required, and we will always fall back to software-based compression and decompression.

[^1]: Single instruction, multiple data (SIMD) is a type of [parallel processing](https://en.wikipedia.org/wiki/Parallel_computer) in [Flynn's taxonomy](https://en.wikipedia.org/wiki/Flynn%27s_taxonomy). SIMD can be internal (part of the hardware design) and it can be directly accessible through an [instruction set architecture](https://en.wikipedia.org/wiki/Instruction_set_architecture) (ISA), but it should not be confused with an ISA. SIMD describes computers with [multiple processing elements](https://en.wikipedia.org/wiki/Multiple_processing_elements) that perform the same operation on multiple data points simultaneously.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ndi.video/all/developing-with-ndi/sdk/cpu-requirements.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
