123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- module nf_codelets
- contains
-
-
-
-
-
- recursive subroutine cl_cpu_func_vec (buffers, cl_args) bind(C)
- use iso_c_binding
- use fstarpu_mod
- implicit none
- type(c_ptr), value, intent(in) :: buffers, cl_args
- real(8), dimension(:), pointer :: va
- integer, dimension(:), pointer :: vb
- integer :: nx_va,nx_vb,i
- write(*,*) "task -->"
-
- nx_va = fstarpu_vector_get_nx(buffers, 0)
- write(*,*) "nx_va"
- write(*,*) nx_va
-
- nx_vb = fstarpu_vector_get_nx(buffers, 1)
- write(*,*) "nx_vb"
- write(*,*) nx_vb
-
- call c_f_pointer(fstarpu_vector_get_ptr(buffers, 0), va, shape=[nx_va])
- write(*,*) "va"
- do i=1,nx_va
- write(*,*) i,va(i)
- end do
-
- call c_f_pointer(fstarpu_vector_get_ptr(buffers, 1), vb, shape=[nx_vb])
- write(*,*) "vb"
- do i=1,nx_vb
- write(*,*) i,vb(i)
- end do
- write(*,*) "task <--"
- end subroutine cl_cpu_func_vec
-
- recursive subroutine cl_cpu_func_mat (buffers, cl_args) bind(C)
- use iso_c_binding
- use fstarpu_mod
- implicit none
- type(c_ptr), value, intent(in) :: buffers, cl_args
- real(8), dimension(:,:), pointer :: ma
- integer, dimension(:,:), pointer :: mb
- integer :: ld_ma,nx_ma,ny_ma
- integer :: ld_mb,nx_mb,ny_mb
- integer :: i,j
- write(*,*) "task -->"
- ld_ma = fstarpu_matrix_get_ld(buffers, 0)
- nx_ma = fstarpu_matrix_get_nx(buffers, 0)
- ny_ma = fstarpu_matrix_get_ny(buffers, 0)
- write(*,*) "ld_ma"
- write(*,*) ld_ma
- write(*,*) "nx_ma"
- write(*,*) nx_ma
- write(*,*) "ny_ma"
- write(*,*) ny_ma
- ld_mb = fstarpu_matrix_get_ld(buffers, 1)
- nx_mb = fstarpu_matrix_get_nx(buffers, 1)
- ny_mb = fstarpu_matrix_get_ny(buffers, 1)
- write(*,*) "ld_mb"
- write(*,*) ld_mb
- write(*,*) "nx_mb"
- write(*,*) nx_mb
- write(*,*) "ny_mb"
- write(*,*) ny_mb
- call c_f_pointer(fstarpu_matrix_get_ptr(buffers, 0), ma, shape=[ld_ma,ny_ma])
- write(*,*) "ma"
- do i=1,nx_ma
- do j=1,ny_ma
- write(*,*) i,j,ma(i,j)
- end do
- write(*,*) '-'
- end do
- call c_f_pointer(fstarpu_matrix_get_ptr(buffers, 1), mb, shape=[ld_mb,ny_mb])
- write(*,*) "mb"
- do i=1,nx_mb
- do j=1,ny_mb
- write(*,*) i,j,mb(i,j)
- end do
- write(*,*) '-'
- end do
- write(*,*) "task <--"
- end subroutine cl_cpu_func_mat
- end module nf_codelets
|