14
development. In OpenCL there is a standard API for communicating between CPU and GPU.
This API does provide some essential commands for allocating memory,
transferring
memory content between host/CPUs RAM and device/GPUs RAM. There are some
commands also for compiling GPU code which is a kernel file, and executing them. In
OpenCL running multiple kernels is possible, and there is a direct and ultrafast channel for
transferring memory and data between different kernels. These features make GPUs very
flexible and reliable for designing complex architecture and models.