|Home > Parallel processing concepts > Types of parallelism > 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.