Onsite scientific software internship project
CERN MadGraph5 Architecture Module
I developed a Python architecture profiling module that organized CPU, GPU, memory, operating system, and related system metadata across different CERN Linux computing environments. The module was designed to provide structured hardware information to a larger MadGraph5 workflow without assuming that every computing node had the same capabilities.
Overview
I completed an onsite internship at CERN under the supervision of Stefan Roiser and contributed to a software development effort connected to MadGraph5. My work addressed how software could consistently understand the computing hardware available across different CERN Linux environments.
What I Built
I developed a Python module that detected CPU architecture, core count, vectorization capabilities, system memory, operating system version, GPU vendor and model, compute capability, GPU count, GPU memory, streaming multiprocessors, and tensor core support. I organized the results into a structured Python dictionary.
Testing
I tested the module on CERN computing nodes including itscrd-a100.cern.ch, itscrd02.cern.ch, and lxplus.cern.ch — a range of environments with different CPU and GPU configurations.
Why the Work Mattered
Scientific simulation software may run across many CPU and GPU configurations. Consistent architecture information can help a larger workflow understand available resources and support compatibility, scheduling, and performance decisions. This was the intended value of the module within the broader MadGraph5 project.
What I Learned
This experience showed me how a focused software component can support a much larger scientific computing system. I strengthened my Python and Linux skills, learned more about CPU and GPU architecture, and saw how reliable infrastructure helps researchers run complex simulations across distributed environments. Living in Geneva added another dimension to the experience, allowing me to work alongside and learn from an international community of researchers and engineers while exploring Switzerland and neighboring countries beyond the lab.
Official Project Background
These are official resources providing context about the MadGraph5 project and CERN openlab program. They are listed as background references.
- MadGraph5 Repository— Official project background
- CERN openlab MadGraph5 Project— Official project background