     dim3 block(16, 16, 1);
     dim3 grid(width / block.x, height / block.y, 1);
 
-    cutResetTimer(satTimer[0]);
-    cutResetTimer(satTimer[1]);
-    cutResetTimer(satTimer[2]);
-
-    CUT_SAFE_CALL(cutStartTimer(satTimer[0]));
+    CUDA_SAFE_CALL( cudaEventRecord(timerStart) );    
+
     deinterleaveRGBA8toFloat32<<<grid, block, 0>>>(SATs[0][0], 
                                                    SATs[0][1], 
                                                    SATs[0][2], 

        printf("Error creating CUDPPPlan.\n");
    }

    CUT_SAFE_CALL(cutCreateTimer(&(satTimer[0])));
    CUT_SAFE_CALL(cutCreateTimer(&(satTimer[1])));
    CUT_SAFE_CALL(cutCreateTimer(&(satTimer[2])));
}

extern "C"

CUDPPHandle scanPlan;

float *SATs[2][3];
cudaEvent_t timerStart, timerStop;

extern "C"
__host__ void initialize(int width, int height)
