Userspace API for using a GPU
Amdgpu memory allocation always uses 4096 byte sized pages.
IP blocks
A gpu is split into multiple types of units responsible for different tasks. For example:
- gfx for graphics pipeline,
- comp for compute
- vcn_dec for video decoding
- vcn_enc for video encoding
- sdma for memory transfers as far as I can tell
Fat binaries
An executable can be fat, which means it contains bytecode for multiple target platforms in one executable.