From 4e4b94ba555ae14d223039944bba1a357c09500e Mon Sep 17 00:00:00 2001
From: Moises Fernandez <moisesf@fmrib.ox.ac.uk>
Date: Fri, 7 Dec 2012 21:04:57 +0000
Subject: [PATCH] Header file to define the MCMC preparation methods in the
 Host.

---
 CUDA/runmcmc.h | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)
 create mode 100644 CUDA/runmcmc.h

diff --git a/CUDA/runmcmc.h b/CUDA/runmcmc.h
new file mode 100644
index 0000000..eefdb80
--- /dev/null
+++ b/CUDA/runmcmc.h
@@ -0,0 +1,55 @@
+
+////////////////////////////////////////////////////// 
+//   MCMC IN GPU
+////////////////////////////////////////////////////// 
+
+void init_Fibres_Multifibres(	//INPUT
+				thrust::device_vector<double> 			datam_gpu,
+				thrust::device_vector<double> 			params_gpu,
+				thrust::device_vector<float> 			tau_gpu,
+				thrust::device_vector<double> 			bvals_gpu,
+				thrust::device_vector<double> 			alpha_gpu,
+				thrust::device_vector<double> 			beta_gpu,
+				string 						output_file, 
+				//OUTPUT
+				thrust::device_vector<FibreGPU>& 		fibres_gpu,
+				thrust::device_vector<MultifibreGPU>& 		multifibres_gpu,
+				thrust::device_vector<double>&			signals_gpu,
+				thrust::device_vector<double>&			isosignals_gpu);
+
+void runmcmc_burnin(	//INPUT
+			thrust::device_vector<double> 			datam_gpu,
+			thrust::device_vector<double> 			bvals_gpu,
+			thrust::device_vector<double> 			alpha_gpu,
+			thrust::device_vector<double> 			beta_gpu,
+			double 						seed,
+			string 						output_file, 
+			//INPUT-OUTPUT
+			thrust::device_vector<FibreGPU>& 		fibres_gpu,
+			thrust::device_vector<MultifibreGPU>& 		multifibres_gpu,
+			thrust::device_vector<double>&			signals_gpu,
+			thrust::device_vector<double>&			isosignals_gpu);
+
+
+void runmcmc_record(	//INPUT
+			thrust::device_vector<double> 			datam_gpu,
+			thrust::device_vector<double> 			bvals_gpu,
+			thrust::device_vector<double> 			alpha_gpu,
+			thrust::device_vector<double> 			beta_gpu,
+			thrust::device_vector<FibreGPU> 		fibres_gpu,
+			thrust::device_vector<MultifibreGPU> 		multifibres_gpu,
+			thrust::device_vector<double>			signals_gpu,
+			thrust::device_vector<double>			isosignals_gpu,
+			double 						seed,
+			string 						output_file, 
+			//OUTPUT
+			thrust::device_vector<int>&			multirecords_gpu,
+			thrust::device_vector<float>&			rf0_gpu,
+			thrust::device_vector<float>&			rtau_gpu,
+			thrust::device_vector<float>&			rs0_gpu,
+			thrust::device_vector<float>&			rd_gpu,
+			thrust::device_vector<float>&			rdstd_gpu,
+			thrust::device_vector<float>&			rth_gpu,
+			thrust::device_vector<float>&			rph_gpu,
+			thrust::device_vector<float>&			rf_gpu,
+			thrust::device_vector<float>&			rlikelihood_energy_gpu);
-- 
GitLab