Class CLKernel

    • Field Detail

      • name

        public final String name
      • numArgs

        public final int numArgs
    • Method Detail

      • putArg

        public CLKernel putArg​(short value)
      • putArg

        public CLKernel putArg​(int value)
      • putArg

        public CLKernel putArg​(long value)
      • putArg

        public CLKernel putArg​(float value)
      • putArg

        public CLKernel putArg​(double value)
      • putNullArg

        public CLKernel putNullArg​(int size)
      • rewind

        public CLKernel rewind()
        Resets the argument index to 0.
      • position

        public int position()
        Returns the argument index used in the relative putArt(...) methods.
      • setArg

        public CLKernel setArg​(int argumentIndex,
                               short value)
      • setArg

        public CLKernel setArg​(int argumentIndex,
                               int value)
      • setArg

        public CLKernel setArg​(int argumentIndex,
                               long value)
      • setArg

        public CLKernel setArg​(int argumentIndex,
                               float value)
      • setArg

        public CLKernel setArg​(int argumentIndex,
                               double value)
      • setNullArg

        public CLKernel setNullArg​(int argumentIndex,
                                   int size)
      • setForce32BitArgs

        public CLKernel setForce32BitArgs​(boolean force)
        Forces double and long arguments to be passed as float and int to the OpenCL kernel. This can be used in applications which want to mix kernels with different floating point precision.
      • getLocalMemorySize

        public long getLocalMemorySize​(CLDevice device)
        Returns the amount of local memory in bytes being used by a kernel. This includes local memory that may be needed by an implementation to execute the kernel, variables declared inside the kernel with the __local address qualifier and local memory to be allocated for arguments to the kernel declared as pointers with the __local address qualifier and whose size is specified with clSetKernelArg. If the local memory size, for any pointer argument to the kernel declared with the __local address qualifier, is not specified, its size is assumed to be 0.
      • getWorkGroupSize

        public long getWorkGroupSize​(CLDevice device)
        Returns the work group size for this kernel on the given device. This provides a mechanism for the application to query the work-group size that can be used to execute a kernel on a specific device given by device. The OpenCL implementation uses the resource requirements of the kernel (register usage etc.) to determine what this work-group size should be.
      • getCompileWorkGroupSize

        public long[] getCompileWorkGroupSize​(CLDevice device)
        Returns the work-group size specified by the __attribute__((reqd_work_group_size(X, Y, Z))) qualifier in kernel sources. If the work-group size is not specified using the above attribute qualifier new long[]{(0, 0, 0)} is returned. The returned array has always three elements.
      • getPreferredWorkGroupSizeMultiple

        public long getPreferredWorkGroupSizeMultiple​(CLDevice device)
        Returns the preferred multiple of workgroup size to use for kernel launch. This is only a performance hint; enqueueing with other sizes will still work, unless the size is more than the maximum allowed.
      • getPrivateMemSize

        public long getPrivateMemSize​(CLDevice device)
        Returns the number of bytes of private memory used by each work item in the kernel. This includes private memory declared with the __private qualifier, as well as other private memory used by the implementation.
      • release

        public void release()
        Releases all resources of this kernel from its context.
        Specified by:
        release in interface CLResource
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • clone

        public CLKernel clone()
        Returns a new instance of this kernel with uninitialized arguments.
        Overrides:
        clone in class Object
      • close

        @Deprecated
        public final void close()
        Deprecated.
        This method is not intended to be called from client code.
        Implementation detail, satisfying AutoCloseable. Might be remove as soon we have extension methods, but shall validate with Java 1.5 specs.
        Specified by:
        close in interface AutoCloseable
        Specified by:
        close in interface AutoCloseable
        See Also:
        AutoCloseable