Lines Matching full:kernel
6 use crate::core::kernel::*;
28 let kernel = Kernel::ref_from_raw(*self)?; in query() localVariable
30 CL_KERNEL_ATTRIBUTES => v.write::<&str>(&kernel.kernel_info.attributes_string), in query()
32 let ptr = Arc::as_ptr(&kernel.prog.context); in query()
35 CL_KERNEL_FUNCTION_NAME => v.write::<&str>(&kernel.name), in query()
36 CL_KERNEL_NUM_ARGS => v.write::<cl_uint>(kernel.kernel_info.args.len() as cl_uint), in query()
38 let ptr = Arc::as_ptr(&kernel.prog); in query()
41 CL_KERNEL_REFERENCE_COUNT => v.write::<cl_uint>(Kernel::refcnt(*self)?), in query()
51 let kernel = Kernel::ref_from_raw(*self)?; in query() localVariable
54 if idx as usize >= kernel.kernel_info.args.len() { in query()
60 v.write::<cl_kernel_arg_access_qualifier>(kernel.access_qualifier(idx)) in query()
63 v.write::<cl_kernel_arg_address_qualifier>(kernel.address_qualifier(idx)) in query()
66 kernel in query()
71 kernel in query()
76 v.write::<cl_kernel_arg_type_qualifier>(kernel.type_qualifier(idx)) in query()
92 let kernel = Kernel::ref_from_raw(*self)?; in query() localVariable
94 … CL_INVALID_DEVICE [..] if device is NULL but there is more than one device associated with kernel. in query()
96 if kernel.prog.devs.len() > 1 { in query()
99 kernel.prog.devs[0] in query()
105 // CL_INVALID_DEVICE if device is not in the list of devices associated with kernel in query()
106 if !kernel.prog.devs.contains(&dev) { in query()
111 CL_KERNEL_COMPILE_WORK_GROUP_SIZE => v.write::<[usize; 3]>(kernel.work_group_size()), in query()
112 CL_KERNEL_LOCAL_MEM_SIZE => v.write::<cl_ulong>(kernel.local_mem_size(dev)), in query()
114 v.write::<usize>(kernel.preferred_simd_size(dev)) in query()
116 CL_KERNEL_PRIVATE_MEM_SIZE => v.write::<cl_ulong>(kernel.priv_mem_size(dev)), in query()
117 CL_KERNEL_WORK_GROUP_SIZE => v.write::<usize>(kernel.max_threads_per_block(dev)), in query()
138 let kernel = Kernel::ref_from_raw(*self)?; in query() localVariable
141 // with kernel. in query()
143 if kernel.prog.devs.len() > 1 { in query()
146 kernel.prog.devs[0] in query()
152 // CL_INVALID_DEVICE if device is not in the list of devices associated with kernel in query()
153 if !kernel.prog.devs.contains(&dev) { in query()
190 v.write::<usize>(kernel.subgroups_for_block(dev, input)) in query()
193 v.write::<usize>(kernel.subgroup_size_for_block(dev, input)) in query()
199 for subgroup_size in kernel.subgroup_sizes(dev) { in query()
207 let real_subgroups = kernel.subgroups_for_block(dev, &block); in query()
219 let threads = kernel.max_threads_per_block(dev); in query()
223 for sgs in kernel.subgroup_sizes(dev) { in query()
229 CL_KERNEL_COMPILE_NUM_SUB_GROUPS => v.write::<usize>(kernel.num_subgroups()), in query()
230 CL_KERNEL_COMPILE_SUB_GROUP_SIZE_INTEL => v.write::<usize>(kernel.subgroup_size()), in query()
292 Ok(Kernel::new(name, Arc::clone(&p), &build).into_cl()) in create_kernel()
296 fn retain_kernel(kernel: cl_kernel) -> CLResult<()> { in retain_kernel()
297 Kernel::retain(kernel) in retain_kernel()
301 fn release_kernel(kernel: cl_kernel) -> CLResult<()> { in release_kernel()
302 Kernel::release(kernel) in release_kernel()
329 // Kernel objects are not created for any __kernel functions in program that do not have the in create_kernels_in_program()
341 .write(Kernel::new(name.clone(), p.clone(), &build).into_cl()); in create_kernels_in_program()
352 kernel: cl_kernel, in set_kernel_arg()
357 let k = Kernel::ref_from_raw(kernel)?; in set_kernel_arg()
457 kernel: cl_kernel, in set_kernel_arg_svm_pointer()
461 let kernel = Kernel::ref_from_raw(kernel)?; in set_kernel_arg_svm_pointer() localVariable
465 if !kernel.has_svm_devs() { in set_kernel_arg_svm_pointer()
469 if let Some(arg) = kernel.kernel_info.args.get(arg_index) { in set_kernel_arg_svm_pointer()
478 kernel.set_kernel_arg(arg_index, arg_value) in set_kernel_arg_svm_pointer()
488 kernel: cl_kernel, in set_kernel_exec_info()
493 let k = Kernel::ref_from_raw(kernel)?; in set_kernel_exec_info()
495 // CL_INVALID_OPERATION if no devices in the context associated with kernel support SVM. in set_kernel_exec_info()
525 …TEM and param_value is CL_TRUE but no devices in context associated with kernel support fine-grain… in set_kernel_exec_info()
531 kernel: cl_kernel, in enqueue_ndrange_kernel()
541 let k = Kernel::arc_from_raw(kernel)?; in enqueue_ndrange_kernel()
544 // CL_INVALID_CONTEXT if context associated with command_queue and kernel are not the same in enqueue_ndrange_kernel()
555 // CL_INVALID_KERNEL_ARGS if the kernel argument values have not been specified. in enqueue_ndrange_kernel()
598 // required work-group size for kernel in the program source. in enqueue_ndrange_kernel()
605 // the device on which the kernel-instance will be enqueued. in enqueue_ndrange_kernel()
612 // maximum value representable by size t on the device on which the kernel-instance in enqueue_ndrange_kernel()
624 // than the value specified by CL_KERNEL_WORK_GROUP_SIZE in the Kernel Object Device Queries in enqueue_ndrange_kernel()
630 // If global_work_size is NULL, or the value in any passed dimension is 0 then the kernel in enqueue_ndrange_kernel()
647 …ecified and is not consistent with the required number of sub-groups for kernel in the program sou… in enqueue_ndrange_kernel()
651 …kernel on the command-queue because of insufficient resources needed to execute the kernel. For ex… in enqueue_ndrange_kernel()
652 …ate memory for data store associated with image or buffer objects specified as arguments to kernel. in enqueue_ndrange_kernel()
653 …kernel and the device does not support SVM or if system pointers are passed as arguments to a kern… in enqueue_ndrange_kernel()
659 kernel: cl_kernel, in enqueue_task()
669 kernel, in enqueue_task()
682 let k = Kernel::ref_from_raw(source_kernel)?; in clone_kernel()
689 kernel: cl_kernel, in get_kernel_suggested_local_work_size_khr()
713 // CL_INVALID_KERNEL if kernel is not a valid kernel object. in get_kernel_suggested_local_work_size_khr()
714 let kernel = Kernel::ref_from_raw(kernel)?; in get_kernel_suggested_local_work_size_khr() localVariable
716 // CL_INVALID_CONTEXT if the context associated with kernel is not the same as the context in get_kernel_suggested_local_work_size_khr()
718 if queue.context != kernel.prog.context { in get_kernel_suggested_local_work_size_khr()
723 // for kernel for the device associated with command_queue. in get_kernel_suggested_local_work_size_khr()
724 if kernel.prog.status(queue.device) != CL_BUILD_SUCCESS as cl_build_status { in get_kernel_suggested_local_work_size_khr()
728 // CL_INVALID_KERNEL_ARGS if all argument values for kernel have not been set. in get_kernel_suggested_local_work_size_khr()
729 if kernel.arg_values().iter().any(|v| v.is_none()) { in get_kernel_suggested_local_work_size_khr()
775 kernel.suggest_local_size( in get_kernel_suggested_local_work_size_khr()
784 …// CL_MISALIGNED_SUB_BUFFER_OFFSET if a sub-buffer object is set as an argument to kernel and the … in get_kernel_suggested_local_work_size_khr()
785 …// CL_INVALID_IMAGE_SIZE if an image object is set as an argument to kernel and the image dimensio… in get_kernel_suggested_local_work_size_khr()
786 …// CL_IMAGE_FORMAT_NOT_SUPPORTED if an image object is set as an argument to kernel and the image … in get_kernel_suggested_local_work_size_khr()
787 …// CL_INVALID_OPERATION if an SVM pointer is set as an argument to kernel and the device associate… in get_kernel_suggested_local_work_size_khr()