瀏覽代碼

- fix Fortran declaration of StarPU API funcs
- add an example call to a parameterized StarPU API func

Olivier Aumage 10 年之前
父節點
當前提交
8b6ad9b5f0
共有 2 個文件被更改,包括 6 次插入3 次删除
  1. 3 0
      examples/fortran90/f90_example.f90
  2. 3 3
      include/starpu_mod.f90

+ 3 - 0
examples/fortran90/f90_example.f90

@@ -28,6 +28,7 @@ PROGRAM f90_example
   TYPE(type_numpar)              :: numpar
   TYPE(type_mesh_elt),POINTER    :: elt   => NULL()
   INTEGER(KIND=C_INT)            :: i,Nelt,res,cpus
+  INTEGER(KIND=C_INT)            :: starpu_maj,starpu_min,starpu_rev
   INTEGER(KIND=C_INT)            :: neq,ng,nb,it,it_tot
   REAL(KIND=C_DOUBLE)            :: r, coeff2
 
@@ -49,6 +50,8 @@ PROGRAM f90_example
 
   !Initialization of StarPU
   res = starpu_my_init_c()
+  call starpu_get_version(starpu_maj,starpu_min,starpu_rev)
+  WRITE(6,'(a,i4,a,i4,a,i4)')      "StarPU version: ", starpu_maj , "." , starpu_min , "." , starpu_rev
   cpus = starpu_cpu_worker_get_count()
   IF (cpus == 0) THEN
      CALL starpu_shutdown()

+ 3 - 3
include/starpu_mod.f90

@@ -20,7 +20,7 @@ MODULE starpu_mod
   INTERFACE
      SUBROUTINE starpu_conf_init(conf) BIND(C)
        USE iso_c_binding
-       TYPE(C_PTR), INTENT(INOUT) :: conf
+       TYPE(C_PTR), VALUE :: conf
      END SUBROUTINE starpu_conf_init
   END INTERFACE
 
@@ -28,7 +28,7 @@ MODULE starpu_mod
   INTERFACE
      SUBROUTINE starpu_init(conf) BIND(C)
        USE iso_c_binding
-       TYPE(C_PTR), INTENT(IN) :: conf
+       TYPE(C_PTR), VALUE :: conf
      END SUBROUTINE starpu_init
   END INTERFACE
 
@@ -96,7 +96,7 @@ MODULE starpu_mod
   INTERFACE
      SUBROUTINE starpu_get_version(major,minor,release) BIND(C)
        USE iso_c_binding
-       TYPE(C_PTR), INTENT(OUT) :: major,minor,release
+       INTEGER(KIND=C_INT), INTENT(OUT) :: major,minor,release
      END SUBROUTINE starpu_get_version
   END INTERFACE