惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
T
Threatpost
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threat Research - Cisco Blogs
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Know Your Adversary
Know Your Adversary
Scott Helme
Scott Helme
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
Latest news
Latest news
雷峰网
雷峰网
T
Tor Project blog
T
Tenable Blog
Spread Privacy
Spread Privacy
博客园 - 叶小钗
D
DataBreaches.Net
美团技术团队
A
Arctic Wolf
Project Zero
Project Zero
L
Lohrmann on Cybersecurity
The GitHub Blog
The GitHub Blog
博客园 - 司徒正美
Security Latest
Security Latest
D
Docker
月光博客
月光博客
C
Cyber Attacks, Cyber Crime and Cyber Security
S
Secure Thoughts
T
Troy Hunt's Blog
U
Unit 42
WordPress大学
WordPress大学
I
Intezer
Forbes - Security
Forbes - Security
Microsoft Azure Blog
Microsoft Azure Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
SecWiki News
SecWiki News
罗磊的独立博客
The Last Watchdog
The Last Watchdog
人人都是产品经理
人人都是产品经理
Y
Y Combinator Blog
aimingoo的专栏
aimingoo的专栏
B
Blog
博客园 - 【当耐特】
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Help Net Security
Help Net Security
S
Security @ Cisco Blogs
Microsoft Security Blog
Microsoft Security Blog
S
SegmentFault 最新的问题
The Cloudflare Blog
V
V2EX

Mox的笔记库

