geluGPU function
Implementation
GPUTensor<Vector> geluGPU(GPUTensor<Vector> v, CommandBuffer tape) {
int n = v.shape[0];
List<double> zeros = <double>[];
for (int i = 0; i < n; i = i + 1) {
zeros.add(0.0);
}
GPUTensor<Vector> out = GPUTensor<Vector>(zeros);
tape.putInt(OP_GELU_FORWARD);
tape.putString(v.id);
tape.putString(out.id);
out.creator = GPUNode(
<GPUTensor>[v],
(CommandBuffer bTape) {
bTape.putInt(OP_GELU_BACKWARD);
bTape.putString(v.id);
bTape.putString('${out.id}_grad');
bTape.putString('${v.id}_grad');
},
opName: 'geluGPU',
cost: n,
);
return out;
}