# CLNativeKernel (LWJGL API)
Date: 2015-07-28

## org.lwjgl.opencl
Class CLNativeKernel

    java.lang.Object
      org.lwjgl.PointerWrapperAbstract
          org.lwjgl.opencl.CLNativeKernel

All Implemented Interfaces:
  PointerWrapper

    public abstract class CLNativeKernel

extends PointerWrapperAbstract

Instances of this class can be used to execute native kernels. clEnqueueNativeKernel will build the its arguments automatically, in a way that allows `execute` to receive an array of ByteBuffers, pointing to cl_mem objects in global memory. The ByteBuffer objects should not be used outside the handleMessage method.

Author:
  Spasi
See Also:
  `CL10.clEnqueueNativeKernel(org.lwjgl.opencl.CLCommandQueue, org.lwjgl.opencl.CLNativeKernel, org.lwjgl.opencl.CLMem[], long[], org.lwjgl.PointerBuffer, org.lwjgl.PointerBuffer)`, `execute(java.nio.ByteBuffer[])`

Field Summary

Fields inherited from class org.lwjgl.PointerWrapperAbstract
`pointer`

Constructor Summary
`protected` `CLNativeKernel()`

Method Summary
`protected abstract void` `execute(java.nio.ByteBuffer[] memobjs)` Implement this method to execute an action on cl_mem objects in global memory.

Methods inherited from class org.lwjgl.PointerWrapperAbstract
`checkValid, equals, getPointer, hashCode, isValid, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### CLNativeKernel

    protected CLNativeKernel()

Method Detail

### execute

    protected abstract void execute(java.nio.ByteBuffer[] memobjs)

  Implement this method to execute an action on cl_mem objects in global memory.

  Parameters:
    `memobjs` - an array of ByteBuffers pointing to cl_mem global memory.

Copyright © 2002-2009 lwjgl.org. All Rights Reserved.