             float discrim;
             float* tData = x + obs * DATA_PADDED_DIM;
             float* tDensityInfo = density + component * PACK_DIM;
-            float* tMean = tDensityInfo;            //do we need to unallocate shared/register variables?
+            float* tMean = tDensityInfo;
             float* tSigma = tDensityInfo + D;
             float  tP = tDensityInfo[LOGDET_OFFSET];
             float  tLogDet = tDensityInfo[LOGDET_OFFSET+1];

		}
	  }
	}

	// can't fit max_block_params sets of parameters into the shared memory,
	// uh oh
	if (data_per == 0) {

  PMatrix_init(&pparams, d_params, nparams,
               data_dim * (data_dim + 3) / 2 + 2, param_stride);

  // printf("data dim: %d\n", pdata.cols);
  // printf("data padded dim: %d\n", pdata.stride);

  invoke_mvnpdf(pdata, pparams, d_pdf);
  d_to_h(d_pdf, h_pdf, total_obs * nparams);
