     *dispX = forceX;
     *dispY = forceY;
     vectorMultiply(dispX, dispY, speed);
+    // FIXME remove this print
+    printf("speed:  %f.\nforces:  %f,%f.\n", speed, forceX, forceY);
   }
 }
 

    __syncthreads();
    if (tx < stride)
    {
      scratch[base] += scratch[base + stride];
    }

    stride >>= 1;

  unsigned int* edgeTargets = NULL;

  Timer timerMem1, timerMem2;
  //cudaEvent_t start, stop;
  //float time;

  // Allocate data for vertices, edges, and fa2 data.
  cudaMalloc(&numNeighbours, g->numvertices * sizeof(int));
