diff --git a/parallel/para_gibbs.cu b/parallel/para_gibbs.cu index 1e2053a..f174a02 100644 --- a/parallel/para_gibbs.cu +++ b/parallel/para_gibbs.cu @@ -92,10 +92,17 @@ int main(int argc, char **argv){ curandState *devStates; float a, b, *n, *dev_n, *dev_theta, *dev_log_theta; - int K, *y, *dev_y, nBlocks, trials = 1000; + int K, *y, *dev_y, nBlocks,nThreads, trials = 1000; - if(argc > 2) + if(argc>4){ trials = atoi(argv[2]); + nBlocks = atoi(argv[3]); + nThreads = atoi(argv[4]); + } + else if(argc > 2) + trials = atoi(argv[2]); + nBlocks = 64; + nThreads = 1; load_data(argc, argv, &K, &y, &n); @@ -124,13 +131,13 @@ int main(int argc, char **argv){ /*------ Setup random number generators (one per thread) ---------*/ //nBlocks = (K + THREADS_PER_BLOCK - 1) / THREADS_PER_BLOCK; - nBlocks = 1; + //nBlocks = 1; setup_kernel<<>>(devStates, 0, K); rnorm(); printf("alpha, beta\n"); //seqMetroProcess<<>>(K,nBlocks,dev_y,dev_n,devStates,dev_theta,dev_log_theta,a,b,trials); - seqMetroProcess<<>>(K,nBlocks,dev_y,dev_n,devStates,dev_theta,dev_log_theta,a,b,trials); + seqMetroProcess<<>>(K,nBlocks,dev_y,dev_n,devStates,dev_theta,dev_log_theta,a,b,trials); //mergePosterior<<>>(); /*------ Free Memory -------------------------------------------*/