 	float *samples;
 	float *alpha;
 	float *beta;
+
+	dim3 cov_block(N, N);
 
 	cudaMalloc(&sample_mean, mean_size);
 	cudaMalloc(&sample_covariance, cov_size);

	sample_mean[cell] = sample_mean[cell] / nsamps;
}

__global__ void compute_sample_covariance(float* samples, float* sample_covariance, int N)
{
	int cell = blockIdx.x;
	for(int j=0; j<cell; j++)
	{
		sample_covariance[cell*N] = 0.0;
	}
}

__global__ void update_parameter_estimates(float* alpha, float* beta, float* sample_mean, float* sample_covariance, int N)
{

	float *alpha_res = (float*)malloc(mean_size);
	float *beta_res = (float*)malloc(cov_size);
	float *sample_mean_res = (float*)malloc(mean_size);
	float *sample_covariance_res = (float*)malloc(cov_size);
	float *samples_res = (float*)malloc(samples_size);

	/* Allocate device memory */
