创建仓库

This commit is contained in:
2025-12-11 07:24:36 +08:00
commit 0d81c1792d
128 changed files with 15104 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
---
tags: []
aliases:
- 1.6.1 异构调试与内存安全 (Heterogeneous Debugging & Memory Safety)
date created: 星期三, 十一月 19日 2025, 8:31:15 晚上
date modified: 星期三, 十一月 19日 2025, 8:31:38 晚上
---
# 1.6.1 异构调试与内存安全 (Heterogeneous Debugging & Memory Safety)
**审计综述**
系统在调试层面具备极高的能力Host 端 GDB 基础稳固Device 端拥有专用调试器。然而ASAN 库的安装路径不标准,需要手动配置系统链接器以启用。
**1. GDB 调试前端 (GDB Debugging Frontend)**
- **关键性****P0**
- **信息解析**
- **版本与支持**GDB 版本为 **9.2** (Kylin 定制版),且 **Python 接口已激活**
- **价值**Python 接口是 VSCode / CLion 等 IDE 实现高级断点、复杂结构体可视化以及 GDB 脚本扩展的必要条件。
- **探测依据**
```bash
gdb --version
GNU gdb (GDB) KylinOS 9.2-3…
gdb -q -ex 'pi print(…)' -ex quit
Python support is active
```
**2. 异构调试工具链 (Heterogeneous Debugger Tools)**
- **关键性****P0**
- **信息解析**
- **专用调试器****ixgdb** (Iluvatar GDB) 存在。这是用于 GPU Kernel 级断点调试的专用工具,等同于 NVIDIA 的 `cuda-gdb`。
- **远程支持**`gdbserver` 存在。可用于在远程开发机器(如 Windows/MacOS上通过 VSCode/SSH 附件到 Kylin 服务器上的进程进行调试。
- **探测依据**
```bash
ls -l /usr/local/corex/bin/*gdb*
/usr/local/corex/bin/ixgdb
/usr/local/corex/bin/gdbserver
```
**3. 内存安全检测工具 (Memory Safety Checkers)**
- **关键性****P1**
- **信息解析**
- **Valgrind****v3.13.0** 已安装,可用于 Host 端代码的内存泄漏和越界访问检测。
- **ASAN (Address Sanitizer)**:库文件 `libasan.so` **已安装**在 GCC 7.3 的私有路径 (`/usr/lib/gcc/…`)。
- **风险与修正**ASAN 库默认对系统链接器不可见。已通过创建 `/etc/ld.so.conf.d/gcc7-asan.conf` 文件并执行 `ldconfig` 解决了此路径问题。
- **探测依据**
```bash
which valgrind && valgrind --version
/usr/bin/valgrind valgrind-3.13.0
```

View File

@@ -0,0 +1,57 @@
---
tags: []
date created: 星期三, 十一月 19日 2025, 8:34:02 晚上
date modified: 星期三, 十一月 19日 2025, 8:34:18 晚上
---
# 1.6.2 性能分析与实时监控 (Performance Analysis & Real-time Monitoring)
**审计综述**
系统在 Host 端和 Device 端均具备强大的性能监控和分析能力。已确认关键工具 `perf``ixprof` 存在且内核支持完整的事件追踪。NUMA 内存分配均衡,为高性能雷达应用提供了可靠的诊断基础。
**1. GPU 性能分析工具链 (GPU Profiling Toolchain)**
- **关键性****P0**
- **信息解析**
- **CUpti 接口**`libcupti.so.2.89` 存在。**CUpti (CUDA Profiling Tools Interface)** 是所有高级 GPU 性能工具与驱动通信的底层接口,它的存在证明 GPU 侧的性能数据采集功能已激活。
- **专用 Profiler**`ixprof` (Iluvatar Profiler) 存在。这是用于采集 GPU 单元利用率、显存带宽和 Kernel 时序等指标的专用工具,可用于替代 `nvprof`
- **探测依据**
```bash
ls -l /usr/local/corex/lib/libcupti.so*
… libcupti.so.2.89
ls -l /usr/local/corex/bin/ixprof
/usr/local/corex/bin/ixprof
```
**2. Linux 内核级性能分析 (Kernel Performance Analysis)**
- **关键性****P0**
- **信息解析**
- **Perf 工具**`/usr/bin/perf` 存在。Perf 已识别出 **Bus Cycles**、**Cache Misses**、**CPU Cycles** 等 ARMv8 硬件性能计数器事件。
- **内核追踪 (Ftrace)**`/sys/kernel/debug/tracing/available_tracers` 文件存在(虽然大小为 0证明 `debugfs` 已挂载,内核支持 **ftrace**。这为分析锁竞争、调度延迟等实时性问题提供了深度追踪能力。
- **探测依据**
```bash
which perf && perf list
/usr/bin/perf [Hardware events listed]
ls -l /sys/kernel/debug/tracing/available_tracers
… available_tracers
```
**3. 实时系统与 NUMA 监控 (Real-time & NUMA Monitoring)**
- **关键性****P1**
- **信息解析**
- **增强任务管理**`htop` 已安装。这是比 `top` 更直观的实时任务管理器,有利于在运行雷达程序时实时观察 CPU 亲和性Affinity是否正确绑定在 Node 1 (CPU 16-31) 上。
- **NUMA 内存分配**`numastat -m` 显示 Node 0 和 Node 1 的物理内存总量和使用量**大致均衡**。当前没有明显的跨节点内存压力。
- **默认策略**`numactl --show` 显示当前 shell 默认策略是 `policy: default`,且绑定到所有 CPU (0-31) 和所有 Node (0/1)。
- **重申风险**:这再次印证了为什么必须在启动 `main_app` 时使用 `numactl --cpunodebind=1 --membind=1` 强制覆盖默认策略。
- **探测依据**
```bash
which htop
/usr/bin/htop
numactl --show
policy: default
```

View File

@@ -0,0 +1,50 @@
---
tags: []
date created: 星期三, 十一月 19日 2025, 8:38:01 晚上
date modified: 星期三, 十一月 19日 2025, 8:40:07 晚上
---
# 1.6.3 版本控制与数据基线管理 (Versioning & Data Baseline Management)
**审计综述**
系统具备稳固的版本控制基础,且已补齐了管理大型二进制文件所需的关键工具 **Git LFS**。Docker 的存在为构建标准化 CI/CD 流程提供了运行环境。
**1. Git 版本状态 (Git Version Status)**
- **关键性****P1**
- **信息解析**
- **版本****Git 2.27.0**。该版本较为新近,支持所有现代 Git 功能(如稀疏检出、新版 Diff 算法)。
- **平台**:运行于 `linux arm64`
- **探测依据**
```bash
git --version
git version 2.27.0
```
**2. 大文件存储支持 (Git LFS Support)**
- **关键性****P0**
- **信息解析**
- **状态****Git LFS v2.10.0** 已安装,且已通过 `install --system` 进行全局初始化。
- **价值**:解决了雷达项目管理大文件(如校准系数、模型权重)的痛点,确保 Git 仓库体积不会过度膨胀。
- **探测依据**
```bash
which git-lfs && git lfs version
/usr/bin/git-lfs
git-lfs/2.10.0 (…)
```
**3. CI/CD 环境工具 (Automation Tools)**
- **关键性****P1**
- **信息解析**
- **容器化****Docker** 运行时已安装 (`/usr/bin/docker`)。
- **价值**:这是将项目构建环境标准化(例如:将 GCC 7.3 和 Clang 18.1 封装在 Docker 镜像中)的关键,可确保 CI/CD 流程的构建结果具有高度可复现性。
- **探测依据**
```bash
which docker
/usr/bin/docker
```