2025

High-Performance Software Foundation (HPSF) Conference

Event:HPSF Conference 2025
Location:Chicago, IL, USA
Dates:May 5 - 8, 2025
Talks:
Driving Continuous Integration and Developer Workflows with Spack

Spack makes it easy to install dependencies for our software on multiple HPC platforms. However, there is little guidance on how to structure Spack environments for larger projects, share common Spack installations with code teams and utilize them in an effective way for continuous integration and development.

This presentation will share some of the lessons learned from deploying chained Spack installations for multiple code teams at LANL on various HPC platforms both on site and on other Tri-Lab systems, how to structure such deployments for reusability and upgradability, and make them deployable even on air-gapped systems. It will also show how we utilize Spack's build facilities to drive CMake-based projects on GitLab for continuous integration, without having to replicate build configuration logic in GitLab files, while giving developers an easy-to-follow workflow for recreating CI runs in various configurations.

2021

LAMMPS Workshop

Website:LAMMPS Workshop and Symposium
Location:Philadelphia, Pennsylvania, USA (Online via Zoom)
Dates:August 10-13, 2021
Talks:
How to Use LAMMPS as a Library and from Python, How to call Python from LAMMPS
An introduction to the LAMMPS library interface(s) and how to use Python with LAMMPS.

High-Performance Computing Technologies

Program:Master in High-Performance Computing (MHPC)
Course Website:High-Performance Computing Technologies
Location:Abdus Salam International Centre for Theoretical Physics (ICTP), Trieste, Italy (Online via Zoom)
Dates:Feb 2021
Description:

Due to COVID we created an online-only version of our course. It introduces students to the basics of building, configuring and operating High-Performance Computing Clusters, while remotely connecting to a preassembled and cabled but unconfigured training cluster. The goal of this course is to give students a solid foundation for understanding the components of a cluster, how they are typically configured, and what challenges operating such a machine entails.

2020

High-Performance Computing Technologies

Program:Master in High-Performance Computing (MHPC)
Location:Abdus Salam International Centre for Theoretical Physics (ICTP), Trieste, Italy
Dates:Jan 2020 – Feb 2020
Description:

A two-week course introducing the basics of building, configuring and operating High-Performance Computing Clusters. The goal of this course is to give students a solid foundation for understanding the components of a cluster, how they are typically configured, and what challenges operating such a machine entails.

2019

High-Performance Computing Technologies

Program:Master in High-Performance Computing (MHPC)
Location:Abdus Salam International Centre for Theoretical Physics (ICTP), Trieste, Italy
Dates:March 2019
Description:

A two-week course introducing the basics of building, configuring and operating High-Performance Computing Clusters. The goal of this course is to give students a solid foundation for understanding the components of a cluster, how they are typically configured, and what challenges operating such a machine entails.

LAMMPS Workshop

Website:LAMMPS Workshop and Symposium
Location:Albuquerque, New Mexico, USA
Dates:August 13-15, 2019
Talks:
LAMMPS Software Development on GitHub
An introduction in how new features are added to LAMMPS via GitHub Pull-Requests and the progress made so far.

2018

Latin American Introductory School on Parallel Programming and Parallel Architecture for High Performance Computing

Event:SMR 3187
Location:CINVESTAV and ININ, Carretera México-Toluca Km 38.5, Salazar, Ocoyoacac, 52740 Estado de México, Mexico
Dates:February 12 - 23, 2018
Lectures:
Floating-Point Math
A lecture about the properties and dangers of floating-point numbers
Introduction to OpenMP
A introduction lecture about how to use OpenMP to add multi-threading to existing code.
Best Practise of Parallel SW Development: LAMMPS
A lecture about some of the parallelization strategies in LAMMPS
Hands-on materials:

2017

LAMMPS Workshop

Website:LAMMPS Workshop and Symposium
Location:Albuquerque, New Mexico, USA
Dates:August 1-3, 2017
Talks:
LAMMPS Software Development on GitHub
First tutorial about the GitHub-based Pull Request workflow introduced to LAMMPS
Using Python in LAMMPS
Presentation about how to use Python in LAMMPS

2016

Temple Molecular Dynamics Summer School

Location:Philadelphia, Pennsylvania, USA
Dates:August 1-3, 2017
Talks:
Driving LAMMPS with Python
Introduction of PyLammps interface, a new wrapper that allows driving LAMMPS from Python
Hands-on materials:

2014

Workshop on Advanced Techniques for Scientific Programming and Management of Open Source Software Packages

Event:SMR 2574
Location:Abdus Salam International Centre for Theoretical Physics (ICTP), Trieste, Italy
Dates:10 - 28 March, 2014
Lectures:
Concepts of Object-Oriented Programming
Introduction to Object-Oriented Programming and some common patterns
Software Optimization and Maintainability
Lecture about algorithmic complexity, code resuse and parts of the C++ STL
Hands-on materials:

2013

LAMMPS Workshop

Event:LAMMPS Users Workshop and Symposium
Location:Albuquerque, New Mexico, USA
Dates:August 7-8, 2019
Talks:
Performance Evaluation of Multi-Threaded Granular Force Kernels in LIGGGHTS
First presentation of preliminary results at the beginning of my Ph.D. work