[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