What's recommended literature on high-performance Julia?

There’s the book Julia High Performance: Optimizations, distributed computing, multithreading, and GPU programming with Julia 1.0 and beyond. 2nd edition from 2019. (It’s probably by @avik) Would it be useful for Julia 1.11?

What other sources, besides Julia docs, would you recommend?

1 Like

As you probably know, the primary source remains the performance tips in the Julia docs.

We also wrote a page about performance in our ModernJuliaWorkflows blog. More contributions are always welcome, especially for HPC (clusters, GPUs, etc.) where I’m not very knowledgeable. At the moment it mostly covers sequential, single-core code.
If you want something more interactive, you can check out the tutorial about performance I gave last week in Toulouse, which is a nice Pluto notebook.

In general, I don’t think the best answer for this is gonna be books, because the language is still evolving fast and new tooling emerges every month. Online courses, tutorials and blog posts will probably be more useful. In particular, I would recommend asking @carstenbauer to point us to whatever class he gave last on Julia for HPC.

7 Likes

Thanks, that’s very useful. I wonder if there is a curated list of performance tutorials, courses and blogposts, eg on the GitHub?

Does Section 1 of finite_element_electrical_engineering/tools/ee4375-julia.ipynb at main · ziolai/finite_element_electrical_engineering · GitHub help?

That’s definitely helpful, particularly for general Julia programming. If there’s a list with more of recent resources on performance, that would be a great addition.

1 Like

But note that the primary purpose of these materials isn’t self study (although I think one can make it work)

If I can find the time for it, I’ll try to contribute to the modern workflows guide more.

3 Likes

That would be lovely! Anyone interested to contribute in this direction can take a look at the following issues, which you opened after JuliaCon:

1 Like