     thrust::fill(d_logdens.begin(), d_logdens.end(), -1.0e300);
     
 	// Load a single set of thetas into constant memory
-    double* p_theta = thrust::raw_pointer_cast(&h_theta[0]);
+    double* p_theta = &h_theta[0];
 	CUDA_CALL(cudaMemcpyToSymbol(c_theta, p_theta, h_theta.size() * sizeof(*p_theta)));
     
     // Cuda grid launch

        }
        
        CUDA_CALL(cudaDeviceSynchronize());
        
        h_mha_ratios = d_mha_ratios;
        double min_mha_ratio = 1e10;

            min_mha_ratio = std::min(min_mha_ratio, h_mha_ratios[idata]);
            max_mha_ratio = std::max(max_mha_ratio, h_mha_ratios[idata]);
        }
        std::cout << std::endl;
        std::cout << "Iteration: " << current_iter << std::endl;
        std::cout << "Minimum, Maximum MHA ratio: " << min_mha_ratio << ", " << max_mha_ratio << std::endl;
        
