stream reuse
Is it allowed to reuse stream objects as in:
============
kernel void work(input<>, out float[]) {...}
============
brook::Stream<float> inputStream(rank, streamSize);
inputStream.read(inputBuffer);
unsigned int streamSizeScatter[] = {height, width};
brook::Stream<float> outputStream1(2, streamSizeScatter);
brook::Stream<float> outputStream2(2, streamSizeScatter);
work(inputStream, outputStream1, 12345);
// inputstream hasn't changed between these work() calls,
// lets reuse it!
work(inputStream, outputStream1, 6789);
=======================
The problem that I'm seeing in my application is lots of small arrays
being copied from host to GPU and back.
Reusing streams would help a lot!
Also, a stream output by one kernel and is used
as input to another kernel, is that data kept in GPU memory in the mean time
to reduce copying?
Cheers,
Ronald.