Questions about performance of SageMath, and of graph (algorithms) libraries

75 views
Skip to first unread message

Jing Guo

unread,
Sep 30, 2023, 8:51:59 AM9/30/23
to sage-devel
Dear all,

I contributed to algebraic geometry and dynamics parts of SageMath. During the process, sometimes the tests could take some time to process, which I guess is reasonable, since schemes and other objects can take long time to compute.

Today I saw a post [0] on JAX from Hacker News, in which currently the first top comment mentions that other than ML research, JAX is also suitable for scientific computing, as well as large-scale vectorized computations. From the GitHub page [1] of JAX, it seems that it makes use of and improves upon Autograd and XLA, hence very fast.

I'm aware that SageMath is already fast for a lot of tasks, so I was wondering would it be possible to make use similar tricks/techniques and/or libraries that can make SageMath even faster?

To give an explicit and specific example, I'm also interested in graph algorithms, without calling libraries written in C/C++ or Julia, is it possible to make graph algorithms faster  on very-large graphs with what's mentioned above?

I found the following interesting comparisons of graph algorithms: https://www.timlrx.com/blog/benchmark-of-popular-graph-network-packages-v2

Thank you.


Jing

William Stein

unread,
Sep 30, 2023, 12:32:13 PM9/30/23
to sage-...@googlegroups.com
> To give an explicit and specific example, I'm also interested in graph algorithms, without calling libraries written in C/C++ or Julia, is it possible to make graph algorithms faster on very-large graphs with what's mentioned above?
>

One relevant Python library is https://github.com/rapidsai/cugraph
which is a reimplementation of networkx on top of CUDA. Presumably,
with an appropriate GPU, it provides massive speedups over networkx.
I haven't tried it out yet, but I plan to.

-- William

On Sat, Sep 30, 2023 at 5:52 AM Jing Guo <dev....@gmail.com> wrote:
>
> Dear all,
>
> I contributed to algebraic geometry and dynamics parts of SageMath. During the process, sometimes the tests could take some time to process, which I guess is reasonable, since schemes and other objects can take long time to compute.
>
> Today I saw a post [0] on JAX from Hacker News, in which currently the first top comment mentions that other than ML research, JAX is also suitable for scientific computing, as well as large-scale vectorized computations. From the GitHub page [1] of JAX, it seems that it makes use of and improves upon Autograd and XLA, hence very fast.
>
> I'm aware that SageMath is already fast for a lot of tasks, so I was wondering would it be possible to make use similar tricks/techniques and/or libraries that can make SageMath even faster?
>

> I found the following interesting comparisons of graph algorithms: https://www.timlrx.com/blog/benchmark-of-popular-graph-network-packages-v2
>
> Thank you.
>
> [0]: https://news.ycombinator.com/item?id=37698740
> [1]: https://github.com/google/jax
>
> Jing
>
> --
> You received this message because you are subscribed to the Google Groups "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/35e86100-570e-4d71-acdf-7b166ab27469n%40googlegroups.com.



--
William (http://wstein.org)
Reply all
Reply to author
Forward
0 new messages