Physics with Julia
by
Julia is a modern programming language designed for scientific computing. In addition to achieving high performance by compiling to machine code code on-the-fly, Julia is easy to learn, supports GPU- und parallel-/cluster-computing, automatic differentiation, metaprogramming and a package manager with built-in good scientific practice.
We'll talk about how Julia works and look at examples as well as real-life physics use cases.
There will also be a hands-on tutorial session in the afternoon for anyone who wants to try out Julia for themselves.
Join Zoom Meeting
https://uni-bonn.zoom-x.de/j/66253567797?pwd=R2MrNmNCQnl4K1hSejd6VnBEYXJ2QT09
Meeting ID: 662 5356 7797
Passcode: 599591
Instructions/Preparations for the Julia Tutorial today at 14.30-16.00 in Confrence Room II (PI 1.049)
(Instead of a laptop, you may of course also use a Linux compute system accessed via SSH, ideally via VS-Code Remote-SSH).
Follow these instructions, they also include some initials setup steps after Julia installation:
https://github.com/oschulz/julia-setup
Afterwards, start a Julia "REPL" (console/shell), press "]" to enter the Julia package management console and install a few more packages:
Non-windows users can also install install the Julia Geant4 and ROOT interface packages (you can also follow the tutorial without them, we'll just do a short example with each):
(@v1.10) pkg> add Geant4
Note: You do not need to install Geant4 beforehand, Julia will get it's own Geant4 binaries, including all Geant4 data files. Prepare for a large download.
(@v1.10) pkg> add ROOT
Note: You do not need to install ROOT beforehand. But installing the Julia ROOT interface will take a bit, it downloads ROOT binaries and then compiles some additional stuff. It is also brand new and ROOT is a complex beast, so installation may fail on some systems.
bechtle@theo199:~/> module load Julia/1.9.4
bechtle@theo199:~/> julia
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.9.4 (2023-11-14)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
(@v1.9) pkg> add Pluto BenchmarkTools Cthulhu
Installing known registries into `~/.julia`
For Julia
Maike Hansen, Tatjana Lenz, Saime Gürbüz