public synchronized CLEvent multiplyDoubles( CLBuffer<Double> a, int aRows, int aColumns, CLBuffer<Double> b, int bRows, int bColumns, CLBuffer<Double> out, //long outRows, long outColumns, CLEvent... eventsToWaitFor) throws CLBuildException { if (a == null || b == null || out == null) throw new IllegalArgumentException("Null matrix"); if (aColumns != bRows || out.getElementCount() != (aRows * bColumns)) throw new IllegalArgumentException("Invalid matrix sizes : multiplying matrices of sizes (A, B) and (B, C) requires output of size (A, C)"); long outRows = aRows; long outColumns = bColumns; return kernels.mulMatDouble(queue, a, (int)aColumns, b, (int)bColumns, out, new int[] { (int)outRows, (int)outColumns }, null, eventsToWaitFor ); } public synchronized CLEvent multiplyFloats(
public synchronized CLEvent multiplyDoubles( CLBuffer<Double> a, int aRows, int aColumns, CLBuffer<Double> b, int bRows, int bColumns, CLBuffer<Double> out, //long outRows, long outColumns, CLEvent... eventsToWaitFor) throws CLBuildException { if (a == null || b == null || out == null) throw new IllegalArgumentException("Null matrix"); if (aColumns != bRows || out.getElementCount() != (aRows * bColumns)) throw new IllegalArgumentException("Invalid matrix sizes : multiplying matrices of sizes (A, B) and (B, C) requires output of size (A, C)"); long outRows = aRows; long outColumns = bColumns; return kernels.mulMatDouble(queue, a, (int)aColumns, b, (int)bColumns, out, new int[] { (int)outRows, (int)outColumns }, null, eventsToWaitFor ); } public synchronized CLEvent multiplyFloats(