# Notes on internal design

Higher-level notes of pocl software design and implementation are collected to this part.

- OpenCL host library
- Kernel compiler
  - Multiple logical address spaces
  - Work group function generation
  - Work-group autovectorization
  - Creating the work-group function launchers
  - Assisting transformations
  - Other OpenCL-specific optimizations
- Memory management in PoCL
  - On-device memory, SVM, subbuffers
  - Bufalloc
- Binary inputs format
  - Implementation-specific intermediate representation
  - Device-specific representation