<br>Hey Martin,<br><br><div class="gmail_quote">On Fri, Jul 2, 2010 at 7:39 PM, Martin Holste <span dir="ltr">&lt;<a href="mailto:mcholste@gmail.com">mcholste@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Congrats!<br>
<br>
Can you briefly describe the current state of the CUDA support?  Is it<br>
refined enough that performance is better when using CUDA?  I believe<br>
that in the early stages of development it was stated that non-CUDA<br>
was still faster than using CUDA.</blockquote><div><br>
We got the batching support in, but it isn&#39;t perfect.  Still needs a bit
 of work to beat the CPU.  We know where we have perf bottlenecks now.  
Here is the agenda for upcoming cuda work(looks like this patch didn&#39;t 
get in)<br>
<br>
 * \todo<br>
 *       - Make cuda paramters user configurable.<br>
 *       - Implement a gpu version of aho-corasick.  That should get rid
 of a<br>
 *         lot of post processing and pattern_chopping, and we don&#39;t 
have to<br>
 *         deal with one or two byte patterns.<br>
 *       - Currently a lot of packets(~17k) are getting stuck on the 
detection<br>
 *         thread, which is a major bottleneck.  Introduce bypass 
detection<br>
 *         threads for these 17k non buffered packets and check how the 
alerts<br>
 *         are affected by this(out of sequence handling by detection 
threads).<br>
 *       - Use texture/shared memory.  This should be handled along with
 AC.<br>
 *       - Test the use of host-alloced page locked memory.<br>
 *       - Test other optimizations like using the sgh held in the 
flow(if<br>
 *         present in the flow), instead of retrieving the sgh inside 
the batcher<br>
 *         thread.<br><br>Another thing I missed in this list is, buffering packets based on the remaining available space in the buffer.  Currently we just use a count of packets buffered in and use a threshhold limit for this count, after which we transfer the packets to the GPU.<br>
 </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">  Also, has anyone tested it using<br>
SLI?  This is really exciting stuff as the count of on-board stream<br>
processors continues to grow by leaps and bounds on these video cards<br>
every month!<br clear="all"></blockquote></div><br>Afaik, cuda doesn&#39;t recognize SLI.  It will recognize just one card(haven&#39;t checked it myself though).  In case one wants to use both the cards, they will have to disable SLI.  Cuda would then list all the cards.  Either ways load balancing isn&#39;t supported on multiple devices currently, but we have this on the agenda, but it isn&#39;t high priority.  Need to extract perf out of one card first ;)<br>
<br>-- <br>Regards,<br>Anoop Saldanha<br><br>