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

Skip to content

WYYAHYT/parallel_simulator

Repository files navigation

并行化仿真器教学项目

项目介绍

这是一个专为新手设计的教学项目,用于学习如何将基于NumPy的单环境仿真器改写为基于PyTorch的多环境并行仿真器。

项目结构

parallel_simulator/
├── README.md                    # 项目介绍
├── GETTING_STARTED.md          # 快速入门指南
├── requirements.txt             # 依赖包
├── .gitignore                   # Git忽略文件
├── numpy_simulator/             # NumPy版本仿真器
│   ├── missile_simulator.py    # 单环境导弹仿真器
│   └── example_numpy.py         # 使用示例
├── pytorch_simulator/           # PyTorch版本仿真器
│   ├── missile_simulator.py    # 多环境并行导弹仿真器
│   └── example_pytorch.py       # 使用示例
├── tutorials/                   # 教学文档
│   ├── 01_pytorch_basics.md     # PyTorch基础知识
│   ├── 01_pytorch_basics.ipynb  # PyTorch基础 (Jupyter)
│   ├── 02_tensor_operations.md  # 张量操作详解
│   ├── 02_tensor_operations.ipynb # 张量操作 (Jupyter)
│   ├── 03_migration_guide.md    # 迁移指南
│   ├── 03_migration_guide.ipynb # 迁移指南 (Jupyter)
│   ├── 04_advanced_examples.md  # 高级示例
│   └── 04_advanced_examples.ipynb # 高级示例 (Jupyter)
└── examples/                    # 综合示例
    ├── comparison_demo.py       # 性能对比示例
    └── visualization.py         # 可视化示例

学习路径

  1. 基础准备: 先阅读 tutorials/01_pytorch_basics.md 了解PyTorch基础 (推荐使用交互式版本 .ipynb)
  2. 张量操作: 学习 tutorials/02_tensor_operations.md 掌握张量并行化 (推荐使用交互式版本 .ipynb)
  3. 单环境仿真器: 理解 numpy_simulator/missile_simulator.py 的实现
  4. 迁移学习: 按照 tutorials/03_migration_guide.md 学习迁移过程 (推荐使用交互式版本 .ipynb)
  5. 并行仿真器: 学习 pytorch_simulator/missile_simulator.py 的实现
  6. 高级应用: 学习 tutorials/04_advanced_examples.md 的高级技术 (推荐使用交互式版本 .ipynb)
  7. 实践应用: 运行 examples/ 中的示例代码

教程格式

  • Markdown文件 (.md): 完整文档,适合阅读和参考
  • Jupyter Notebook (.ipynb): 交互式学习,可运行代码和实验

启动Jupyter: jupyter notebook 然后打开 tutorials/ 目录下的 .ipynb 文件

快速开始

  1. 安装依赖:
pip install -r requirements.txt
  1. 运行NumPy版本示例:
python numpy_simulator/example_numpy.py
  1. 运行PyTorch版本示例:
python pytorch_simulator/example_pytorch.py
  1. 运行性能对比:
python examples/comparison_demo.py

教学目标

  • 理解单环境仿真器与多环境并行仿真器的区别
  • 掌握PyTorch张量操作的基本方法
  • 学会如何使用张量掩码和条件操作
  • 理解向量化计算的优势
  • 掌握坐标转换的并行化实现

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published