[hellollvm] 学习编译libc++时的头文件处理 (43)
还是从硬件断点
2 hw watchpoint keep y *(unsigned long *)0x555569fb71e0
stop only if *(unsigned long *)0x555569fb71e0==93825335973472
stop only if *(unsigned long *)0x555569fb71e0==93825335973472
出发跟对forward.h的分析
我通过设置断点
clang::Lexer::LexIdentifierContinue
来跟IncludeMacroStack的变化情况。
我打印
p/x sizeof(IncludeMacroStack.back())
$9 = 0x38
$9 = 0x38
知道IncludeMacroStack上的每个栈的大小是0x38,这样我就可以截取文件了
x/10gx 0x555569d844f0 - 0x38 * 2
0x555569d84480: 0x0000555569d6cde0 0x0000000000000000
0x555569d84490: 0x0000555569cdeb10 0x0000000000000001
0x555569d844a0: 0x0000555566a6bd40 0x0000000000000000
0x555569d844b0: 0x0000555569dc4fa0 0x0000555569dc4fa0
0x555569d844c0: 0x0000000000000000 0x0000555569cdeb10
gdb) p *(clang::Lexer *)0x0000555569d6cde0
0x555569d84480: 0x0000555569d6cde0 0x0000000000000000
0x555569d84490: 0x0000555569cdeb10 0x0000000000000001
0x555569d844a0: 0x0000555566a6bd40 0x0000000000000000
0x555569d844b0: 0x0000555569dc4fa0 0x0000555569dc4fa0
0x555569d844c0: 0x0000000000000000 0x0000555569cdeb10
gdb) p *(clang::Lexer *)0x0000555569d6cde0
在 PyTorch Europe 2026 上,来自 Google 的 Kat Ko 与 Claudio Basile、以及来自 Meta 的 Jana van Greunen 带来了一场赞助演讲《TorchTPU:将 TPU 可编程性扩展至 PyTorch》。Google 的张量处理单元(TPU)专为大规模机器学习而设计,在性能、能效和成本方面具有显著优势;尽管 TPU 过去常与 TensorFlow 和 JAX 生态联系在一起,他们在此次演讲中介绍了 TorchTPU——Google 为将 TPU 可编程性扩展至 PyTorch 而开展的一项新工作。演讲梳理了 TorchTPU 的演进历程,从最初的 RFC 到建立起原生、以 eager 优先的 PyTorch 后端,并概述了这一转变过程中所克服的核心技术挑战,尤其是将动态的 eager 执行转换为高度优化的 TPU 计算所涉及的复杂性。他们还介绍了当前的里程碑,包括与 torch.compile、DTensor 的原生集成,以及对最新 Ironwood(TPU v7)架构的稳健支持;这些进展共同使得数十亿参数规模的模型能够以极少的代码改动运行在 TPU 上,同时保留用户施加模型专属优化(如自定义算子、量化、分片)以达到峰值性能的能力。最后,她们透露了 2026 年路线图的一瞥。 https://www.youtube.com/watch?v=H8SjVNB7YhM