Re: Need suggestions on integrating GPU computing into Click.
Markku Savela <[email protected]> Fri, 15 Jun 2012 09:34:27 +0300
| Newsgroups | gmane.network.routing.click |
|---|---|
| Message-ID | <[email protected]> |
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...]