You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by Yanning Li <ya...@nvidia.com> on 2013/07/09 23:02:20 UTC

Anyone interested about using GPU to improve the performance of Lucene?

Hi all,

I work for NVIDIA Tesla Accelerating Computing Group. Recently we are noticed that GPU can really accelerate the performance of search engines. There are proof points not only from Google, but also from others, such as Yandex, Baidu, Bing, etc.  But not much around Solr/Lucene.

So we are trying to engage with Lucene developers more actively.

1)      If possible we could like to hear from your perspective, are there some opportunities for GPU in Lucene/Solr?

2)      Wondering is anyone interested  to use GPU to accelerate the performance of Lucene/Solr? If so please feel free to let me know, we can send out free GPUs to get  project started.

Attached a paper talking about using GPU to accelerate index compression in case you have interests.

Looking forward to hear from some of you,

Best

Yanning

-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------

Re: Anyone interested about using GPU to improve the performance of Lucene?

Posted by Michael McCandless <lu...@mikemccandless.com>.
I think it would be great fun to explore GPU optimizations for Lucene
indexing and searching ... as Uwe said, Lucene is "pure Java", but
I've been playing with specializing specific searches in C, here:

    https://github.com/mikemccand/lucene-c-boost

The speedups are surprisingly large (most likely due to the
specialization of the code, and less so due to Java vs C), but from
the C code it should be much easier to work with the CUDA APIs to
accelerate e.g. decoding of postings or scoring of hits.  But I don't
have much time to look into this ...

Mike McCandless

http://blog.mikemccandless.com


On Wed, Jul 31, 2013 at 1:33 AM, Yanning Li <ya...@nvidia.com> wrote:
> Hi Noble,
>
>
>
> Thanks for replying. Indeed this is a very interesting field. So we are
> happy to provide some GPUs to folks who want to try to make Solr/Lucene work
> on GPUs.
>
>
>
> Best
>
>
>
> Yanning
>
>
>
> From: Noble Paul നോബിള്‍ नोब्ळ् [mailto:noble.paul@gmail.com]
> Sent: Tuesday, July 30, 2013 10:10 PM
> To: dev@lucene.apache.org
> Cc: Yanning Li
> Subject: Re: Anyone interested about using GPU to improve the performance of
> Lucene?
>
>
>
> It does not really have to be a platform independent thing. It can be a
> configurable switch where the user who has a particular h/w should be able
> use that switch and take advantage of the perf boost.
>
>
>
> But, we should be able to demonstrate some significant improvement using
> NVIDIA GPUs
>
>
>
> On Wed, Jul 10, 2013 at 2:52 AM, Uwe Schindler <uw...@thetaphi.de> wrote:
>
> Thanks for the information about the CUDA project!
>
>
>
> I think the main reason why you have not heard anything about
> Lucene/Solr/ElasticSearch working together with GPUs is mainly the fact,
> that Apache Lucene and all search servers on top of Lucene (Apache Solr,
> ElasticSearch) are pure Java applications, highly optimized to run in the
> Oracle virtual machine. Currently there is no official support for GPUs from
> Java APIs, you can only use proprietary wrapper libraries to make use of
> CUDA (e.g. http://www.jcuda.org/).
>
>
>
> It would be great, if there would be a platform independent way (directly in
> the official Java API) to execute jobs on GPUs.
>
>
>
> It might be worth a try to maybe implement the Lucene block codecs (the
> abstraction of the underlying posting list formats) using a GPU. Because
> this is encapsulated in a public API, it could be a separate project, using
> the JNI-based CUDA wrappers to encode/decode PFOR postings lists. The query
> execution logic is harder to port, because there is a lot of abstraction
> included (posting lists are doc-id iterators), which would need to be short
> circuited.
>
>
>
> Uwe
>
>
>
> -----
>
> Uwe Schindler
>
> H.-H.-Meier-Allee 63, D-28213 Bremen
>
> http://www.thetaphi.de
>
> eMail: uwe@thetaphi.de
>
>
>
> From: Yanning Li [mailto:yanningl@nvidia.com]
> Sent: Tuesday, July 09, 2013 11:02 PM
> To: dev@lucene.apache.org
> Subject: Anyone interested about using GPU to improve the performance of
> Lucene?
>
>
>
> Hi all,
>
>
>
> I work for NVIDIA Tesla Accelerating Computing Group. Recently we are
> noticed that GPU can really accelerate the performance of search engines.
> There are proof points not only from Google, but also from others, such as
> Yandex, Baidu, Bing, etc.  But not much around Solr/Lucene.
>
>
>
> So we are trying to engage with Lucene developers more actively.
>
> 1)      If possible we could like to hear from your perspective, are there
> some opportunities for GPU in Lucene/Solr?
>
> 2)      Wondering is anyone interested  to use GPU to accelerate the
> performance of Lucene/Solr? If so please feel free to let me know, we can
> send out free GPUs to get  project started.
>
>
>
> Attached a paper talking about using GPU to accelerate index compression in
> case you have interests.
>
>
>
> Looking forward to hear from some of you,
>
>
>
> Best
>
>
>
> Yanning
>
> ________________________________
>
> This email message is for the sole use of the intended recipient(s) and may
> contain confidential information.  Any unauthorized review, use, disclosure
> or distribution is prohibited.  If you are not the intended recipient,
> please contact the sender by reply email and destroy all copies of the
> original message.
>
> ________________________________
>
>
>
>
>
> --
> -----------------------------------------------------
> Noble Paul

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


