8.2.2 Do not use any of the clEnqueueMap() operations with a blocking call

Use clWaitForEvents() or callbacks to ensure that the control thread and OpenCL can work in parallel.


  1. Split work into many parts.
  2. For each part:
    1. Prepare the work for part X on the application processor.
    2. Submit part X OpenCL work-items to the OpenCL device.
  3. For each part:
    1. Wait for part X OpenCL work-items to complete on the OpenCL device using clWaitForEvents.
    2. Process the results from the OpenCL device on the application processor.
Non-ConfidentialPDF file icon PDF version101574_0302_00_en
Copyright © 2019 Arm Limited or its affiliates. All rights reserved.