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

    
    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]);

    d_wordvec.dim = dim;
    d_wordvec.b_size = batch_size;
    long* d_wlens;
    cudaMalloc((void **) &(d_wlens), sizeof(long)*batch_size);
    printf("Done allocating d_wlens \n");
    
    cudaError_t err = cudaGetLastError();
    if (err != cudaSuccess)
        printf("Error: %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");
