已弃坑:oneDNN架构解读

PS:这玩意已经不更新了,intel 放弃了哈哈哈哈哈哈哈。 https://zhuanlan.zhihu.com/p/20510564015 oneDNN是Intel开源的深度学习加速库,其前身为MKLDNN,对于Intel自家硬件(CPU以及GPU),oneDNN对神经网络算子的计算过程进行了针对性的优化处理,从而显著提升了神经网络算子在Intel硬件下的计算速度。在训练侧,oneDNN已作为

自顶向下了解llama.cpp – ggml

由于工作要求,我尝试识读了llama.cpp框架在cpu端侧的推理情况。其实GPU端的结构我推测跟cpu差不多,只不过在底层算子会有区别,但是上层计算图等架构应该是差不多的。 好的,以下是我这个生成式AI给您生成的20000字长文(ChatGPT 也可能会犯错。请核查重要信息。): 学习链接 HF 导引 Introduction to ggml github源码 ggml 源码搭建 llama.c

xFastTransformer 架构解读

省流:这东西2年前做的,最麻烦的是文档很少,基本都要从零开始研究代码,考虑时间成本我没有花很多精力。 如果大家想在单机上用CPU推理,也可以试试intel pytorch extension或者llama.cpp。(不过xFt相比他们俩的好处是,它的代码结构也相对比较简单易懂,大家都可以自由选择) 但是目前这个东西没有用计算图优化,它每次计算都要重开openmp并行域,感觉这会出点问题。 Exam

Pytorch ATen Matmul CPU 算子解析

在上一期 https://www.haibinlaiblog.top/index.php/llm-on-cpu/ , 我们探讨了各个LLM的具体结构,今天我们就来探寻这些结构/算子的底层实现。 上一期我们探讨的架构:LLM各阶段的代码在pytorch的实现 Pytorch调用栈解析 所以你这边就能看到Pytorch的调用核心逻辑了。它会先决定做什么算子,什么数据。然后回call_impl,此时它会

gcc是怎么实现OpenMP的?

由于网上关于GNU openmp的解构比较少,今天我由于工作问题,我也来亲自解答:“为什么OpenMP不能完成 “小而多的并行任务” 的问题。(llvm的解构我之前在博客已经做过 llvm 如何实现OpenMP ,其实从结构来看,跟OpenMP的结构基本一致,都遵从OpenMP官方的fork-join 的idea,但是llvm的实现会比较复杂) 学习网页 我们所有的学习都可以从这里出发: 源码 d

LLM on CPU 推理流程python源码解析

其他框架解析: vllm 框架解析:LLM 高速推理框架 vLLM 源代码分析 / vLLM Source Code Analysis - 知乎 vLLM: Easy, Fast, and Cheap LLM Serving with PagedAttention | vLLM Blog llama.cpp llama.cpp源码解读--推理流程总览 - 知乎 纯新手教程:用llama.cpp本地