About
Background
I hold a PhD in theoretical physics (cum laude) from SISSA (Trieste), and I am completing the Master in High Performance Computing (MHPC) jointly run by SISSA and ICTP. Before Trieste I studied at the Università Cattolica del Sacro Cuore in Brescia, where I earned a BSc in Mathematics and an MSc in Physics, both 110/110 cum laude, and graduated as the best student of my year.
Curriculum Vitae
Passions & Hobbies
When I'm not doing physics or HPC/AI, I love reading (especially sci-fi and classics) as well as playing board games. I love spending time outdoors, exploring nature, hiking, and going on adventures. Most importantly, I'm always eager to explore new things and learn new skills, whether it's a new programming language, a new scientific topic, or a new hobby.
Research
Theoretical High-Energy Physics
Physics is what I care about most. My research is in theoretical high-energy physics: I study dualities between supersymmetric gauge theories by matching their superconformal indices and partition functions, using large symbolic computations run as cluster jobs. The work has produced six papers, five of them published in peer-reviewed journals (also on Google Scholar), spanning quantum field theory, supersymmetry, and the exact methods that connect them. I enjoy the parts of physics where a clean mathematical structure turns out to describe something real.
Computing
HPC & Scientific Computing
Through the MHPC programme I work at the boundary between large-scale computing and machine learning. My scientific-computing languages are Fortran (modern, OOP), C++ (templates, smart pointers, concurrency) and Python (NumPy, SciPy, pandas, matplotlib); builds with CMake. On the HPC side: parallel and GPU-accelerated scientific computing with CUDA (kernels, shared memory, multi-GPU with MPI), cuBLAS, OpenACC, MPI and OpenMP; distributed linear-algebra and eigenvalue solvers with PETSc/SLEPc; CPU-architecture analysis (cache hierarchy, roofline model, gprof/perf profiling); and job orchestration with SLURM on Leonardo (CINECA), Ulysses (SISSA) and Argo (ICTP). I have also worked with cloud and container infrastructure (Docker, Kubernetes, AWS) and distributed workflow libraries (Dask, Ray, Parsl).
Numerical methods covered include finite-difference and finite-element discretisations of PDEs, iterative Krylov solvers, and Kohn-Sham DFT via Quantum ESPRESSO.
AI & Machine Learning
On the AI/ML side: reinforcement-learning fine-tuning of LLMs (REINFORCE/RLOO, PPO, GRPO, RLHF), multi-agent LLM systems with RAG and tool use, deep learning with PyTorch (CNNs, transformers & attention, autoencoders, VAEs, adversarial training, representation learning), Physics-Informed Neural Networks (PINNs), Gaussian processes, and classical and Bayesian machine learning (scikit-learn, manifold learning, dimensionality reduction, clustering). I also have a working introduction to quantum computing: gate-based circuits with Qiskit and quantum annealing (D-Wave, QUBO problems).
Projects
Selected Work
- llama-rloo-reasoning — LLM RL fine-tuning from scratch (REINFORCE/RLOO + PPO clipping)
- llm-opinion-dynamics — multi-agent LLM opinion dynamics
- gp-kepler-from-scratch — Gaussian Process on real Kepler data
- GPU_Offloading_MHPC — CUDA lattice Boltzmann solver
- SLEPc_Schrodinger_Solver — distributed eigenvalue solver
- … more on GitHub