Objet : Developers list for StarPU
Archives de la liste
- From: Cyril Roelandt <cyril.roelandt@inria.fr>
- To: Albert Sidelnik <sidelnik@gmail.com>
- Cc: starpu-devel <starpu-devel@lists.gforge.inria.fr>
- Subject: Re: [Starpu-devel] Data interfaces in StarPU
- Date: Tue, 28 Aug 2012 17:41:53 +0200
- List-archive: <http://lists.gforge.inria.fr/pipermail/starpu-devel>
- List-id: "Developers list. For discussion of new features, code changes, etc." <starpu-devel.lists.gforge.inria.fr>
On 08/28/2012 04:10 PM, Albert Sidelnik wrote:
Hi Cyril,
I was under the impression that the copy/allocate registered routines (e.g.
copy_ram_to_ram, allocate_variable_buffer_on_node) would also be invoked
even for CPU->CPU tasks. If not, where/how does that occur?
If you run a task on a CPU, and then another task on another CPU, then the copy_ram_to_ram function will not be called, because both CPUs use the same memory node (the RAM).
You could take a look at starpu_data_cpy (src/util/starpu_data_cpy.c) to see how to trigger a RAM to RAM copy.
What I meant by passing pointers around is the situation where I would like
a codelet to propagate (or forward) data through a chain of codelets
without having to allocate and copy the data when each codelet starts.
Instead I would like to just pass on an address to the original data among
the chain of codelets. I hope that makes sense, and if not, I can give you
a better example what I am trying to do.
The thing is, if you need to use a given piece of data on different memory nodes (say, the RAM and the memory of your GPU) then you need to make a copy. How would you handle this case ?
StarPU does not allocate/copy memory every time a codelet starts. It just registers a piece of data (when the application calls starpu_variable_data_register(), for instance) and moves it between memory nodes when it is needed. So if you run the following tasks sequentially:
T1: on CPU0
T2: on CPU1
T3: on GPU0
T4: on CPU2
StarPU will only run 2 copies: one from the RAM to the GPU, and one from the GPU to the RAM.
WBR,
Cyril Roelandt.
- [Starpu-devel] Data interfaces in StarPU, Albert Sidelnik, 28/08/2012
- Re: [Starpu-devel] Data interfaces in StarPU, Cyril Roelandt, 28/08/2012
- Re: [Starpu-devel] Data interfaces in StarPU, Albert Sidelnik, 28/08/2012
- Re: [Starpu-devel] Data interfaces in StarPU, Cyril Roelandt, 28/08/2012
- Re: [Starpu-devel] Data interfaces in StarPU, Albert Sidelnik, 28/08/2012
- Re: [Starpu-devel] Data interfaces in StarPU, Cyril Roelandt, 28/08/2012
Archives gérées par MHonArc 2.6.19+.