def _make_test_case(n=1000, k=4, p=1): data = randn(n, k) covs = [util.random_cov(k) for _ in range(p)] means = [randn(k) for _ in range(p)] return data, means, covs
""" return normpdf_multi(x, [mean], [std], logged=logged, get=get).squeeze() def normpdf_multi(x, means, std, logged=True, get=True): if logged: cu_func = cu_module.get_function('log_pdf_normal') else: cu_func = cu_module.get_function('pdf_normal') packed_params = np.c_[means, std] if not isinstance(x, GPUArray): x = util.prep_ndarray(x) return _univariate_pdf_call(cu_func, x, packed_params, get) if __name__ == '__main__': import gpustats.compat as compat n = 1e5 k = 8 np.random.seed(1) data = randn(n, k).astype(np.float32) mean = randn(k).astype(np.float32) cov = util.random_cov(k).astype(np.float32) result = mvnpdf_multi(data, [mean, mean], [cov, cov]) # pyresult = compat.python_mvnpdf(data, [mean], [cov]).squeeze() # print result - pyresult