RE: Anyone interested about using GPU to improve the performance of Lucene?

Posted by Yanning Li <ya...@nvidia.com>.
Hi Michael, 

Thanks for the reply and share about your project. Totally understand about time constrain. If there is a team effort, things certainly can move faster. 

BTW, I copy my manager Roy to the email thread. If anyone is interested about exploring GPU acceleration on this field, please let us know. Thanks.

Best,

Yanning

-----Original Message-----
From: Michael McCandless [mailto:lucene@mikemccandless.com] 
Sent: Wednesday, July 31, 2013 6:52 AM
To: Lucene/Solr dev
Cc: Noble Paul നോബിള്‍ नोब्ळ्; Yanning Li
Subject: Re: Anyone interested about using GPU to improve the performance of Lucene?

I think it would be great fun to explore GPU optimizations for Lucene indexing and searching ... as Uwe said, Lucene is "pure Java", but I've been playing with specializing specific searches in C, here:

    https://github.com/mikemccand/lucene-c-boost

The speedups are surprisingly large (most likely due to the specialization of the code, and less so due to Java vs C), but from the C code it should be much easier to work with the CUDA APIs to accelerate e.g. decoding of postings or scoring of hits.  But I don't have much time to look into this ...

Mike McCandless

http://blog.mikemccandless.com


