Fastplotlib: GPU-accelerated, fast, and interactive plotting library
141–150 of 190 posts
Re: Fastplotlib: GPU-accelerated, fast, and interactive plotting library
#142I followed one of their online workshops, and it feels really powerful, although it is a bit confusing which part of it does what (it's basically 6 or 7 projects put together under an umbrella)
Re: Fastplotlib: GPU-accelerated, fast, and interactive plotting library
#143Re: Fastplotlib: GPU-accelerated, fast, and interactive plotting library
#144Earlier quoted context omitted.
>> Depicted below is an example of plotting 3 million points > Anybody who has ever used C or fortran knows that a modern CPU can easily churn through "3 million points" at more than 30 frames per second, using just one thread. It's not a particularly impressive feat, three million points is the size of a mid-resolution picture, and you can zoom-in and out those trivially in real-time using a CPU (and you could do th…
Thanks, and the purpose was to show what's possible on modest hardware that most people have. We have created gigabytes of graphics that live on the gpu for more complex use cases and they remain performant, but you need a gaming gpu.
If you insist to fit the entire thing in memory, it may seem better to do so in the plain RAM, which nowadays is of humongous size even in "modest" systems.
Re: Fastplotlib: GPU-accelerated, fast, and interactive plotting library
#145How is it compared to HoloViz?[1] I followed one of their online workshops, and it feels really powerful, although it is a bit confusing which part of it does what (it's basically 6 or 7 projects put together under an umbrella) [1] https://holoviz.org/
Re: Fastplotlib: GPU-accelerated, fast, and interactive plotting library
#146> powered by WGPU, a cross-platform graphics API that targets Vulkan (Linux), Metal (Mac), and DX12 (Windows). The fact that they are using WGPU, which appears to be a Python native implementation of WebGPU, suggests there is an interesting possible extended case. As a few other comments suggest, if one knows that the data is available on a machine in a cluster rather than on the local machine of a user, it might mak…
WGPU is a Rust thing more than a Python thing.
Re: Fastplotlib: GPU-accelerated, fast, and interactive plotting library
#147One of the big bottlenecks of plotting libraries is simply the time it takes to import the library. I’ve seen matplotlib being slow to import, and in Julia they even have a “time to first plot” metric. I’d be curious to see how this library compares.
Re: Fastplotlib: GPU-accelerated, fast, and interactive plotting library
#148Yeah, many browsers have webgpu turned off by default, So you're stuck with wasm (wasm Simd if you're lucky) Hopefully both are implemented.
Fastplotlib / pygfx are primarily meant to run on desktop. When using it via the notebook the server does the rendering.
As Ivo said, we have plans to support running in the browser via Pyodide, which opens some interesting things, but is not the primary purpose.
Re: Fastplotlib: GPU-accelerated, fast, and interactive plotting library
#149"Fast" is a bold claim, given the complete lack of benchmarks and the fact that it's written entirely in Python...
I'm certain the host heavy lifting is done by numpy which is a python wrapper around Fortran and C. The visualization heavy lifting is done by pygfx/wgpu-py. wgpu-py has C. I think wgpu-py compiles to WASM to run in the browser. More and more packages are taking this route. [1] https://github.com/pygfx/pygfx [2] https://github.com/pygfx/wgpu-py
In the plans that we do have for running the browser, Fastplotlib, Pygfx and wgpy-py will still be Python, running on CPython that is compiled to WASM (via Pyodide). But instead of wgpu-py cffi-ing into a C library, it would make JS calls to the WebGPU API.
Re: Fastplotlib: GPU-accelerated, fast, and interactive plotting library
#150I always thought it was interesting that my modern CPU takes ages to plot 100,000 or so points in R or Python (ggplot2, seaborn, plotnine, etc) and yet somehow my 486DX 50Mhz could pump out all those pixels to play Doom interactively and smoothly.
[1] https://stackoverflow.com/questions/73470828/ggplot2-is-slow...