https://github.com/mrshaw01/software-engineer
A curated learning repository focused on High-Performance Computing (HPC) — covering fundamentals to advanced topics in CUDA, MPI, C++, and Python-C++ interoperability.
https://github.com/mrshaw01/software-engineer
cpp cuda high-performance-computing hip python
Last synced: 3 months ago
JSON representation
A curated learning repository focused on High-Performance Computing (HPC) — covering fundamentals to advanced topics in CUDA, MPI, C++, and Python-C++ interoperability.
- Host: GitHub
- URL: https://github.com/mrshaw01/software-engineer
- Owner: mrshaw01
- Created: 2025-05-16T19:17:48.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-07-08T04:49:48.000Z (3 months ago)
- Last Synced: 2025-07-08T06:32:01.950Z (3 months ago)
- Topics: cpp, cuda, high-performance-computing, hip, python
- Language: C++
- Homepage:
- Size: 6.57 MB
- Stars: 332
- Watchers: 7
- Forks: 58
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Citation: CITATION.cff
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
Software Engineer
![]()
![]()
![]()
![]()
A curated, high-quality collection of learning resources focused on **Python** and soon **C/C++**, designed to build strong software engineering foundations and system-level understanding.
## Repository Structure
```text
.
├── python-basic/ # Essential Python syntax, data types, and operations
├── python-advanced/ # Decorators, threading, logging, JSON, and more
├── python-OOP/ # Deep dive into Python's object-oriented programming
├── cpp-basic/ # Fundamentals of C++: syntax, memory, pointers, etc.
├── cpp-advanced/ # Advanced C++: RAII, noexcept, smart pointers, RVO, etc.
├── cpp-OOP/ # Object-oriented programming in C++
├── CUDA/ # GPU programming with CUDA (host & device code)
├── MPI/ # Message Passing Interface programming and demos
├── docs/ # System-level notes on performance, Python-C++ interop, mixed precision, etc.
└── README.md # Project overview (this file)
```## How to Use
Each numbered folder contains a `README.md` explaining the concepts, along with runnable `.py` files. For example:
```bash
cd python-advanced/08-decorators
python basic_function_decorator.py
```Some scripts require third-party libraries (e.g., `numpy`, `scipy`, `torch`).
All code is compatible with **Python 3.7+** and written to be **minimal, focused, and testable**.
## Highlights
### Python
- **OOP Mastery**: Classes, inheritance, metaclasses, descriptors (`python-OOP/`)
- **Advanced Topics**: Decorators, context managers, function caching, concurrency
- **Data Structures**: Lists, tuples, dicts, sets with practical usage### C++
- **C++ Basics**: Syntax, functions, pointers, structs, scope, enums (`cpp-basic/`)
- **Modern C++**: RAII, smart pointers, move semantics, alignment, RVO (`cpp-advanced/`)
- **C++ OOP**: Classes, access specifiers, inheritance, polymorphism, templates### Systems & Performance
- **CUDA Programming**: Host/device model, kernel launch, memory management (`CUDA/`)
- **MPI Programming**: Practical distributed programs, matrix ops, and validation runs (`MPI/`)
- **Docs**: Python-C++ interfacing, GIL handling, CUDA tuning, mixed precision training (`docs/`)## Learning Philosophy
- Small, modular examples — no cluttered notebooks
- Clear separation between concept, code, and commentary
- Emphasis on design, performance, and maintainability
- Builds knowledge progressively — ideal for serious learners and professionals## Star History
## 🤝 Contributions
Found a bug, typo, or want to extend something? Open a PR — all contributions are welcome.
## 📄 License
MIT License — free to use, adapt, and share for learning and teaching.