内容提要
本文介绍了编写算法的基础工具和PostgreSQL插件,依赖BLAS、LAPACK和GGML库。作者在MacOS上使用Homebrew安装开发工具和组件库,使用Clion作为主要编程工具,并介绍了GGML库的安装过程。
延伸解读
为何选择 meson 而非 CMake
文章提到 PostgreSQL 官方使用 meson 作为构建系统,作者为了后续研究 PostgreSQL 内核,选择 meson 而非更主流的 CMake。这提示读者:如果项目需要与 PostgreSQL 生态集成,或计划深入其内核,熟悉 meson 可能比 CMake 更有长期价值。同时,meson 依赖 ninja 作为下级工具,安装时需一并准备。
GGML 的工程化现状与使用注意
GGML 是 LLAMA.cpp 的核心算法库,但文章指出其工程化不完善:缺少文档、没有独立发行版本,甚至 pkg-config 文件中的版本号写为 0.0.0。这意味着直接依赖系统包管理安装 GGML 可能不可行,需要从源码编译。作者提供的编译步骤(mkdir build、cmake ..、make、make install)可作为参考,但需留意其版本管理混乱可能带来的兼容性问题。
MacOS 开发环境的特殊配置
作者在 M3 芯片的 MacBook 上开发,强调需确认系统使用 Xcode 而非 xcode-commandline,因为两者的库搜索路径不同,这可能在编译如 llama.cpp 移植库时导致找不到头文件。此外,BLAS 和 LAPACK 虽有系统内置版本,但连编时可能找不到头文件,建议通过 Homebrew 安装。这些细节提醒 MacOS 用户注意开发工具链的路径一致性。
Q&A
Tensor Dancer项目使用了哪些基础工具和库?
Tensor Dancer项目主要依赖BLAS、LAPACK和GGML库。
如何在MacOS上安装Homebrew?
可以通过命令/bin/bash -c " $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"来安装Homebrew。
GGML库的主要特点是什么?
GGML是一个高性能张量计算库,使用C语言开发,支持多种硬件加速,是LLAMA.cpp的核心算法库。
在MacOS上推荐使用哪个终端替代品?
建议使用iTerm2替代MacOS内置的终端。
为什么选择使用meson进行项目构建?
选择meson是为了熟悉这个工具,以便后续对PostgreSQL的内核进行研究。
如何编译和安装GGML库?
在项目目录中执行mkdir build,cmd build cmake ..,然后运行make和make install即可安装GGML库。