Thanks to visit codestin.com
Credit goes to github.com

Skip to content

This repository provides a structured overview of technical competencies and cognitive development across High Performance Computing (HPC) domains. Based on Bloom's Taxonomy, it helps assess skill levels for HPC professionals and guide learning paths.

License

Notifications You must be signed in to change notification settings

ricardojacomini/hpc_skills

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

🧭 Perspective & Professional Insight 🧠 "In my opinion, there are two distinct paths in High-performance computing (HPC): one leaning toward system administration, and the other toward scientific software engineering."

☁️ Cloud Computing Note

Important: This matrix is intended for professionals who will be engaged in tasks related to on-premise HPC initiatives for the University's facility. For those involving Microsoft Azure Cloud, I recommend taking the Azure AZ-104 certification: The Azure Administrator Associate.

The system administration path emphasizes foundational skills in Linux, networking, and hardware management (CPU, GPU, FPGA). The scientific software path leans into coding, algorithms, and specialized HPC frameworks and tools. Having worked as a Scientific Software Engineer for several years, I designed this matrix using Bloom’s Taxonomy to reflect the skill progression I’ve observed and experienced firsthand. It integrates over 25 years of deep technical involvement in Linux, networking, and hands-on coding, as well as the advanced tools and workflows I utilized across roles. This framework is intended to help others:

  • 🧩 Identify which skills they currently have and at what level
  • 🔍 Choose where to invest learning time based on interest or career goals
  • 📈 Advance from foundational (Level 1) to expert-level mastery (Level 6)

For example:

  • Skills like Linux and Python often provide a solid foundation for HPC System Engineering.
  • Specialized technologies and frameworks mark progression into Scientific Software Engineering. The more skills you master and elevate toward higher cognitive levels — especially those aligned toward the right columns of the matrix — the deeper your expertise and seniority in HPC becomes.

💡 HPC Matrix for Self-Learning & Ramp-Up: Knowledge & Responsibility Levels

This repository provides a structured overview of technical competencies and cognitive development across High Performance Computing (HPC) domains. Based on Bloom's Taxonomy, it helps assess skill levels for HPC professionals and guide learning paths.

📚 Cognitive Process Levels

Level Process Example Verbs Description
1 Knowledge define, list, recall Retrieve basic facts or knowledge
2 Comprehension explain, summarize, classify Explain ideas or concepts
3 Application use, implement, solve Use knowledge in new situations
4 Analysis compare, differentiate, test Break down to explore patterns and relationships
5 Synthesis critique, judge, justify Make judgments based on criteria
6 Evaluation design, construct, invent Create new ideas, products, or perspectives

🧠 Skill Levels

Level Description
I - Basic Foundational knowledge and tool awareness
II - Intermediate Hands-on experience and partial autonomy
III - Advanced Confident execution and troubleshooting
IV - Specialized Deep expertise and innovation-driven approach

🛠️ Technology Domains & Toolsets

Programming & Scientific Software

  • Fortran, CUDA, Perl, CI/CD, C, C++, Java, Python, Shell, MATLAB
  • Python & Conda Environments
  • LAMMPS, CESM, Alphafold3, GROMACS, OpenFOAM

Automation & DevOps

  • Puppet, Chef, Salt, Ansible
  • Spack, EasyBuild, dnf, apt
  • Slurm scripting & admin commands, job scheduling

HPC & Cloud Infrastructure

  • Intel SYCL, OpenMP, Intel VTune, NVIDIA HPC SDK
  • Azure, AWS, GCP
  • DockerHub, Podman, Singularity, Kubernetes
  • Azure-specific tools: AMLFS, Blob Storage integration

Version Control & CI/CD

  • git / GitHub / Bitbucket / SVN
  • make, cmake, Snakemake, NextFlow

AI & ML Tools

  • PyTorch, TensorFlow, JAX
  • Feature Engineering, Large Language Models (LLMs)
  • Agentic Systems, Retrieval-Augmented Generation (RAG)

System Management & Performance

  • Linux System Administration (LPIC-1/2)
  • iptables, port & service management
  • Performance profiling and tuning

Visualization & Interfaces

  • Jupyter, VSCode, RStudio, OpenOnDemand

Web & Pipeline Tools

  • Confluence Web Server, XDMoD, CryoSparc, Coldfront

Miscellaneous

  • Quantum Computing, Supabase, SBGrid, warewulf, MAAS

🚀 Career Path Guidance

Role Target Skill Level
HPC Scientific Software Engineer II – III
HPC Sr. Scientific Software Engineer III – IV

📊 Visual Matrix

For a comprehensive visual representation of the HPC skills matrix based on Bloom's Taxonomy, please refer to:

📄 HPC Skills Matrix (PDF)

This PDF provides a detailed matrix mapping HPC technologies and skills across cognitive levels and skill progression paths, based on my profile when I worked at The Advanced Research Computing at Hopkins (ARCH) HPC facilities, 2021-2025.


About

This repository provides a structured overview of technical competencies and cognitive development across High Performance Computing (HPC) domains. Based on Bloom's Taxonomy, it helps assess skill levels for HPC professionals and guide learning paths.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published