     
     cudaError_t err = cudaGetLastError();
     if (err != cudaSuccess)
-        printf("Error: %s\n", cudaGetErrorString(err));
+        printf("Error <<< launch >>>: %s\n", cudaGetErrorString(err));
     
     cudaMemcpy(d_wlens, wordvecs[test_batch].lens, sizeof(long)*batch_size, cudaMemcpyHostToDevice);
     printf("Done transfering wordvecs[test_batch].lens -> d_wlens \n");
     d_wordvec.lens = d_wlens;
     
-    cudaError_t err = cudaGetLastError();
-    if (err != cudaSuccess)
-        printf("Error : %s\n", cudaGetErrorString(err));
+    err = cudaGetLastError();
+    if (err != cudaSuccess)
+        printf("Error <<< launch >>>: %s\n", cudaGetErrorString(err));
     
     float* d_w;
     cudaMalloc((void **) &(d_w), sizeof(float)*dim*wordvecs[test_batch].lens[batch_size-1]);
     printf("Done allocating d_w \n");
     
-    cudaError_t err = cudaGetLastError();
+    err = cudaGetLastError();
     if (err != cudaSuccess)
         printf("Error <<< launch >>>: %s\n", cudaGetErrorString(err));
     

    cudaMalloc((void **) &(d_out), sizeof(float)*kerns.num*outputs[test_batch].lens[batch_size-1]);
    printf("Done allocating d_out \n");
    
    cudaError_t err = cudaGetLastError();
    if (err != cudaSuccess)
        printf("Error <<< launch >>>: %s\n", cudaGetErrorString(err));
    

    printf("Done transfering wordvecs[test_batch].lens -> d_olens \n");
    d_output.lens = d_olens;
    
    err = cudaGetLastError();
    if (err != cudaSuccess)
        printf("Error <<< launch >>>: %s\n", cudaGetErrorString(err));
    
