| Name |
| |
| ARM_job_slot_selection |
| |
| Name Strings |
| |
| cl_arm_job_slot_selection |
| |
| Contributors |
| |
| Kevin Petit, Arm Ltd. (kevin.petit 'at' arm.com) |
| |
| Contacts |
| |
| Kevin Petit, Arm Ltd. (kevin.petit 'at' arm.com) |
| |
| Status |
| |
| Complete. |
| |
| Version |
| |
| Revision: #1, May 20th, 2019 |
| |
| Number |
| |
| OpenCL Extension #58 |
| |
| Dependencies |
| |
| Requires OpenCL version 2.0 or later or cl_khr_create_command_queue. |
| |
| Overview |
| |
| On devices that support work submission via job slots, this extension |
| provides a way of selecting the job slot that is used to submit work to the |
| device as well as a device info query to obtain a list of usable job slots. |
| |
| New Procedures and Functions |
| |
| Device Info query |
| |
| CL_DEVICE_JOB_SLOTS_ARM (return type cl_uint) returns a bitfield |
| listing the job slots that can be used to submit work to the device. |
| If bit i is set, then job slot i can be used to submit work. |
| |
| Command queue property |
| |
| CL_QUEUE_JOB_SLOT_ARM can be used when creating a command queue to |
| specify the job slot used to target the device. |
| |
| Example |
| |
| cl_uint available_job_slots; |
| cl_int err; |
| err = clGetDeviceInfo(device, CL_DEVICE_JOB_SLOTS_ARM, |
| sizeof(cl_uint), &available_job_slots, NULL); |
| |
| // Application-specific logic to select the job slot |
| cl_uint job_slot = ... |
| |
| const cl_queue_properties properties[] = { |
| CL_QUEUE_JOB_SLOT_ARM, job_slot, |
| }; |
| |
| cl_command_queue queue; |
| queue = clCreateCommandQueueWithProperties(context, device, properties, |
| &err); |
| |
| Revision History |
| |
| Revision: #1, May 20th, 2019 - Initial revision |