Todo
Thoughts
- OpenCL TLDR:
- You have these things called hosts that are able to compute a full OpenCL program
- You subdivide a host with a memory model for units of work
- A work item is the smallest unit
- A work group is a collection of work items
- A kernel is responsible for doing the tasks of a work group, and kernels can run in paralell
- A context is used to manage kernels, and the context has its own memory
- The context issues commands to kernels using a command queue
- The command queue has in order or out of order queue types, but they are all equivalent after Synchronization
- There is a program object which is the final executable that is created during the program
- The program object contains references to command queue and context
- The final OpenCL program compiles and emulates the program object with GPU bindings