Peter Lau Blog

「离开世界之前 一切都是过程」

多种依赖形式下动态库和静态库使用的不同

编译与链接

若调用者代码使用A库,A库依赖静态库B和静态库C,当A分别编译生成动态库和静态库时。从调用者角度,编译链接使用的流程如下: 若A使用形式为动态库,那么调用者在进行编译链接以及运行时,可以忽略静态库B和C;若A使用形式为静态库,那么调用者在进行编译连接时,同时需要链接静态库B和C。

做一件清一件

如何应对多任务

如何同时做多项任务? 这个问题本身是值得商榷的。首先,为什么要同时做多项任务?其次,多项任务的重要情和时间截止日期是怎样的?另外,多项任务同时存在的时间跨度有多长? 艾森豪威尔提出过一个关于事情重要性的名言 重要的事情不应该被忙碌的事情所掩盖 另有一个艾森豪威尔矩阵 更详细的展开如下表所示   🔥 紧急 (...

成年再读名著

罪与罚

<img class="罪与罚" src="/img/literature/zui_yu_fa.jpg" width="260" height="200"> <figcaption style="font-style: italic; color: #666;">罪与罚</figcaption> 晚上关灯前,如果发现还有十几二十分钟的空挡,...

问题解决风格

如何成为技术领导者

本周读了《如何成为技术领导者》第三章,该章描述了问题解决风格(Problem-solving style)的具体表现是怎样的,作者基于MOI模型来论述并举例说明。作为IT从业者,看完后并结合过往职业经历,受到了不少启发。开篇作者引用了《爱丽丝漫游奇境》中爱丽丝与猫的一番对话。 爱丽丝:从这里出去,我该走哪条路? 猫:那很大程度上取决于你要到哪里 爱丽丝:我不关心去...

LLM Agent 实践总结

从理论到实践的 LLM Agent 开发指南

引言 在人工智能快速发展的今天,LLM Agent 作为一种能够自主执行任务的 AI 系统,正在改变我们开发和使用 AI 的方式。本文将分享我在 LLM Agent 开发过程中的实践经验,包括架构设计、开发流程和最佳实践。 LLM Agent 的核心概念 什么是 LLM Agent? LLM Agent 是一个能够理解用户指令、规划任务、执行操作并返回结果的 AI 系统。它通过结合大...

史蒂夫.乔布斯传

读书笔记

营销 马库拉在一页纸上写下了一篇名为《苹果营销哲学》的文章,强调了营销的三个要点: 第一点是“共鸣”,就是要设身处地为用户着想。“我们会比其他任何企业都更加充分地了解用户需求。 第二点是“专注”,“为了出色完成既定目标,我们必须心无旁骛,放弃所有无关紧要的心思和追求。 第三点同样重要,叫作“灌输”,其中心思想是人们对一个公司或产品的印象基于其对外传递的信号。 做事原则 ...

torchserve模型服务

optmization strategies

基本处理单元 Model对应内部是一个Handler,包含preProcessing,inference和postProcess三部分。 workflow是一个有向无环图,每个节点代表一个处理任务;上图显示整个流程包含前后处理以及三个模型节点。 models: #global model params min-workers: 1 max...

NVIDIA multi-process service

usage and internals

使用场景 减少多进程在GPU上的context switch开销 没有MPS,多进程任务在GPU上运行时,调度资源必须频繁的做切换;在MPS下,调度资源是可以共享的 提高GPU利用率 在MPS下,支持更高的并发 减少片上GPU的存储占用 在没有使用MPS时,单个进程运行在GPU上,GPU需要分配独立的存储和调度资源;使用M...

务实的哲学

程序员修炼之道

务实的哲学 人生是你的 对自己负责,积极主动把握机遇。如果你的技术过时了,安排时间去学习,不要等到火烧眉毛了,才临时抱佛脚。 我的源码被猫吃了 每天的工作内容,参与的决策,学习了解的东西,都是对自己负责。 除了积极参与工作外,你也必须分析超出你控制之外的风险情况。如果遇到问题,打算求助或解释,先自问这样解释可行么,这样解决不行,换个方式可行么。最好是给出我们的思考和选择。 软件的熵...

ONNXRuntime API

APi设计方法

近期的工作由于经常涉及到基于onnxruntime进行模型部署,本着学啥熟悉啥的习惯,上来第一件事就是浏览了它的API。onnxruntime API带给我最大的感觉是清晰,让开发者很难会去误用它的接口。 include/onnxruntime/core/session/onnxruntime_c_api.h开头的一段代码就展示了为API的输入和输出等制定的宏。 #define _Out...