2026PPoPP MLIR Tutorial学习 | Mox的笔记库 MacOS配置《明日方舟:终末地》 | Mox的笔记库 2025:向内生长 | Mox的笔记库 由mlir::ExecutionEngine引发的跨系统问题 | Mox的笔记库 WSL2配置Cuda-Tile环境记录(未完待续) | Mox的笔记库 Vibe Coding手搓项目记录 | Mox的笔记库 给Debian上包——以DuckDB为例 | Mox的笔记库 UCPD.sys事件存档 | Mox的笔记库 换新电脑之Mac mini M4从购买到配置 | Mox的笔记库 RISC-V meets RDBMS——RISC-V架构上可运行数据库一览 | Mox的笔记库 DuckDB Sort实现调查 | Mox的笔记库 修复Redis在树莓派5上无法运行的问题 | Mox的笔记库 如何在MLIR中自定义类型并且输出运行 | Mox的笔记库 网站网络结构变更记录 | Mox的笔记库 EDBT25论文阅读:PhoebeDB——A Disk-Based RDBMS Kernel for High-Performance and Cost-Effective OLTP SIGMOD25论文阅读:BPF-DB:——A Kernel-Embedded Transactional Database Management System For eBPF Applications Apache Arrow Gandiva项目解析 | Mox的笔记库 VLDB24论文阅读:Cloud-Native Database Systems and Unikernels——Reimagining OS Abstractions for Modern Hardware NoisePage源码分析(未完待续) | Mox的笔记库 VLDB20论文阅读:Mainlining Databases——Supporting Fast Transactional Workloads on Universal Columnar Data File Formats VLDB17论文阅读:Relaxed Operator Fusion for In-Memory Databases:Making Compilation, Vectorization, and Prefetching Work Together At Last 论文阅读:How not to structure your database-backed web applications——a study of performance bugs in the wild SIGMOD24阅读:ROME——Robust Query Optimization via Parallel Multi-Plan Execution 文章阅读:First Past the Post-Evaluating Query Optimization in MongoDB SIGMOD文章阅读:Apache Calcite——A Foundational Framework for Optimized Query Processing Over Heterogeneous Data Sources VLDB23论文阅读:Analyzing the Impact of Cardinality Estimation on Execution Plans in Microsoft SQL Server SIGMOD22论文阅读:Efficient Massively Parallel Join Optimization for Large Queries VLDB论文阅读:Weaving Relations for Cache Performance VLDB22论文阅读:ConnectorX——Accelerating Data Loading From Databases to Dataframes 论文阅读:UniKraft-Fast, Specialized Unikernels the Easy Way 当DuckDB遇上RISC-V | Mox的笔记库 SIGMOD25论文阅读:An Elephant Under The Microscope——Analyzing The Interaction Of Optimizer Components In PostgreSQL 论文阅读:Compile-Time Analysis of Compiler Frameworks for Query Compilation VLDB23阅读:Bringing Compiling Databases to RISC Architectures SIGMOD24文章阅读:Query Compilation Without Regrets | Mox的笔记库 淦!MLIR输出Hello World不应该这么难! | Mox的笔记库 2024:拥挤年代的想象与创造 | Mox的笔记库 如何给自己的博客添加MLIR和LLVM IR语法高亮 | Mox的笔记库 博客重构:从Hexo到Astro | Mox的笔记库 VLDB19-Parsing Gigabytes of JSON per Second论文阅读 CIDR25:Runtime-Extensible Parsers阅读 | Mox的笔记库 SIGMOD24文章阅读:VeriTxn | Mox的笔记库 MLIR学习资料整理 | Mox的笔记库 VLDB23文章阅读——Exploiting Cloud Object Storage for High-Performance Analytics VLDB24——OLAP on Modern Chiplet-Based Processors走马观花阅读 如何让数据库中的Python跑的更快-VLDB22-YeSQL文章阅读 | Mox的笔记库 你好,世界! | Mox的笔记库 如何愉快的运行一个MLIR程序 | Mox的笔记库 让系统研究更有意义:HarmonyOS NEXT的教训和经验——讲座回顾 | Mox的笔记库 VLDB22:YeSQL文章阅读(已废弃) | Mox的笔记库 UNSW 24T3 COMP9336上课记录 | Mox的笔记库 Velox开发环境配置踩坑记录 | Mox的笔记库 LingoDB源码编译与分析 | Mox的笔记库 论文阅读:Declarative Sub-Operators for Universal Data Processing 论文阅读:Designing an Open Framework for Query Optimization and Compilation MLIR Toy Tutorial实践记录 | Mox的笔记库 2024年7月RSSHub开发体验 | Mox的笔记库 LLVM-Kaleidoscope实操踩坑记录 | Mox的笔记库 澳洲大学计算机硕士比较 | Mox的笔记库 论文阅读——CDUL:CLIP-Driven Unsupervised Learning for Multi-Label Image Classification CVPR2023-CLIP算法调研 | Mox的笔记库 论批量快速添加图片与视频水印的事 | Mox的笔记库 基于元信息写入的服务器压力测试 | Mox的笔记库 家庭组网IPv6+Mesh折腾 | Mox的笔记库 MjAyMw==,希望,前进与平庸之道 | Mox的笔记库 code-server初体验 | Mox的笔记库 从Nginx到Caddy | Mox的笔记库 RMM观察与初探 | Mox的笔记库 计算机网络课设——UDP/TCP/TLS Socket实验 | Mox的笔记库 JQuery的XSS初探 | Mox的笔记库 生产实习记录 | Mox的笔记库 Fedora-CoreOS配置与试用(2023年) | Mox的笔记库 Electron学习笔记 | Mox的笔记库 ServerSentEvent学习 | Mox的笔记库 报告翻译:容器云的安全挑战 | Mox的笔记库 Vagrant配置Metarget靶场环境 | Mox的笔记库 OpenAI-whisper折腾 | Mox的笔记库 202202,困惑,混乱与未曾设想之路 | Mox的笔记库 2022年Hack the box:Tier1免费区全解 | Mox的笔记库 Navidrome部署记录 | Mox的笔记库 长安杯2021-snake复现 | Mox的笔记库 报告概要翻译:OBFUSCATING C++ PROGRAMS VIA CONTROL FLOW FLATTENING 从零开始的Django CVE-2022-28346复现 | Mox的笔记库 2022CISCN(西北区赛)-The shinning | Mox的笔记库 Docker+QEMU+Arm64(Ubuntu)+环境配置(2022版) | Mox的笔记库 Arch Linux运行树莓派系统(2022年) | Mox的笔记库 2022CISCN初赛-ez_usb-复盘WriteUp | Mox的笔记库 Arch Linux迁移计划 | Mox的笔记库 Django事务使用 | Mox的笔记库 记录第一次EduSRC上报 | Mox的笔记库 Jetbrain问题应急处理 | Mox的笔记库 Celery5.2学习&配置 | Mox的笔记库 Waline部署记录 | Mox的笔记库 Frida hook初次实战 | Mox的笔记库 NodeMCU-MicroPython配置实录 | Mox的笔记库 Log4j2漏洞复现 | Mox的笔记库 2022长安“战疫”网络安全卫士守护赛回顾 | Mox的笔记库 2021年12月 Vivo千镜杯回顾 | Mox的笔记库 Windows的WSL2+Docker初探 | Mox的笔记库 Hexo部署安装全流程回顾 | Mox的笔记库
Mac配置MLX-C开发环境 | Mox的笔记库
MocusEZ · 2025-11-30 · via Mox的笔记库

