queue.array2Buffer(this.gradients, this.gradientInBuffer);
queue.array2Buffer(this.paramArray, this.paramBuffer);
// Execute the kernel
queue.execute(this);
queue.waitFinish();
// Read the results
queue.buffer2Array(this.errorBuffer, this.errors);
queue.buffer2Array(this.weightOutArrayBuffer, this.weightOutArray);
queue.buffer2Array(this.tempDataOutBuffer, this.tempDataArray);