Home

从零实现MLX量化矩阵乘法扩展

MLX是苹果公司发布的一个专为Apple Silicon设计的机器学习框架。与PyTorch、JAX类似,MLX提供了类似NumPy的API,支持自动微分,但其独特之处在于针对苹果M系列芯片进行了深度优化。MLX能够充分利用M芯片的统一内存架构,让CPU和GPU无缝共享内存,避免了传统架构中昂贵的内存拷贝开销。Metal是苹果的低级GPU编程接口,类似于CUDA之于NVIDIA或OpenCL之于通用GPU计算。Metal允许开发者直接访问Apple Silicon的GPU资源,编写高性能的并行计算代码。在MLX中,许多计算密集型操作(如矩阵乘法、卷积等)都通过Metal内核实现,以获得最佳性能。 量化则是大语言模型部署中的关键技术,通过将模型权重从FP16/FP32精度降低到INT4...

Read more

分别基于jvp和vjp实现正向微分和反向微分

在PyTorch、JAX、MLX乃至其他现代深度学习框架中,VJP(向量-雅可比乘积)和JVP(雅可比-向量乘积)是实现自动微分的核心机制。最近在学习一些关于敏感度分析,了解到了相关的知识。这里记录一下这两个概念,以及它们是如何驱动“自动求导”过程的。 基本定义 不失去一般性,对于一个函数 \[y=f(x),\ x \in \mathbb{R}^n, y \in \mathbb{R}^m\] 它的雅可比矩阵是: \[J_f = \frac{\partial f}{\partial x} \in \mathbb{R}^{m \times n}\] JVP:Jacobian-Vector Product(正向微分)的定义是,给定一个向量\(v \in \mathbb{R}^n\...

Read more

『论文简读』RePlAce: Advancing Solution Quality and Routability Validation in Global Placement

写在前面 RePlAce 是 2019 年发表在 TCAD 的一篇论文,这篇论文作者之一是 VLSI CAD 界内著名的Andrew B. Kahng教授,并且现在已经集成到开源芯片设计工具 OpenROAD 中。 标题:RePlAce: Advancing Solution Quality and Routability Validation in Global Placement 作者:Chung-Kuan Cheng, Andrew B. Kahng, Ilgweon Kang, and Lutong Wang 机构:UCSD 发表会议:TCAD 2019 链接:https://ieeexplore.ieee.org/document/8418790 代码:http...

Read more

Poission In Dreamplace

#!https://zhuanlan.zhihu.com/p/579688074 讨论DREAMPlace中的静电场求解算法 由于知乎上部分markdown语法转化过程出现了错误,本文中的部分公式和引用可能无法正常显示,建议在Magic Mai’s Blog: 讨论DREAMPlace中的静电场求解算法上阅读。 问题描述 在DREAMPlace (Yibo Lin, DAC’19)这篇文章中,作者将器件近似类比为带电体,建立了静电场模型作为器件的密度模型,并使用了谱方法来求解静电场。当前,基于静电场系统的全局布局算法在学术界布局算法中获得了SOTA的性能和效率,其中关于如何高效计算静电场的电场强度和电势能在论文里面只是进行了简单的描述。最近组里来的本科实习生在研究这方面...

Read more

BlockChain ETH

ETH vs. BTC   ETH BTC 出块速度 ~15s ~10min 共识机制 GHOST 最长合法链 证明方式 工作量证明(Proof of Work) → (正在逐步转向) 权益证明(Proof of Stake) 工作量证明 挖矿设备 高内存(专门这么设计, 尽量不使用专用矿机) 高计算量(适合ASIC) 账户 account-based l...

Read more

BlockChain BTC

最近被同学蛊惑了区块链, 于是看一些关于北京大学肖臻老师的《区块链技术与应用》这门课. 肖老师讲得挺好, 这里记录一些BTC部分的笔记, 如果感觉笔记格式笔记乱的话可以看原版notion的笔记. BTC协议 挖矿实际在做的, 找到一个noise, 使得$Hash(block\ header, noise) \leq threshold$. 哈希指针 (Hash Pointer):除了指明存储位置,还对存储内容进行加密,保证内容没有被篡改. 「例」区块链是使用哈希指针链接的. 对于单个节点而言, 我们可以只保留最近的若干个区块和tail哈希指针; 这样当我们问其他节点要前面的区块, 可以防止其他人篡改. ...

Read more

A Guide to Homomorphic Encryption Library SEAL

A Guide to Homomorphic Encryption Library SEAL Resource Intro to Homomorphic Encryption, Credit to Microsoft Research Overview Number of message slots: $N$ in BFV, $\frac{N}{2}$ in CKKS(in later section) The more message slots you have, the more parallelism you could achieved!!! BFV Algorithm Polynomials BFV ...

Read more