Apple的MLX是一个用于机器学习的推理框架,其最大的特点是能是用Apple的统一内存进行LLM推理。想到明年可能做AI编译器的相关工作,而手边有一台学校发的M3 Macbook Air,就想着尝鲜试下

环境配置

MLX手册给的是使用Python安装,这很明显不是我想要的,看了下HomeBrew有收入,那就直接HomeBrew安装

但这个环境只能运行Python和C++版本的MLX,想要运行C版本的MLX,需要拉取Git,手动配置CMake手动安装(也许后面可以试试以后把MLX-C打包上传HomeBrew?)

实测安装mlx-c后,可以不安装mlx

git clone https://github.com/ml-explore/mlx-c

配置CMake和Ninja(这里使用XCode自带的Clang)

mkdir build && cd build

cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release

sudo ninja install

但我在编译的时候出现报错,告诉我找不到Metal API,网上找资料被告知需要去AppStore安装完整版XCode,完成第一次运行后才能使用

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

sudo xcodebuild -license accept

sudo xcodebuild -runFirstLaunch

在安装完XCode以后,还需要再安装MetalToolchain才行

xcodebuild -downloadComponent MetalToolchain

CMake项目环境配置

CMAKE_PREFIX_PATH里把编译好的MLX-C给加上(如果使用XCode的Clang似乎可以忽略这条)

cmake .. -G Ninja -DCMAKE_PREFIX_PATH="$(brew --prefix mlx);/usr/local"

相对应的CMakeLists.txt加上对应的find_package

find_package(MLX CONFIG REQUIRED)

find_package(MLXC CONFIG REQUIRED)

测试程序

完整的CMakeLists.txt

cmake_minimum_required(VERSION 3.10.0)

project(test-mlx VERSION 0.1.0 LANGUAGES C CXX)

find_package(MLX CONFIG REQUIRED)

find_package(MLXC CONFIG REQUIRED)

add_executable(test-mlx test.c)

target_link_libraries(test-mlx PRIVATE mlxc)

测试代码

#include <stdio.h>

#include <mlx/c/mlx.h>

void print_array(const char* msg, mlx_array arr) {

mlx_string str = mlx_string_new();

mlx_array_tostring(&str, arr);

printf("%s\n%s\n", msg, mlx_string_data(str));

mlx_string_free(str);

}

int main() {

// 打印 MLX 版本

mlx_string version = mlx_string_new();

mlx_version(&version);

printf("MLX C API 版本: %s\n\n", mlx_string_data(version));

// 获取默认 GPU stream

mlx_stream stream = mlx_default_gpu_stream_new();

// 创建浮点数数组

float data_a[] = {1.0f, 2.0f, 3.0f, 4.0f};

float data_b[] = {5.0f, 6.0f, 7.0f, 8.0f};

int shape[] = {4};

// 创建 MLX 数组

mlx_array a = mlx_array_new_data(data_a, shape, 1, MLX_FLOAT32);

mlx_array b = mlx_array_new_data(data_b, shape, 1, MLX_FLOAT32);

mlx_array c = mlx_array_new();

// 执行加法运算

mlx_add(&c, a, b, stream);

print_array("a + b =", c);

// 矩阵运算示例

int shape_2d[] = {2, 2};

mlx_array x = mlx_array_new();

mlx_array y = mlx_array_new();

mlx_array z = mlx_array_new();

mlx_reshape(&x, a, shape_2d, 2, stream);

mlx_reshape(&y, b, shape_2d, 2, stream);

mlx_matmul(&z, x, y, stream);

print_array("矩阵乘法结果:", z);

// 释放资源

mlx_array_free(a);

mlx_array_free(b);

mlx_array_free(c);

mlx_array_free(x);

mlx_array_free(y);

mlx_array_free(z);

mlx_stream_free(stream);

mlx_string_free(version);

return 0;

}


avatar

探索未曾设想的道路