| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | #!/bin/bash## StarPU --- Runtime system for heterogeneous multicore architectures.## Copyright (C) 2012 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.handle.refcnt usage===================It is the counter for a software rwlock, accounting the number of readers(mode == STARPU_R) or writers (mode == STARPU_W)It is thus used- during task duration for each data- right after completion of a data request- during application data acquisition* Creates a reference:  * Released by _starpu_notify_data_dependencies():    - _starpu_attempt_to_submit_data_request() immediately when returning 0, but otherwise (1) when the pending request is given control  * Released by _starpu_notify_data_dependencies():    - _starpu_notify_data_dependencies() when may_unlock_data_req_list_head returned a request which can proceed* Indirectly creates a reference:  * Released by starpu_data_release():    - _starpu_attempt_to_submit_data_request_from_apps() when returning 0    - starpu_data_acquire_cb()    - starpu_data_acquire()  * Released by _starpu_notify_data_dependencies():    - attempt_to_submit_data_request_from_job() when returning 0  * Released by _starpu_push_task_output():    - _submit_job_enforce_data_deps() for each data.* Releases a reference:  - _starpu_notify_data_dependencies()* Indirectly releases a reference:  - _starpu_release_data_on_node()  - _starpu_push_task_output() for each data  - starpu_data_release()* Temporarily creates a reference, released immediately:  - _starpu_write_through_data() for needed write-throughs, released by wt_callback  - _starpu_benchmark_ping_pong()  - _starpu_data_unregister()  - _starpu_prefetch_data_on_node_with_mode()  - starpu_data_invalidate()TODO: unclear conversion use
 |