     
     // Launch the kernel
     
-    conv1d_kernel<<<dim, batch_size, dim*sizeof(float)>>>(d_wordvec, d_kerns, d_output);
+    conv1d_kernel<<<batch_size, dim, dim*sizeof(float)>>>(d_wordvec, d_kerns, d_output);
     cudaDeviceSynchronize();
     
     // Get output results back

    int tIdx = blockIdx.x * blockDim.x + threadIdx.x;
    int bIdx = blockIdx.x;
    
    long len, out_len;
    float* wv;
    float* out;

        out = &output.out[out_dim*output.lens[bIdx-1]];
    }
    
    
    __syncthreads();
    
    for (int i=0; i < out_len; i++) {
