+// Cuda Includes
 #include "cuda_runtime.h"
 #include "device_launch_parameters.h"
-
 #include <cuda.h>
 #include <curand.h>
 #include <curand_kernel.h>
+
+// Thrust includes
 #include <thrust/device_vector.h>
 #include <thrust/host_vector.h>
-
 #include <thrust/random/linear_congruential_engine.h>
 #include <thrust/random/normal_distribution.h>
 #include <thrust/random.h>
 #include <thrust/reduce.h>
 #include <thrust/transform_reduce.h>
 
+// Standard includes
 #include <stdio.h>
 #include <fstream>
 #include <stdlib.h>
+#include <math.h>
+#include <vector>
 
 //#include <thrust/sort.h>
 //#include <thrust/copy.h>


int main(void)
{
	int n = 2000; // # of data points
	int m = 5; // # of features per data point (i.e., # of points in the SED for the i^th source)
    int p = 3; // # of characteristics per data point.

    // Random number generator and distribution needed to simulate some data
	// unsigned int seed = 98724732;
    unsigned int seed =123455;

//#include <algorithm>
//#include <cstdlib>

#define CUDA_CALL(x) do { if((x) != cudaSuccess) { \
printf("Error at %s:%d\n",__FILE__,__LINE__); \
return EXIT_FAILURE;}} while(0)
