docs: unify algorithm explanation and update teaching video
This commit is contained in:
parent
a1e43bb679
commit
dd5fab9540
15 changed files with 1680 additions and 1050 deletions
|
|
@ -1,14 +1,29 @@
|
|||
# 分镜
|
||||
# 单区块判定、CPU/CUDA 演进与最终算法(2026-10-16)
|
||||
|
||||
| 章节 | 画面 | 讲解目的 | 对应材料 |
|
||||
| --- | --- | --- | --- |
|
||||
| 00 问题开场 | 网格中点亮 5×5 区域 | 明确 seed、坐标、图案三个维度 | POPULAR_SCIENCE_OUTLINE.md |
|
||||
| 01 CPU | 逐格检查与失败退出,配合循环结构 | 建立正确基线;CPU 已使用多线程 | 01_cpu.cpp |
|
||||
| 02 CUDA | seed 分给线程,线程各扫坐标图 | 解释独立任务并行;A 组图表 | 02_cuda_seed.cuh |
|
||||
| 03 固定坐标 | 从原式按 X/Z 分组,标记 Java 回绕,再对照两种循环 | 证明 T=F+G;seed 循环外复用轴项;B 组图表 | 03_cuda_position.cuh、common.hpp |
|
||||
| 04 outer sum | 列向量/行向量广播的矩阵恒等式、2×3 数值例子,再点亮行列 | 解释 outer sum 的数学依据与计算量边界;halo;C 组图表 | 04_cuda_outer_sum.cuh、OUTER_SUM.md |
|
||||
| 05 Random | 64 位拆成 16+48;XOR 位宽→高位平移→35−17→模 5→回绕区间及数值例子 | 推导 lower35/upper13,解释 18+17+13 与首次输出模型边界 | RANDOM_PROPERTIES.md |
|
||||
| 06 结尾 | 两条优化路线和实验原则 | 把实现优化与结构化搜索串起来 | BENCHMARK.md |
|
||||
本版依据统一正文 [DOCUMENT.md](../DOCUMENT.md)。先解释单个区块及 Random,再保留 CPU → CUDA 按 seed → 固定坐标 → outer sum 的演进。反推有效种子的关系建立后才引入具体窗口,后续所有数值演算统一使用锚点 `(51069,419124)` 的实心 5×5。
|
||||
|
||||
画面以字幕节拍编排,口播稿与 SRT 在渲染时生成,避免维护三份不同步的时间轴。
|
||||
没有把历史外推数据、删除的 05/06 性能分支或坐标范围趋势实验重新带入视频。
|
||||
| 章 | 内容 | 对应正文与效果 |
|
||||
| --- | --- | --- |
|
||||
| 01 | 直接调用 Random 的代码 → 内部展开 → 完整 T 公式与回绕 | 第 0 节;u、v、q、A、C 的含义 |
|
||||
| 02 | CPU 枚举种子和位置;一格失败立即退出 | 第 1 节;正确性基线 |
|
||||
| 03 | CUDA 每线程一个 seed,线程内扫描位置 | 第 2 节;A:3550.398 → 111.110 ms |
|
||||
| 04 | 固定坐标后遍历 seed,线程内复用 F/G | 第 3 节;B:31598.539 → 17600.387 ms |
|
||||
| 05 | 相邻线程共享轴项,outer sum | 第 4 节;C:2.715 → 1.598 ms;实现范围说明留在此处 |
|
||||
| 06 | 单区块状态公式与低 48 位等价关系 | 第 5 节;不提前使用 Tᵢ、T₀ 或窗口编号 |
|
||||
| 07 | 先求 s 再恢复 w → 窗口编号 → dᵢ 与 Tᵢ | 第 6 节;完整引入唯一的 5×5 贯穿案例 |
|
||||
| 08 | low18 输出奇偶筛根 | 第 7 节;262144 → 84;跟随 p = 218767 |
|
||||
| 09 | 坐标类根复用 | 第 8 节;案例类键 (51069,25908);不引入另一批次演算 |
|
||||
| 10 | 每根公共项预计算,数值表核算基准输出 | 第 11 节;同窗口 0.323584 → 0.268288 ms |
|
||||
| 11 | 共同高位平移 → 输出差 → 16 候选两段 → mask | 第 9、10、12 节;明确 11 包含于 vᵢ(0),base = 40206,γ₁ = 9848,最后只剩 m = 40302、40318;全部 lower35 过滤剩 36;组筛同窗口再快 1.71× |
|
||||
| 12 | θ 高位换元、两段模 5 条件、全部 25 格区间交集 | 第 13 节;[3382,3440),余 3;12 个高位解;θ = 3383 → h = 2995 → w = 15959335054446 |
|
||||
| 13 | 完整 5×5 原始输出表与 Java 拒绝重抽 | 第 14 节;25 格全部返回 0;说明正确输出与完整覆盖的区别 |
|
||||
| 14 | 当前 GPU 批次、每线程一候选组、多卡调度 | 第 15 节;不混入额外 CLI 案例 |
|
||||
| 15 | 同窗口完整数量链、符号总表与优化效果 | 第 16、17 节;两条 m 分支各 12 个解,共 24 个种子 |
|
||||
|
||||
推导页、贯穿案例页、实测页分开展示;案例用黄色标签和引用线。高位换元统一用 θ,坐标项仍用 T;输出高位为 φᵢ,基准输出用 q 横线,区间端点用 lo、hi。
|
||||
|
||||
A/B/C 使用不同负载,只在各组内部比较。Random 后半段的预计算、成组过滤及差过滤+区间求交的效果,统一引用同一已知窗口的历史对照;不把不同轮次的倍数连乘。类缓存的收益取决于跨位置的重复率,单窗口不展示另一个批次的速度比。
|
||||
|
||||
不加入坐标余数对、未接入的拒绝补扫、失败实验或全世界外推。`SlimeFilm` 完整十五章;`ParallelEpisode` 为 01–05;`RandomEpisode` 为 06–15。
|
||||
|
||||
输出为无音轨的中文字幕动画,口播稿、SRT、时间轴和来源摘要随本次渲染同步生成。
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue