Browse Source

more cleanups for the "incrementer" examples

Cédric Augonnet 16 years ago
parent
commit
bfaaa7732f

+ 1 - 0
examples/Makefile.am

@@ -26,6 +26,7 @@ EXTRA_DIST = 					\
 	cuda/spmv_cuda.cu
 	cuda/spmv_cuda.cu
 
 
 CLEANFILES = 					\
 CLEANFILES = 					\
+	incrementer_runtime_kernels.linkinfo	\
 	incrementer_cuda.linkinfo		\
 	incrementer_cuda.linkinfo		\
 	cuda/incrementer_cuda.cubin		\
 	cuda/incrementer_cuda.cubin		\
 	spmv_cuda.linkinfo			\
 	spmv_cuda.linkinfo			\

+ 14 - 28
examples/incrementer/incrementer.c

@@ -15,34 +15,30 @@
  */
  */
 
 
 #include <string.h>
 #include <string.h>
-#include <math.h>
 #include <sys/types.h>
 #include <sys/types.h>
 #include <pthread.h>
 #include <pthread.h>
-#include <signal.h>
 
 
 /* for USE_CUDA */
 /* for USE_CUDA */
 #include <starpu_config.h>
 #include <starpu_config.h>
+#include <starpu.h>
 
 
 #ifdef USE_CUDA
 #ifdef USE_CUDA
 #include <cuda.h>
 #include <cuda.h>
 #include <cublas.h>
 #include <cublas.h>
 #endif
 #endif
 
 
-#include <starpu.h>
-
 #define NITER	50000
 #define NITER	50000
 
 
-starpu_data_handle my_float_state;
-starpu_data_handle unity_state;
+static starpu_data_handle my_float_state;
+static starpu_data_handle unity_state;
 
 
-static pthread_mutex_t mutex;
-static pthread_cond_t cond;
+static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
+static pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
 
 
 unsigned size __attribute__ ((aligned (16))) = 4*sizeof(float);
 unsigned size __attribute__ ((aligned (16))) = 4*sizeof(float);
 
 
-float my_lovely_float[4] __attribute__ ((aligned (16))) = { 0.0f, 0.0f, 0.0f, 1664.0f}; 
-float unity[4] __attribute__ ((aligned (16))) = { 1.0f, 0.0f, 1.0f, 0.0f };
-unsigned i;
+float my_lovely_float[3] __attribute__ ((aligned (16))) = { 0.0f, 0.0f, 0.0f}; 
+float unity[3] __attribute__ ((aligned (16))) = { 1.0f, 0.0f, 1.0f};
 
 
 void callback_func(void *argcb)
 void callback_func(void *argcb)
 {
 {
@@ -104,20 +100,18 @@ void initialize_cuda(void)
 
 
 void init_data(void)
 void init_data(void)
 {
 {
-	starpu_monitor_vector_data(&my_float_state, 0 /* home node */, (uintptr_t)&my_lovely_float, 4, sizeof(float));
+	starpu_monitor_vector_data(&my_float_state, 0 /* home node */,
+			(uintptr_t)&my_lovely_float, 3, sizeof(float));
 
 
-	starpu_monitor_vector_data(&unity_state, 0 /* home node */, (uintptr_t)&unity, 4, sizeof(float));
+	starpu_monitor_vector_data(&unity_state, 0 /* home node */,
+			(uintptr_t)&unity, 3, sizeof(float));
 }
 }
 
 
-int main(__attribute__ ((unused)) int argc, __attribute__ ((unused)) char **argv)
+int main(int argc, char **argv)
 {
 {
 	unsigned counter = 0;
 	unsigned counter = 0;
 
 
 	starpu_init(NULL);
 	starpu_init(NULL);
-	fprintf(stderr, "StarPU initialized ...\n");
-
-	pthread_mutex_init(&mutex, NULL);
-	pthread_cond_init(&cond, NULL);
 
 
 	init_data();
 	init_data();
 
 
@@ -138,6 +132,7 @@ int main(__attribute__ ((unused)) int argc, __attribute__ ((unused)) char **argv
 		.nbuffers = 2
 		.nbuffers = 2
 	};
 	};
 
 
+	unsigned i;
 	for (i = 0; i < NITER; i++)
 	for (i = 0; i < NITER; i++)
 	{
 	{
 		struct starpu_task *task = starpu_task_create();
 		struct starpu_task *task = starpu_task_create();
@@ -154,9 +149,6 @@ int main(__attribute__ ((unused)) int argc, __attribute__ ((unused)) char **argv
 		task->buffers[1].state = unity_state; 
 		task->buffers[1].state = unity_state; 
 		task->buffers[1].mode = R;
 		task->buffers[1].mode = R;
 
 
-		task->use_tag = 0;
-		task->synchronous = 0;
-
 		starpu_submit_task(task);
 		starpu_submit_task(task);
 	}
 	}
 
 
@@ -164,16 +156,10 @@ int main(__attribute__ ((unused)) int argc, __attribute__ ((unused)) char **argv
 	pthread_cond_wait(&cond, &mutex);
 	pthread_cond_wait(&cond, &mutex);
 	pthread_mutex_unlock(&mutex);
 	pthread_mutex_unlock(&mutex);
 
 
-//	/* stop monitoring data and grab it in RAM */
-//	unpartition_data(&my_float_state, 0);
-//
-//	delete_data(&my_float_state);
-
 	starpu_sync_data_with_mem(my_float_state);
 	starpu_sync_data_with_mem(my_float_state);
 	
 	
-	printf("array -> %f, %f, %f\n", my_lovely_float[0], 
+	fprintf(stderr, "array -> %f, %f, %f\n", my_lovely_float[0], 
 			my_lovely_float[1], my_lovely_float[2]);
 			my_lovely_float[1], my_lovely_float[2]);
-//	printf("stopping ... cnt was %d i %d\n", cnt, i);
 	
 	
 	if (my_lovely_float[0] != my_lovely_float[1] + my_lovely_float[2])
 	if (my_lovely_float[0] != my_lovely_float[1] + my_lovely_float[2])
 		return 1;
 		return 1;

+ 2 - 2
examples/incrementer/incrementer_runtime.c

@@ -51,7 +51,7 @@ void cuda_codelet(starpu_data_interface_t *buffers, __attribute__ ((unused)) voi
 }
 }
 #endif
 #endif
 
 
-int main(__attribute__ ((unused)) int argc, __attribute__ ((unused)) char **argv)
+int main(int argc, char **argv)
 {
 {
 	unsigned counter = 0;
 	unsigned counter = 0;
 
 
@@ -69,7 +69,7 @@ int main(__attribute__ ((unused)) int argc, __attribute__ ((unused)) char **argv
 		.where = CORE|CUBLAS,
 		.where = CORE|CUBLAS,
 		.core_func = core_codelet,
 		.core_func = core_codelet,
 #ifdef USE_CUDA
 #ifdef USE_CUDA
-		.cublas_func = &cuda_codelet,
+		.cublas_func = cuda_codelet,
 #endif
 #endif
 		.nbuffers = 1
 		.nbuffers = 1
 	};
 	};