[ 
https://issues.apache.org/jira/browse/LUCENE-7745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15952388#comment-15952388
 ] 

Ishan Chattopadhyaya commented on LUCENE-7745:
----------------------------------------------

Hi Vikash,
I suggest you read the student manuals for GSoC.
Submit a proposal how you want to approach this project, including technical 
details (as much as possible) and detailed timelines.

Regarding the following:

{code}
1    First, understand how BooleanScorer calls these similarity classes and 
does the scoring. There are unit tests in Lucene that can help you get there. 
This might help: https://wiki.apache.org/lucene-java/HowToContribute
2    Write a standalone CUDA/OpenCL project that does the same processing on 
the GPU.
3    Benchmark the speed of doing so on GPU vs. speed observed when doing the 
same through the BooleanScorer. Preferably, on a large resultset. Include time 
for copying results and scores in and out of the device memory from/to the main 
memory.
 4   Optimize step 2, if possible.
{code}

If you've already understood step 1, feel free to make a proposal on how you 
will use your GSoC coding time to achieve steps 2-4. Also, you can look at 
other stretch goals to be included in the coding time. I would consider that 
steps 2-4, if done properly and successfully, is itself a good GSoC 
contribution. And if these steps are done properly, then either Lucene 
integration can be proposed for the latter part of the coding phase (last 2-3 
weeks, I'd think), or exploratory work on other part of Lucene (apart from the 
BooleanScorer, e.g. spatial search filtering etc.) could be taken up. 

Time is running out, so kindly submit a proposal as soon as possible. You can 
submit a draft first, have one of us review it and then submit it as final 
after the review. If the deadline is too close, there might not be enough time 
for this round of review, and in such a case just submit the draft as final.

Also, remember a lot of the GPGPU coding is done on C, so 
familiarity/experience with that is a plus.

(Just a suggestion that makes sense to me, and feel free to ignore: bullet 
points work better than long paragraphs, even though the length of sentences 
can remain the same)

> Explore GPU acceleration
> ------------------------
>
>                 Key: LUCENE-7745
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7745
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Ishan Chattopadhyaya
>              Labels: gsoc2017, mentor
>
> There are parts of Lucene that can potentially be speeded up if computations 
> were to be offloaded from CPU to the GPU(s). With commodity GPUs having as 
> high as 12GB of high bandwidth RAM, we might be able to leverage GPUs to 
> speed parts of Lucene (indexing, search).
> First that comes to mind is spatial filtering, which is traditionally known 
> to be a good candidate for GPU based speedup (esp. when complex polygons are 
> involved). In the past, Mike McCandless has mentioned that "both initial 
> indexing and merging are CPU/IO intensive, but they are very amenable to 
> soaking up the hardware's concurrency."
> I'm opening this issue as an exploratory task, suitable for a GSoC project. I 
> volunteer to mentor any GSoC student willing to work on this this summer.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to