[Click] Need suggestions on integrating GPU computing into Click.
Markku Savela
Markku.Savela at vtt.fi
Fri Jun 15 02:34:27 EDT 2012
On 06/14/2012 07:01 PM, Weibin Sun wrote:
> The current problem I've found is that GPU needs large number
> of packets for acceleration, which may need some change to Element
> interface to accept batched packets.
I confess I'm not familiar about GPU interfaces. Can you access it
directly in userspace?
I don't think "batched packets" would help much, the Click push
API is not that heavy. I would be more
concerned about packet allocation overhead (packet pool use is
a must) and achieving zero-copy on processing. So one possible
approach would be to change the Click Packet optionally allocate
the buffer data area directly from GPU's memory area?
[I did some experiments with Octeon/Cavium processor, and used
caviums FPA buffers directly as click payload store, whenever
possible. The required patches to packet.cc can be viewed on
github -- you would then need to write your own GPU alloc code.
branch "octeon-experiment" at git://github.com/msa2/click.git
Though, I've no idea whether same idea can be applied to GPU
case...]
More information about the click
mailing list