More Object-Oriented than Objects
Functional programming avoids the problems associated with shared mutable state by avoiding mutable state. Actor programming, by contrast, retains mutable state but avoids sharing it.
Computer graphics is all about manipulating data—huge amounts of data. And doing it quickly.
To create a complete program, we need to embed our kernel in a host program that performs the following steps:
- Create a context within which the kernel will run together with a command queue.
- Compile the kernel.
- Create buffers for input and output data.
- Enqueue a command that executes the kernel once for each work-item.
- Retrieve the results.