static BufferedImage getRowsOrderImage(CLQueue queue, CLIntBuffer buffer, int width, int height, int[] pixelsTemp, CLEvent... eventsToWaitFor) { queue.finish(); BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); int[] pixels = pixelsTemp == null ? new int[width * height] : pixelsTemp; ((IntBuffer)buffer.read(queue, eventsToWaitFor)).get(pixels); img.setRGB(0, 0, width,height, pixels, 0, width); return img; } }
public ParallelMath(CLQueue queue) { this.queue = queue; CLContext context = queue.getContext(); }
/** * Calls <a href="http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clEnqueueReadBuffer.html">clEnqueueReadBuffer</a>.<br> */ public Pointer<T> read(CLQueue queue, CLEvent... eventsToWaitFor) { Pointer<T> out = allocateCompatibleMemory(queue.getDevice()); read(queue, out, true, eventsToWaitFor); return out; } /**
float deltaImaginary, Pointer<Integer> results, String src) throws CLBuildException, IOException { CLContext context = queue.getContext(); long startTime = System.nanoTime(); if (useAutoGenWrapper) { queue.finish(); long time = System.nanoTime() - startTime; return time;
}), queue.getDevice().getByteOrder()); gl.glTexImage2D ( GL2.GL_TEXTURE_2D, assertNotNull(climg); queue.enqueueAcquireGLObjects(new CLMem[] { clbuf }); queue.enqueueAcquireGLObjects(new CLMem[] { climg }); queue.finish(); queue.enqueueReleaseGLObjects(new CLMem[] { clbuf }); queue.finish();
@Override protected void tearDown() throws Exception { super.tearDown(); if(context != null) context.release(); if(q != null) q.release(); if(program != null) program.release(); context = null; q = null; program = null; }
public ParallelRandom(CLQueue queue, int parallelSize, final long seed) throws IOException { try { this.queue = queue; this.context = queue.getContext(); randomProgram = new XORShiftRandom(context); this.parallelSize = parallelSize; int maxUnits = queue.getDevice().getMaxComputeUnits(); int unitsFactor = maxUnits < 10 ? 1 : 16; int scheduledWorkItems = maxUnits * unitsFactor;
public static void main(String[] args) { CLContext context = JavaCL.createBestContext(CLPlatform.DeviceFeature.GPU); System.out.println(context); int n = 128;// * 128; // Pointer<Integer> p = Pointer.allocateInts(n); for (int i = 0; i < 100000; i++) { // if ((i & 0xff) == 0xff) System.out.print("."); CLQueue queue = context.createDefaultQueue(); CLBuffer<Integer> buffer = context.createByteBuffer(CLMem.Usage.Output, 4 * n).as(Integer.class);//p); CLProgram program = context.createProgram("kernel void f(global int* input, int n) {\n" + "int i = get_global_id(0);\n" + "if (i >= n) return;\n" + "input[i] = i;\n" + "}"); CLKernel kernel = program.createKernel("f"); for (int j = 0; j < 100; j++) { kernel.setArgs(buffer, n); kernel.enqueueNDRange(queue, new int[] { n }); } queue.finish(); queue.release(); kernel.release(); program.release(); buffer.release(); } context.release(); } }
Pointer<Integer> pErr = ptrs.pErr; long mappedPeer = CL.clEnqueueMapBuffer( queue.getEntity(), getEntity(), blocking ? CL_TRUE : CL_FALSE, return null; return new Pair<Pointer<T>, CLEvent>( pointerToAddress(mappedPeer, io).validElements(length).order(queue.getDevice().getKernelsDefaultByteOrder()), CLEvent.createEventFromPointer(queue, eventOut) );
public CLEvent releaseGLObject(CLQueue queue, CLEvent... eventsToWaitFor) { return queue.enqueueReleaseGLObjects(new CLMem[] { this }, eventsToWaitFor); }
public CLEvent acquireGLObject(CLQueue queue, CLEvent... eventsToWaitFor) { return queue.enqueueAcquireGLObjects(new CLMem[] { this }, eventsToWaitFor); }
float deltaImaginary, Pointer<Integer> results, String src) throws CLBuildException, IOException { CLContext context = queue.getContext(); long startTime = System.nanoTime(); if (useAutoGenWrapper) { queue.finish(); long time = System.nanoTime() - startTime; return time;
@InfoName("Out of order queues support") public boolean hasOutOfOrderQueueSupport() { CLContext context = getPlatform().createContext(null, this); CLQueue queue = null; try { queue = createOutOfOrderQueue(context); return true; } catch (CLException ex) { return false; } finally { if (queue != null) queue.release(); context.release(); } }
public ParallelRandom(CLQueue queue, int parallelSize, final long seed) throws IOException { try { this.queue = queue; this.context = queue.getContext(); randomProgram = new XORShiftRandom(context); this.parallelSize = parallelSize; int maxUnits = queue.getDevice().getMaxComputeUnits(); int unitsFactor = maxUnits < 10 ? 1 : 16; int scheduledWorkItems = maxUnits * unitsFactor;
Pointer<Integer> pErr = ptrs.pErr; long mappedPeer = CL.clEnqueueMapBuffer( queue.getEntity(), getEntity(), blocking ? CL_TRUE : CL_FALSE, return null; return new Pair<Pointer<T>, CLEvent>( pointerToAddress(mappedPeer, io).validElements(length).order(queue.getDevice().getKernelsDefaultByteOrder()), CLEvent.createEventFromPointer(queue, eventOut) );
public CLEvent releaseGLObject(CLQueue queue, CLEvent... eventsToWaitFor) { return queue.enqueueReleaseGLObjects(new CLMem[] { this }, eventsToWaitFor); }
public CLEvent acquireGLObject(CLQueue queue, CLEvent... eventsToWaitFor) { return queue.enqueueAcquireGLObjects(new CLMem[] { this }, eventsToWaitFor); }
static BufferedImage getRowsOrderImage(CLQueue queue, CLBuffer<Integer> buffer, int width, int height, CLEvent... eventsToWaitFor) { queue.finish(); BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); int[] pixels = buffer.read(queue, eventsToWaitFor).getInts(width * height); img.setRGB(0, 0, width,height, pixels, 0, width); return img; } }
/** * Calls <a href="http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clEnqueueReadBuffer.html">clEnqueueReadBuffer</a>.<br> */ public Pointer<T> read(CLQueue queue, long offset, long length, CLEvent... eventsToWaitFor) { Pointer<T> out = allocateCompatibleMemory(queue.getDevice()); read(queue, offset, length, out, true, eventsToWaitFor); return out; }
public ParallelMath(CLQueue queue) { this.queue = queue; CLContext context = queue.getContext(); }