浏览代码

examples/fortran90/marshalling.c: do not create useless task object - do not ignore ENODEV return value - fix code formatting

Nathalie Furmento 10 年之前
父节点
当前提交
eb8690dc7e
共有 1 个文件被更改,包括 93 次插入96 次删除
  1. 93 96
      examples/fortran90/marshalling.c

+ 93 - 96
examples/fortran90/marshalling.c

@@ -2,6 +2,7 @@
  *
  * Copyright (C) 2015  ONERA
  * Copyright (C) 2015  Inria
+ * Copyright (C) 2015  CNRS
  *
  * StarPU is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
@@ -19,155 +20,151 @@
 
 //--------------------------------------------------------------//
 void starpu_register_element_c(int Neq_max,int Np, int Ng,double **ro, double **dro,
-                               double **basis, void **ro_h, void **dro_h, void **basis_h){
-     starpu_data_handle_t ro_handle;
-     starpu_data_handle_t dro_handle;
-     starpu_data_handle_t basis_handle;
-
-     starpu_matrix_data_register(&ro_handle, 0, 
-        (uintptr_t)ro,Neq_max,Neq_max,Np, sizeof(double));
-     starpu_matrix_data_register(&dro_handle, 0, 
-        (uintptr_t)dro,Neq_max,Neq_max,Np, sizeof(double));
-     starpu_matrix_data_register(&basis_handle, 0, 
-        (uintptr_t)basis,Np,Np,Ng, sizeof(double));
-
-     *ro_h = ro_handle;
-     *dro_h = dro_handle;
-     *basis_h = basis_handle;
+                               double **basis, void **ro_h, void **dro_h, void **basis_h)
+{
+	starpu_data_handle_t ro_handle;
+	starpu_data_handle_t dro_handle;
+	starpu_data_handle_t basis_handle;
+
+	starpu_matrix_data_register(&ro_handle, 0,
+				    (uintptr_t)ro,Neq_max,Neq_max,Np, sizeof(double));
+	starpu_matrix_data_register(&dro_handle, 0,
+				    (uintptr_t)dro,Neq_max,Neq_max,Np, sizeof(double));
+	starpu_matrix_data_register(&basis_handle, 0,
+				    (uintptr_t)basis,Np,Np,Ng, sizeof(double));
+
+	*ro_h = ro_handle;
+	*dro_h = dro_handle;
+	*basis_h = basis_handle;
 }
 
