2.2.1 Data parallelism

In data parallelism, data is divided into data elements that a processor can process in parallel. Several different processors simultaneously read and process different data elements.

The data must be in data structures that processors can read and write in parallel.

An example of a data parallel application is rendering three-dimensional graphics. The generated pixels are independent so the computations required to generate them can be performed in parallel. This type of parallelism is very fine-grained and can involve hundreds of thousands of active threads simultaneously.

OpenCL is primarily used for data parallel processing.

Non-ConfidentialPDF file icon PDF version101574_0302_00_en
Copyright © 2019 Arm Limited or its affiliates. All rights reserved.