On Wed, Jul 31, 2013 at 1:33 AM, Yanning Li <ya...@nvidia.com> wrote:
> Hi Noble,
>
>
>
> Thanks for replying. Indeed this is a very interesting field. So we 
> are happy to provide some GPUs to folks who want to try to make 
> Solr/Lucene work on GPUs.
>
>
>
> Best
>
>
>
> Yanning
>
>
>
> From: Noble Paul നോബിള്‍ नोब्ळ् [mailto:noble.paul@gmail.com]
> Sent: Tuesday, July 30, 2013 10:10 PM
> To: dev@lucene.apache.org
> Cc: Yanning Li
> Subject: Re: Anyone interested about using GPU to improve the 
> performance of Lucene?
>
>
>
> It does not really have to be a platform independent thing. It can be 
> a configurable switch where the user who has a particular h/w should 
> be able use that switch and take advantage of the perf boost.
>
>
>
> But, we should be able to demonstrate some significant improvement 
> using NVIDIA GPUs
>
>
>
> On Wed, Jul 10, 2013 at 2:52 AM, Uwe Schindler <uw...@thetaphi.de> wrote:
>
> Thanks for the information about the CUDA project!
>
>
>
> I think the main reason why you have not heard anything about 
> Lucene/Solr/ElasticSearch working together with GPUs is mainly the 
> fact, that Apache Lucene and all search servers on top of Lucene 
> (Apache Solr,
> ElasticSearch) are pure Java applications, highly optimized to run in 
> the Oracle virtual machine. Currently there is no official support for 
> GPUs from Java APIs, you can only use proprietary wrapper libraries to 
> make use of CUDA (e.g. http://www.jcuda.org/).
>
>
>
> It would be great, if there would be a platform independent way 
> (directly in the official Java API) to execute jobs on GPUs.
>
>
>
> It might be worth a try to maybe implement the Lucene block codecs 
> (the abstraction of the underlying posting list formats) using a GPU. 
> Because this is encapsulated in a public API, it could be a separate 
> project, using the JNI-based CUDA wrappers to encode/decode PFOR 
> postings lists. The query execution logic is harder to port, because 
> there is a lot of abstraction included (posting lists are doc-id 
> iterators), which would need to be short circuited.
>
>
>
> Uwe
>
>
>
> -----
>
> Uwe Schindler
>
> H.-H.-Meier-Allee 63, D-28213 Bremen
>
> http://www.thetaphi.de
>
> eMail: uwe@thetaphi.de
>
>
>
> From: Yanning Li [mailto:yanningl@nvidia.com]
> Sent: Tuesday, July 09, 2013 11:02 PM
> To: dev@lucene.apache.org
> Subject: Anyone interested about using GPU to improve the performance 
> of Lucene?
>
>
>
> Hi all,
>
>
>
> I work for NVIDIA Tesla Accelerating Computing Group. Recently we are 
> noticed that GPU can really accelerate the performance of search engines.
> There are proof points not only from Google, but also from others, 
> such as Yandex, Baidu, Bing, etc.  But not much around Solr/Lucene.
>
>
>
> So we are trying to engage with Lucene developers more actively.
>
> 1)      If possible we could like to hear from your perspective, are there
> some opportunities for GPU in Lucene/Solr?
>
> 2)      Wondering is anyone interested  to use GPU to accelerate the
> performance of Lucene/Solr? If so please feel free to let me know, we 
> can send out free GPUs to get  project started.
>
>
>
> Attached a paper talking about using GPU to accelerate index 
> compression in case you have interests.
>
>
>
> Looking forward to hear from some of you,
>
>
>
> Best
>
>
>
> Yanning
>
> ________________________________
>
> This email message is for the sole use of the intended recipient(s) 
> and may contain confidential information.  Any unauthorized review, 
> use, disclosure or distribution is prohibited.  If you are not the 
> intended recipient, please contact the sender by reply email and 
> destroy all copies of the original message.
>
> ________________________________
>
>
>
>
>
> --
> -----------------------------------------------------
> Noble Paul

Re: Anyone interested about using GPU to improve the performance of Lucene?

Posted by Michael McCandless <lu...@mikemccandless.com>.
I think it would be great fun to explore GPU optimizations for Lucene
indexing and searching ... as Uwe said, Lucene is "pure Java", but
I've been playing with specializing specific searches in C, here:

    https://github.com/mikemccand/lucene-c-boost

The speedups are surprisingly large (most likely due to the
specialization of the code, and less so due to Java vs C), but from
the C code it should be much easier to work with the CUDA APIs to
accelerate e.g. decoding of postings or scoring of hits.  But I don't
have much time to look into this ...

Mike McCandless

http://blog.mikemccandless.com


