toCpu method

void toCpu()

Implementation

void toCpu() {
  int count = _getElementCount();
  Pointer<Float> pData = calloc<Float>(count);
  Pointer<Float> pGrad = calloc<Float>(count);

  CudaEngine.retrieve(id, pData);
  CudaEngine.retrieve('${id}_grad', pGrad);

  Float32List dataView = pData.asTypedList(count);
  Float32List gradView = pGrad.asTypedList(count);

  data.clear();
  grad.clear();

  for (int i = 0; i < count; i = i + 1) {
    data.add(dataView[i]);
    grad.add(gradView[i]);
  }

  calloc.free(pData);
  calloc.free(pGrad);
}