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

Benjamin Root ben.v.root at gmail.com
Thu Sep 14 09:50:53 EDT 2017


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/9ef4dbe5/attachment-0001.html>


More information about the Matplotlib-devel mailing list