On Wed, Jul 31, 2013 at 1:33 AM, Yanning Li <ya...@nvidia.com> wrote:
> Hi Noble,
>
>
>
> Thanks for replying. Indeed this is a very interesting field. So we are
> happy to provide some GPUs to folks who want to try to make Solr/Lucene work
> on GPUs.
>
>
>
> Best
>
>
>
> Yanning
>
>
>
> From: Noble Paul നോബിള്‍ नोब्ळ् [mailto:noble.paul@gmail.com]
> Sent: Tuesday, July 30, 2013 10:10 PM
> To: dev@lucene.apache.org
> Cc: Yanning Li
> Subject: Re: Anyone interested about using GPU to improve the performance of
> Lucene?
>
>
>
> It does not really have to be a platform independent thing. It can be a
> configurable switch where the user who has a particular h/w should be able
> use that switch and take advantage of the perf boost.
>
>
>
> But, we should be able to demonstrate some significant improvement using
> NVIDIA GPUs
>
>
>
> On Wed, Jul 10, 2013 at 2:52 AM, Uwe Schindler <uw...@thetaphi.de> wrote:
>
> Thanks for the information about the CUDA project!
>
>
>
> I think the main reason why you have not heard anything about
> Lucene/Solr/ElasticSearch working together with GPUs is mainly the fact,
> that Apache Lucene and all search servers on top of Lucene (Apache Solr,
> ElasticSearch) are pure Java applications, highly optimized to run in the
> Oracle virtual machine. Currently there is no official support for GPUs from
> Java APIs, you can only use proprietary wrapper libraries to make use of
> CUDA (e.g. http://www.jcuda.org/).
>
>
>
> It would be great, if there would be a platform independent way (directly in
> the official Java API) to execute jobs on GPUs.
>
>
>
> It might be worth a try to maybe implement the Lucene block codecs (the
> abstraction of the underlying posting list formats) using a GPU. Because
> this is encapsulated in a public API, it could be a separate project, using
> the JNI-based CUDA wrappers to encode/decode PFOR postings lists. The query
> execution logic is harder to port, because there is a lot of abstraction
> included (posting lists are doc-id iterators), which would need to be short
> circuited.
>
>
>
> Uwe
>
>
>
> -----
>
> Uwe Schindler
>
> H.-H.-Meier-Allee 63, D-28213 Bremen
>
> http://www.thetaphi.de
>
> eMail: uwe@thetaphi.de
>
>
>
> From: Yanning Li [mailto:yanningl@nvidia.com]
> Sent: Tuesday, July 09, 2013 11:02 PM
> To: dev@lucene.apache.org
> Subject: Anyone interested about using GPU to improve the performance of
> Lucene?
>
>
>
> Hi all,
>
>
>
> I work for NVIDIA Tesla Accelerating Computing Group. Recently we are
> noticed that GPU can really accelerate the performance of search engines.
> There are proof points not only from Google, but also from others, such as
> Yandex, Baidu, Bing, etc.  But not much around Solr/Lucene.
>
>
>
> So we are trying to engage with Lucene developers more actively.
>
> 1)      If possible we could like to hear from your perspective, are there
> some opportunities for GPU in Lucene/Solr?
>
> 2)      Wondering is anyone interested  to use GPU to accelerate the
> performance of Lucene/Solr? If so please feel free to let me know, we can
> send out free GPUs to get  project started.
>
>
>
> Attached a paper talking about using GPU to accelerate index compression in
> case you have interests.
>
>
>
> Looking forward to hear from some of you,
>
>
>
> Best
>
>
>
> Yanning
>
> ________________________________
>
> This email message is for the sole use of the intended recipient(s) and may
> contain confidential information.  Any unauthorized review, use, disclosure
> or distribution is prohibited.  If you are not the intended recipient,
> please contact the sender by reply email and destroy all copies of the
> original message.
>
> ________________________________
>
>
>
>
>
> --
> -----------------------------------------------------
> Noble Paul

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


RE: Anyone interested about using GPU to improve the performance of Lucene?

Posted by Yanning Li <ya...@nvidia.com>.
Hi Noble,

Thanks for replying. Indeed this is a very interesting field. So we are happy to provide some GPUs to folks who want to try to make Solr/Lucene work on GPUs.

Best

Yanning

From: Noble Paul നോബിള്‍ नोब्ळ् [mailto:noble.paul@gmail.com]
Sent: Tuesday, July 30, 2013 10:10 PM
To: dev@lucene.apache.org
Cc: Yanning Li
Subject: Re: Anyone interested about using GPU to improve the performance of Lucene?

It does not really have to be a platform independent thing. It can be a configurable switch where the user who has a particular h/w should be able use that switch and take advantage of the perf boost.

But, we should be able to demonstrate some significant improvement using NVIDIA GPUs

On Wed, Jul 10, 2013 at 2:52 AM, Uwe Schindler <uw...@thetaphi.de>> wrote:
Thanks for the information about the CUDA project!