-void starpu_unregister_element_c(void **ro_h, void **dro_h, void **basis_h){
-     starpu_data_handle_t ro_handle = *ro_h;
-     starpu_data_handle_t dro_handle = *dro_h;
-     starpu_data_handle_t basis_handle = *basis_h;
+void starpu_unregister_element_c(void **ro_h, void **dro_h, void **basis_h)
+{
+	starpu_data_handle_t ro_handle = *ro_h;
+	starpu_data_handle_t dro_handle = *dro_h;
+	starpu_data_handle_t basis_handle = *basis_h;
 
-     starpu_data_unregister(ro_handle);
-     starpu_data_unregister(dro_handle);
-     starpu_data_unregister(basis_handle);
+	starpu_data_unregister(ro_handle);
+	starpu_data_unregister(dro_handle);
+	starpu_data_unregister(basis_handle);
 }
 
 //--------------------------------------------------------------//
-void loop_element_cpu_fortran(double coeff, int Neq_max, int Np,
-     int Ng, void *ro_ptr, void *dro_ptr, void *basis_ptr, void *cl_arg);
+void loop_element_cpu_fortran(double coeff, int Neq_max, int Np, int Ng, void *ro_ptr, void *dro_ptr, void *basis_ptr, void *cl_arg);
 
 void loop_element_cpu_func(void *buffers[], void *cl_arg);
 
 struct starpu_codelet cl_loop_element =
 {
-     .where = STARPU_CPU,
-     .cpu_funcs = {loop_element_cpu_func, NULL},
-     .nbuffers = 3,
-     .modes = {STARPU_R,STARPU_RW,STARPU_R},
-     .name = "LOOP_ELEMENT"
+	.where = STARPU_CPU,
+	.cpu_funcs = {loop_element_cpu_func, NULL},
+	.nbuffers = 3,
+	.modes = {STARPU_R,STARPU_RW,STARPU_R},
+	.name = "LOOP_ELEMENT"
 };
 
 void loop_element_cpu_func(void *buffers[], void *cl_arg)
 {
-      double coeff;
+	double coeff;
 
-      double **ro = (double **) STARPU_MATRIX_GET_PTR(buffers[0]);
-      int Neq_max  = STARPU_MATRIX_GET_NX(buffers[0]);
+	double **ro = (double **) STARPU_MATRIX_GET_PTR(buffers[0]);
+	int Neq_max  = STARPU_MATRIX_GET_NX(buffers[0]);
 
-      double **dro = (double **) STARPU_MATRIX_GET_PTR(buffers[1]);
+	double **dro = (double **) STARPU_MATRIX_GET_PTR(buffers[1]);
 
-      double **basis = (double **) STARPU_MATRIX_GET_PTR(buffers[2]);
-      int Np = STARPU_MATRIX_GET_NX(buffers[2]);
-      int Ng = STARPU_MATRIX_GET_NY(buffers[2]);
+	double **basis = (double **) STARPU_MATRIX_GET_PTR(buffers[2]);
+	int Np = STARPU_MATRIX_GET_NX(buffers[2]);
+	int Ng = STARPU_MATRIX_GET_NY(buffers[2]);
 
-      starpu_codelet_unpack_args(cl_arg, &coeff);
+	starpu_codelet_unpack_args(cl_arg, &coeff);
 
-      void *ro_ptr    = &ro;
-      void *dro_ptr   = &dro;
-      void *basis_ptr = &basis;
+	void *ro_ptr    = &ro;
+	void *dro_ptr   = &dro;
+	void *basis_ptr = &basis;
 
-      loop_element_cpu_fortran(coeff,Neq_max,Np,Ng, 
-                    ro_ptr,dro_ptr,basis_ptr,cl_arg);
+	loop_element_cpu_fortran(coeff,Neq_max,Np,Ng,
+				 ro_ptr,dro_ptr,basis_ptr,cl_arg);
 }
 
 void starpu_loop_element_task_c(double coeff, void **ro_h, void **dro_h, void **basis_h)
 {
-     int ret;
-
-     starpu_data_handle_t ro_handle = *ro_h;
-     starpu_data_handle_t dro_handle = *dro_h;
-     starpu_data_handle_t basis_handle = *basis_h;
-
-     struct starpu_task *task = starpu_task_create();
-
-     /* execute the task on any eligible computational ressource */
-     ret = starpu_insert_task(&cl_loop_element, 
-                        STARPU_VALUE,   &coeff, sizeof(double),
-                        STARPU_R,    ro_handle,
-                        STARPU_RW,   dro_handle,
-                        STARPU_R,    basis_handle,
-                        0);
-
-     /* verification */
-     if (ret != -ENODEV) STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");
+	int ret;
+
+	starpu_data_handle_t ro_handle = *ro_h;
+	starpu_data_handle_t dro_handle = *dro_h;
+	starpu_data_handle_t basis_handle = *basis_h;
+
+	/* execute the task on any eligible computational ressource */
+	ret = starpu_task_insert(&cl_loop_element,
+				 STARPU_VALUE, &coeff, sizeof(double),
+				 STARPU_R,     ro_handle,
+				 STARPU_RW,    dro_handle,
+				 STARPU_R,     basis_handle,
+				 0);
+
+	/* verification */
+	STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_insert");
 }
 
 //--------------------------------------------------------------//
-void copy_element_cpu_fortran(int Neq_max, int Np,
-     void *ro_ptr, void *dro_ptr);
+void copy_element_cpu_fortran(int Neq_max, int Np, void *ro_ptr, void *dro_ptr);
 
 void copy_element_cpu_func(void *buffers[], void *cl_arg);
 
 struct starpu_codelet cl_copy_element =
 {
-     .where = STARPU_CPU,
-     .cpu_funcs = {copy_element_cpu_func, NULL},
-     .nbuffers = 2,
-     .modes = {STARPU_RW,STARPU_R},
-     .name = "COPY_ELEMENT"
+	.where = STARPU_CPU,
+	.cpu_funcs = {copy_element_cpu_func, NULL},
+	.nbuffers = 2,
+	.modes = {STARPU_RW,STARPU_R},
+	.name = "COPY_ELEMENT"
 };
 
 void copy_element_cpu_func(void *buffers[], void *cl_arg)
 {
-      double **ro = (double **) STARPU_MATRIX_GET_PTR(buffers[0]);
-      int Neq_max  = STARPU_MATRIX_GET_NX(buffers[0]);
-      int Np = STARPU_MATRIX_GET_NY(buffers[0]);
+	double **ro = (double **) STARPU_MATRIX_GET_PTR(buffers[0]);
+	int Neq_max  = STARPU_MATRIX_GET_NX(buffers[0]);
+	int Np = STARPU_MATRIX_GET_NY(buffers[0]);
 
-      double **dro = (double **) STARPU_MATRIX_GET_PTR(buffers[1]);
+	double **dro = (double **) STARPU_MATRIX_GET_PTR(buffers[1]);
 
-      void *ro_ptr    = &ro;
-      void *dro_ptr   = &dro;
+	void *ro_ptr    = &ro;
+	void *dro_ptr   = &dro;
 
-      copy_element_cpu_fortran(Neq_max,Np,ro_ptr,dro_ptr);
+	copy_element_cpu_fortran(Neq_max,Np,ro_ptr,dro_ptr);
 }
 
 void starpu_copy_element_task_c(void **ro_h, void **dro_h)
 {
-     int ret;
-
-     starpu_data_handle_t ro_handle = *ro_h;
-     starpu_data_handle_t dro_handle = *dro_h;
+	int ret;
 
-     struct starpu_task *task = starpu_task_create();
+	starpu_data_handle_t ro_handle = *ro_h;
+	starpu_data_handle_t dro_handle = *dro_h;
 
-     /* execute the task on any eligible computational ressource */
-     ret = starpu_insert_task(&cl_copy_element, 
-                        STARPU_RW,  ro_handle,
-                        STARPU_R,   dro_handle,
-                        0);
+	/* execute the task on any eligible computational ressource */
+	ret = starpu_insert_task(&cl_copy_element,
+				 STARPU_RW,  ro_handle,
+				 STARPU_R,   dro_handle,
+				 0);
 
-     /* verification */
-     if (ret != -ENODEV) STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");
+	/* verification */
+	STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");
 }
 
 //--------------------------------------------------------------//
 int starpu_init_c()
 {
-     /* Initialize StarPU with default configuration */
-     int ret;
-     struct starpu_conf conf;
-     starpu_conf_init(&conf);
-     conf.sched_policy_name = "dmda";
+	/* Initialize StarPU with default configuration */
+	int ret;
+	struct starpu_conf conf;
+	starpu_conf_init(&conf);
+	conf.sched_policy_name = "dmda";
 
-     ret = starpu_init(&conf);
-     /*     int ret = starpu_init(NULL); */
-     if (ret == -ENODEV) goto enodev;
+	ret = starpu_init(&conf);
+	/*     int ret = starpu_init(NULL); */
+	if (ret == -ENODEV) goto enodev;
 
-     return ret;
+	return ret;
 enodev:
-     return 77;
+	return 77;
 }