Avril 2021#
La version 1.6 de Julia est sortie accompagnée d’un billet de blog:
Abel Siquiera propose un outil d’installation pour linux pour faire la mise à jour : jill.
La progression la plus agréable est le fameux temps du premier plot, divisée par 2 sur mon poste :
julia> @time using Plots
3.711483 seconds (6.53 M allocations: 477.289 MiB, 3.80% gc time, 0.11% compilation time)
julia> @time display(plot(sin.(LinRange(0,4π,100))))
7.566719 seconds (10.80 M allocations: 623.809 MiB, 3.41% gc time, 20.58% compilation time)
Notez ici que la macro @time donne maintenant le temps pris par la compilation. Un truc que j’utilise pour aller plus vite, j’importe seulement le package GR.jl :
julia> @time using GR
0.146360 seconds (58.95 k allocations: 5.140 MiB, 2.40% compilation time)
julia> @time display(plot(sin.(LinRange(0,4π,100))))
nothing
0.858617 seconds (698.25 k allocations: 41.780 MiB, 1.52% gc time, 89.03% compilation time)
La fonction plot
est moins « générique » cependant…
Billets de blog#
Machine learning workflows with julia : Exemple d’utilisation du package MLJ.jl qui propose une interface commune à un grand nombre de modèles d’apprentissage statistique.
How do loops in Julia handle local variables? : L’impact de la portée des variables sur la clarté et la performance.
Un nouveau recueil de nouvelles a été créé le mois dernier Julia for Data Science. Le premier billet concerne l’installation :
Benchmarking and Profiling Julia Code : Une bonne revue de tous les outils existants. J’aime beaucoup le package TimerOutputs.jl et j’aimerais savoir utiliser Cthulhu.jl.
Modeling complexity with Symbolics.jl and ModelingToolkit.jl : Interview de Chris Rackauckas sur son nouveau projet de calcul symbolique en Julia.
Tropical tensor networks for solving combinatoric optimization problems efficiently : Joli notebook Pluto.
Packages#
Octavian.jl : Multi-threaded BLAS-like library that provides pure Julia matrix multiplication.
NormalHermiteSplines.jl : Multivariate Normal Hermite-Birkhoff Interpolating Splines in Julia
Symbolics.jl : A fast and modern Computer Algebra System (CAS) for a fast and modern language.
ReversePropagation.jl : A Julia package for reverse propagation along a syntax tree, using source-to-source transformation via Symbolics.jl.
Vidéos#
How to Setup GitHub Actions for a Julia Package. Ca marche tellement bien que cela devient de plus en plus difficile de ne pas choisir GitHub pour héberger son package.
Julia SciML Symposium, SIAM CSE 2021 : 9 vidéos de 15 minutes sur l’utilisation de l’ecosystème Julia SciMIL (Scientific Machine Learning).
Julia: Solving ODEs with Euler, RK4, and DifferentialEquations : Vidéo de 10 minutes.
Julia: Parallel computing revisited : Vidéo d’une heure sur l’utilisation de julia sur un serveur HPC.
Tutoriels et documentation#
Data Science in Julia for Hackers : Livre en cours d’écriture à base de notebooks Pluto. A suivre.
How to Create Software Packages with Julia Language : Document accompagnant la vidéo mentionnée plus haut sur les GitHub actions.
The documentation system : Je conseille vivement ce site, qui n’est pas spécifique à Julia, qui explique comment construire une bonne documentation. Très instructif.
Parallelization tutorial : Tutoriel sur la parallélisation en Julia appliquée à la science des données par Elliot Saba.
Multilingual Julia : Série d’exemples complets d’interaction de Julia avec des programmes écrits en Fortran ou en C.
Divers#
Ne manquez pas le prochain Café Calcul le jeudi 8 avril à 10:00 avec François Févotte : « Pourquoi Julia ? ». L’accès est libre mais vous devez vous inscrire pour recevoir le lien vers la visio.
La conférence en ligne PlutoCon 2021 aura lieu les 8 et 9 avril. Ca commence à 18:00 mais toutes les vidéos seront disponibles ensuite sur YT.
Portez-vous bien.
Pierre