I think the main reason why you have not heard anything about Lucene/Solr/ElasticSearch working together with GPUs is mainly the fact, that Apache Lucene and all search servers on top of Lucene (Apache Solr, ElasticSearch) are pure Java applications, highly optimized to run in the Oracle virtual machine. Currently there is no official support for GPUs from Java APIs, you can only use proprietary wrapper libraries to make use of CUDA (e.g. http://www.jcuda.org/).

It would be great, if there would be a platform independent way (directly in the official Java API) to execute jobs on GPUs.

It might be worth a try to maybe implement the Lucene block codecs (the abstraction of the underlying posting list formats) using a GPU. Because this is encapsulated in a public API, it could be a separate project, using the JNI-based CUDA wrappers to encode/decode PFOR postings lists. The query execution logic is harder to port, because there is a lot of abstraction included (posting lists are doc-id iterators), which would need to be short circuited.

Uwe

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de<http://www.thetaphi.de/>
eMail: uwe@thetaphi.de<ma...@thetaphi.de>

From: Yanning Li [mailto:yanningl@nvidia.com<ma...@nvidia.com>]
Sent: Tuesday, July 09, 2013 11:02 PM
To: dev@lucene.apache.org<ma...@lucene.apache.org>
Subject: Anyone interested about using GPU to improve the performance of Lucene?

Hi all,

I work for NVIDIA Tesla Accelerating Computing Group. Recently we are noticed that GPU can really accelerate the performance of search engines. There are proof points not only from Google, but also from others, such as Yandex, Baidu, Bing, etc.  But not much around Solr/Lucene.

So we are trying to engage with Lucene developers more actively.

1)      If possible we could like to hear from your perspective, are there some opportunities for GPU in Lucene/Solr?

2)      Wondering is anyone interested  to use GPU to accelerate the performance of Lucene/Solr? If so please feel free to let me know, we can send out free GPUs to get  project started.

Attached a paper talking about using GPU to accelerate index compression in case you have interests.

Looking forward to hear from some of you,

Best

Yanning
________________________________
This email message is for the sole use of the intended recipient(s) and may contain confidential information.  Any unauthorized review, use, disclosure or distribution is prohibited.  If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.
________________________________



--
-----------------------------------------------------
Noble Paul

Re: Anyone interested about using GPU to improve the performance of Lucene?

Posted by Noble Paul നോബിള്‍ नोब्ळ् <no...@gmail.com>.
It does not really have to be a platform independent thing. It can be a
configurable switch where the user who has a particular h/w should be able
use that switch and take advantage of the perf boost.

But, we should be able to demonstrate some significant improvement using
NVIDIA GPUs


On Wed, Jul 10, 2013 at 2:52 AM, Uwe Schindler <uw...@thetaphi.de> wrote:

