About
Background
I am a PhD candidate in theoretical physics at SISSA (Trieste), currently also 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 peer-reviewed papers (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