串流是通过显卡捕获显示器画面并将其压缩作为视频流进行网络传输实现远程控制的技术,相比与其他远程控制方式,串流可以拥有更高的画面质量和帧率,是远程游戏的不二选择。 NVIDIA Experience和AMD Link都提供了对串流的支持,但目前两家的串流工具都已停止维护,目前比较主流的方案是sunshine+moonlight,其中sunshine作…
vllm中的llm_engine主要由两个模块构成,Scheduler和Executor,其中Executor负责管理并行推理时的多个设备、模型的推理计算和KV Cache的显存分配和管理,而Scheduler负责请求的调度。接下来,我将详细介绍vllm的Scheduler模块和其调度策略。 vllm模块架构 前置知识 llm是自回归的模型,在一个…
前言 最近打算基于Pytorch和vllm框架对一些底层模块进行定制,工欲善其事必先利其器,为了能够使用VSCode在远程服务器上丝滑地进行CUDA编程,环境搭建必不可少。 CMake为我们提供了一套完整的构建系统,只需要通过简单地配置文件就可以自由且自动地帮我们编译好模块和可执行文件,同时vscode的插件也对CMake提供了非常丰富的支持。CM…
前言 我在今年五月份购入了小米WR30U路由器 联通定制版,最初目的是为了刷openwrt以便在实验室使用dogcom来登陆校园网实现自动登录和多设备共享,同时也将代理功能交给路由器来做。但是后来发现这款路由器256MB的内存太捉襟见肘了,启动open clash后内存几乎占满,并且启动过程中CPU占用率会达到100%,运行非常卡顿。 之后我在香橙…
随着深度学习的层数越来越多,模型的参数也呈现出了快速增长的趋势,然而GPU内存的增长速度却远慢于模型体积的增长。有限的GPU内存限制了我们训练和部署模型的灵活性,GPU内存墙成为了现在亟待解决的问题。先前已经有许多研究进行了探索,可以概括为两大类:一是基于多级存储构建透明的数据分页和迁移机制,利用page fault在多级存储中交换数据,并对上层应…
边缘计算有望通过在更靠近数据源的边缘设备上部署LLM来解决这些问题。一些工作试图利用模型量化来减小模型大小以适应资源约束的边缘设备,但这会导致精度损失。其他作品使用云边缘协作,遭受网络连接不稳定的困扰。在这项工作中,我们利用协作边缘计算来促进边缘设备和云服务器之间的协作,以共同执行高效的LLM推理。我们提出了一个通用框架,将LLM模型划分为分片并部署在分布式设备上。
cmake是一个功能强大的跨平台构建工具,由于项目要求,我们经常需要使用更高版本的cmake,然而Ubuntu的默认主流apt源都不包含最新版本的cmake,下面本文介绍了几种安装高版本cmake的方法。 方法1 apt安装 依次执行如下代码: $ sudo apt update $ sudo apt upgrade cmake 这种安装方式受限于…
NVIDIA 为 CUDA 开发提供了许多强大的开发工具。在 Windows 平台上,您可以使用 Visual Studio Edition,而在 Linux 平台上,可以使用 Eclipse Edition。然而,我们经常需要在 CUDA 和其他编程语言如 Python 和 C++ 之间进行联合编程。尽管 Visual Studio 这样的 ID…
2024年4月19日,我研究生三年中最迷茫无助的一天。 中午在校车上时看到HR突然解散了24届应届生的微信群,内心就顿感不妙,果不其然几分钟之后就收到了HR毁约的通知。我在厕所里打完了解约沟通的电话,大概意思就是半导体行业变幻莫测,现在公司出了点问题,要对24届所有的校招学生解约,出于所谓的企业责任感会赔偿半个月工资。 整个沟通过程中我人都是懵的,…
懒惰是一生之敌
自从1月底算法实现完毕,直到今天才把论文投出去,历时整整两个月。恨自己为什么寒假每天开摆,恨自己为什么不早一点做实验,恨自己为什么不一开始就把Introduction和Motivation发给我导修改……啊,懒惰真是我的一生之敌!
我并非不愿意做事情,相反,我心甘情愿地每天从早到晚高效率干活,但前提是旁边有人时刻监督我、能随机跟我交流讨论才好。这样说的话,问题的根源似乎也不是懒惰,而是我一点都不自觉。
天呀,什么时候才能改掉这个坏毛病呀!