[Matplotlib-devel] [matplotlib-devel] Make matplotlib running on GPU/CUDA

Benjamin Root ben.v.root at gmail.com
Thu Sep 14 10:47:00 EDT 2017


The person who has been most responsive to me in the past would be Nicolas
Rougier <http://www.loria.fr/%7Erougier/index.html>, who developed glumpy.
He might also be able to give you a better sense of where to start.

Ben Root

On Thu, Sep 14, 2017 at 10:37 AM, Francesco Faccenda <f.faccenda86 at gmail.com
> wrote:

> I'll take a look, thank you.
>
> So you are suggesting me to start form the VisPy code? Is there someone
> who I can refer in case I will need some clarification?
>
> Francesco Faccenda
>
> 2017-09-14 15:50 GMT+02:00 Benjamin Root <ben.v.root at gmail.com>:
>
>> That was one of the old attempts (but not the oldest). It doesn't seem
>> like it ever intersected with the vispy project, though, so it is likely
>> all that exists.
>>
>> I would also look at https://www.youtube.com/watch?v=_3YoaeoiIFI
>> Luke does a nice job providing an overview of the vispy package. One of
>> the most exciting things that the matplotlib and vispy devs were discussing
>> at scipy 2015 was the possibility of making a matplotlib backend out of
>> some parts from vispy. It was attractive because the vispy folks were
>> actively working on improving their opengl code and packaging to make it
>> work on a wide variety of hardware and setups. They had supposedly even
>> implemented a headless opengl mode, too, which was very important for us.
>>
>> Cheers!
>> Ben Root
>>
>>
>> On Thu, Sep 14, 2017 at 9:34 AM, Francesco Faccenda <
>> f.faccenda86 at gmail.com> wrote:
>>
>>> Thank you, Ben.
>>>
>>> unfortunately I don't have experience developing opengl neither, but I'd
>>> like to make an attempt riesuming this subject.
>>>
>>> I am starting from this: https://github.com/ChrisBeaumont/mplgl
>>>
>>> Can anyone confirm this is the last update we have for this project?
>>>
>>> Francesco Faccenda
>>>
>>> 2017-09-13 16:21 GMT+02:00 Benjamin Root <ben.v.root at gmail.com>:
>>>
>>>> A bit of background regarding efforts in this area...
>>>>
>>>> A long time ago, some experiments were done to see if an opengl backend
>>>> could be made for matplotlib. The results weren't that great, particularly
>>>> for text rendering, so the effort was dropped. The core developers all
>>>> agree that an opengl backend would be neat to have, but we all have
>>>> limited, if any, experience developing opengl. Furthermore, such a backend
>>>> would likely require a lot of rapid development and trial-n-error. So, we
>>>> encouraged others to go develop a package or two separately, with the eye
>>>> for bringing it back into matplotlib when it was ready. Glumpy and a few
>>>> other projects were born from that prodding.
>>>>
>>>> VisPy was an attempt to consolidate the development efforts for those
>>>> projects. The matplotlib devs had very fruitful discussions with some VisPy
>>>> devs back at SciPy 2015, but the project became non-responsive shortly
>>>> afterwards.
>>>>
>>>> Ben Root
>>>>
>>>>
>>>> On Wed, Sep 13, 2017 at 3:31 AM, Francesco Faccenda <
>>>> f.faccenda86 at gmail.com> wrote:
>>>>
>>>>> Thank you Chris for your reply.
>>>>>
>>>>> I have to admit I already stumbled on VisPy while doing my research on
>>>>> the web. Still, I've got a lot of code already working with
>>>>> *matplotlib*. Indeed, not only I plot data with it, but i manage a
>>>>> lot of *mpl events* to provide the users usefool tools, like lines
>>>>> picking, tooltips, lines copy/paste, square selectors for multiple
>>>>> selections, context menu and so on. Moreover, I got matplotlib *embedded
>>>>> *on *wxpython *as well. While at the beginning few lines were managed
>>>>> and noone complained, now that big amout of data has to be displayed, the
>>>>> non-GPU core of the library is starting to show its limits.
>>>>>
>>>>> Since matplotlib is a reference library for this kind of
>>>>> applications, I thought it deserved an update in this direction. If anyone
>>>>> is willing to do so, I'm available to discuss possible solutions and also
>>>>> provide any help I can give.
>>>>>
>>>>> Best regards,
>>>>> Francesco Faccenda
>>>>>
>>>>> 2017-09-13 0:46 GMT+02:00 Chris Barker <chris.barker at noaa.gov>:
>>>>>
>>>>>> On Tue, Sep 12, 2017 at 8:47 AM, Francesco Faccenda <
>>>>>> f.faccenda86 at gmail.com> wrote:
>>>>>>
>>>>>>> But there’s a good news, I have a nice GPU available (an NVIDIA
>>>>>>> Tesla K40c), so I’d like to know if there is a way to make matplotlib run
>>>>>>> on it, or maybe wrap it on some GPU/CUDA wrapper and make it run smoothly.
>>>>>>>
>>>>>>
>>>>>> I tihnk you want VisPy:
>>>>>>
>>>>>> https://vispy.readthedocs.io/en/latest/
>>>>>>
>>>>>> It's a plotting package with a kinda like  matplotlib API, built on
>>>>>> OpenGL.
>>>>>>
>>>>>> Unfortunately, it doesn't look like it's been updated in a while --
>>>>>> from teh docs. But the gitHub project is active:
>>>>>>
>>>>>> https://github.com/vispy/vispy
>>>>>>
>>>>>> So maybe it's only the docs that haven't been updated!
>>>>>>
>>>>>> But probably  a much better option than trying to shoehorn GPU
>>>>>> rendering into MPL.
>>>>>>
>>>>>> The problem is that while MPL was designed to be "backend"
>>>>>> independent -- so it is "easy" to plug in an alternative renderer, the
>>>>>> rendering model is not really well suited to GPU rendering -- it would take
>>>>>> a lot of refactoring to really be able to take advantage of the graphics
>>>>>> card.
>>>>>>
>>>>>> -CHB
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>> Christopher Barker, Ph.D.
>>>>>> Oceanographer
>>>>>>
>>>>>> Emergency Response Division
>>>>>> NOAA/NOS/OR&R            (206) 526-6959   voice
>>>>>> 7600 Sand Point Way NE
>>>>>> <https://maps.google.com/?q=7600+Sand+Point+Way+NE&entry=gmail&source=g>
>>>>>>   (206) 526-6329   fax
>>>>>> Seattle, WA  98115       (206) 526-6317   main reception
>>>>>>
>>>>>> Chris.Barker at noaa.gov
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Matplotlib-devel mailing list
>>>>> Matplotlib-devel at python.org
>>>>> https://mail.python.org/mailman/listinfo/matplotlib-devel
>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/matplotlib-devel/attachments/20170914/c372b2f7/attachment-0001.html>


More information about the Matplotlib-devel mailing list