> Thanks for the information about the CUDA project!****
>
> ** **
>
> I think the main reason why you have not heard anything about
> Lucene/Solr/ElasticSearch working together with GPUs is mainly the fact,
> that Apache Lucene and all search servers on top of Lucene (Apache Solr,
> ElasticSearch) are pure Java applications, highly optimized to run in the
> Oracle virtual machine. Currently there is no official support for GPUs
> from Java APIs, you can only use proprietary wrapper libraries to make use
> of CUDA (e.g. http://www.jcuda.org/).****
>
> ** **
>
> It would be great, if there would be a platform independent way (directly
> in the official Java API) to execute jobs on GPUs. ****
>
> ** **
>
> It might be worth a try to maybe implement the Lucene block codecs (the
> abstraction of the underlying posting list formats) using a GPU. Because
> this is encapsulated in a public API, it could be a separate project, using
> the JNI-based CUDA wrappers to encode/decode PFOR postings lists. The query
> execution logic is harder to port, because there is a lot of abstraction
> included (posting lists are doc-id iterators), which would need to be short
> circuited.****
>
> ** **
>
> Uwe****
>
> ** **
>
> -----****
>
> Uwe Schindler****
>
> H.-H.-Meier-Allee 63, D-28213 Bremen****
>
> http://www.thetaphi.de****
>
> eMail: uwe@thetaphi.de****
>
> ** **
>
> *From:* Yanning Li [mailto:yanningl@nvidia.com]
> *Sent:* Tuesday, July 09, 2013 11:02 PM
> *To:* dev@lucene.apache.org
> *Subject:* Anyone interested about using GPU to improve the performance
> of Lucene?****
>
> ** **
>
> Hi all,****
>
> ** **
>
> I work for NVIDIA Tesla Accelerating Computing Group. Recently we are
> noticed that GPU can really accelerate the performance of search engines.
> There are proof points not only from Google, but also from others, such as
> Yandex, Baidu, Bing, etc.  But not much around Solr/Lucene. ****
>
> ** **
>
> So we are trying to engage with Lucene developers more actively.****
>
> **1)      **If possible we could like to hear from your perspective, are
> there some opportunities for GPU in Lucene/Solr?****
>
> **2)      **Wondering is anyone interested  to use GPU to accelerate the
> performance of Lucene/Solr? If so please feel free to let me know, we can
> send out free GPUs to get  project started. ****
>
> ** **
>
> Attached a paper talking about using GPU to accelerate index compression
> in case you have interests. ****
>
> ** **
>
> Looking forward to hear from some of you,****
>
> ** **
>
> Best****
>
> ** **
>
> Yanning****
> ------------------------------
>
> This email message is for the sole use of the intended recipient(s) and
> may contain confidential information.  Any unauthorized review, use,
> disclosure or distribution is prohibited.  If you are not the intended
> recipient, please contact the sender by reply email and destroy all copies
> of the original message. ****
> ------------------------------
>



-- 
-----------------------------------------------------
Noble Paul

RE: Anyone interested about using GPU to improve the performance of Lucene?

Posted by Uwe Schindler <uw...@thetaphi.de>.
Thanks for the information about the CUDA project!

 

I think the main reason why you have not heard anything about Lucene/Solr/ElasticSearch working together with GPUs is mainly the fact, that Apache Lucene and all search servers on top of Lucene (Apache Solr, ElasticSearch) are pure Java applications, highly optimized to run in the Oracle virtual machine. Currently there is no official support for GPUs from Java APIs, you can only use proprietary wrapper libraries to make use of CUDA (e.g. http://www.jcuda.org/).

 

It would be great, if there would be a platform independent way (directly in the official Java API) to execute jobs on GPUs. 

 

It might be worth a try to maybe implement the Lucene block codecs (the abstraction of the underlying posting list formats) using a GPU. Because this is encapsulated in a public API, it could be a separate project, using the JNI-based CUDA wrappers to encode/decode PFOR postings lists. The query execution logic is harder to port, because there is a lot of abstraction included (posting lists are doc-id iterators), which would need to be short circuited.

 

Uwe

 

-----

Uwe Schindler

H.-H.-Meier-Allee 63, D-28213 Bremen

 <http://www.thetaphi.de/> http://www.thetaphi.de

eMail: uwe@thetaphi.de

 

From: Yanning Li [mailto:yanningl@nvidia.com] 
Sent: Tuesday, July 09, 2013 11:02 PM
To: dev@lucene.apache.org
Subject: Anyone interested about using GPU to improve the performance of Lucene?

 

Hi all,

 

I work for NVIDIA Tesla Accelerating Computing Group. Recently we are noticed that GPU can really accelerate the performance of search engines. There are proof points not only from Google, but also from others, such as Yandex, Baidu, Bing, etc.  But not much around Solr/Lucene. 

 

So we are trying to engage with Lucene developers more actively.

1)      If possible we could like to hear from your perspective, are there some opportunities for GPU in Lucene/Solr?

2)      Wondering is anyone interested  to use GPU to accelerate the performance of Lucene/Solr? If so please feel free to let me know, we can send out free GPUs to get  project started. 

 

Attached a paper talking about using GPU to accelerate index compression in case you have interests. 

 

Looking forward to hear from some of you,

 

Best

 

Yanning

  _____  

This email message is for the sole use of the intended recipient(s) and may contain confidential information.  Any unauthorized review, use, disclosure or distribution is prohibited.  If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. 

  _____