返回首页

一周热榜

1作者: Flex247A3 天前原帖
嗨,HN, 我构建了一个RISC-V模拟器,支持RV32IM指令集,并实现了一个最小的系统调用接口,以便运行DOOM。几周前,我用一个简单的Hello World汇编程序首次获得了输出。 从那时起,我一直在不懈努力,试图让DOOM运行起来。 我首先需要弄清楚如何运行C程序,发现了newlib,它允许底层环境逐个实现系统调用存根,直到程序可以运行。 我还添加了ELF加载功能,但目前只支持单个`PT_LOAD`段。 为了移植DOOM,我使用了doomgeneric,一旦所需的存根到位,工作起来非常方便。 DOOM渲染到内存中的固定区域(0x705FDD = VRAM_START): ``` 0x7FFFFF +-------------------------------------+ | | | QUEUE_SIZE (32 bytes) | | | 0x7FFFDF +-------------------------------------+ <--- QUEUE_START 0x7FFFDE | QUEUE_READ_IDX | 0x7FFFDD | QUEUE_WRITE_IDX | +-------------------------------------+ | | | | | VRAM (1,024,000 bytes) | | | | | 0x705FDD +-------------------------------------+ <--- STACK_START | Stack | | | | | v | | | | ^ | | | | | Program data + Heap | | | 0x000000 +-------------------------------------+ ``` 我制作了一个小的链接脚本,使得C程序的入口点位于_start,虚拟地址始终为0。这使得ELF加载器的代码保持简单。 输入由rvcore写入队列,然后被运行在其中的DOOM拦截。 演示链接: [https://www.youtube.com/watch?v=f5uygzEmdLw](https://www.youtube.com/watch?v=f5uygzEmdLw)
1作者: freakynit3 天前原帖
把这个当作一个有趣的小练习来学习。然而,最终结果与商业级深度研究产品不相上下。<p>完整的写作(涵盖当前状态的80%):<p><a href="https:&#x2F;&#x2F;deep-research-agent.pagey.site" rel="nofollow">https:&#x2F;&#x2F;deep-research-agent.pagey.site</a>
1作者: quatonion3 天前原帖
Valkyr 是对 LM 推理运行时的新颖尝试。它与 llama.cpp、vLLM 或 ZINC 等项目有很大不同。它是用 Zig 编写的,代码非常简洁,除了 Vulkan Compute 本身外没有其他依赖项。虽然它支持多种模型系列和像 OpenAI 兼容服务器这样的功能,但一个重要的特点是,它可以在现有的 Vulkan 主机中以严格的时间预算运行——想想视频游戏、增强现实/虚拟现实应用、边缘设备或机器人。此外,它还支持丰富的探测接口,以接近实时的方式研究语言模型的内部结构。我并不是想与现有的运行时竞争,因为这些已经存在。我所要做的是帮助推理与时间敏感的应用程序协同工作。如果你能试试看,我会非常高兴。如果你有任何问题或想法,请告诉我。谢谢!