123456789101112131415161718192021222324252627282930313233343536373839404142 |
- ! StarPU --- Runtime system for heterogeneous multicore architectures.
- !
- ! Copyright (C) 2016-2021 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
- !
- ! 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
- ! the Free Software Foundation; either version 2.1 of the License, or (at
- ! your option) any later version.
- !
- ! StarPU is distributed in the hope that it will be useful, but
- ! WITHOUT ANY WARRANTY; without even the implied warranty of
- ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- !
- ! See the GNU Lesser General Public License in COPYING.LGPL for more details.
- !
- module nf_sched_ctx_cl
- contains
- recursive subroutine cl_cpu_func_sched_ctx (buffers, cl_args) bind(C)
- use iso_c_binding ! C interfacing module
- use fstarpu_mod ! StarPU interfacing module
- implicit none
- interface
- function sleep(s) bind(C)
- use iso_c_binding
- integer(c_int) :: sleep
- integer(c_int), value, intent(in) :: s
- end function
- end interface
- type(c_ptr), value, intent(in) :: buffers, cl_args ! cl_args is unused
- integer(c_int),target :: id
- integer(c_int) :: worker_id
- integer(c_int) :: ret
- call fstarpu_unpack_arg(cl_args,(/ c_loc(id) /))
- ! ret = sleep(1)
- worker_id = fstarpu_worker_get_id()
- write(*,*) "task:", id, ", worker_id:", worker_id
- end subroutine cl_cpu_func_sched_ctx
- end module nf_sched_ctx_cl
|