We ran every cumulative prefix of the LLVM -O3 pipeline on 30 PolyBench/C kernels (84,750 measurements). The pipeline is non-monotone, back-loaded, and -O3 is Pareto-dominated in 29/30 benchmarks. A per-pass look at runtime, binary size, hardware counters, and energy.
A post to manually lowering MLIR code to AArch64 executables with Arm SME support. Covers the complete pipeline from MLIR optimization to native compilation, including lowering to LLVM dialect, LLVM-IR translation, assembly generation, and linking. Includes practical commands and one-shot solutions for execution.
Empirical study of MLIR optimization passes on Apple M4 Pro using native AoT binaries. Five research questions on tiling, lowering paths, loop fusion, cross-kernel behavior, and the gap to Apple Accelerate/AMX. Includes a roofline analysis with IREE.
A drop-in replacement for the standard article class with callout boxes, theorem-like environments, named inline comments, compact numeric citations, optional line numbers, and a matching Beamer theme — all with Libertine and Inconsolata typography.
The website now has an RSS feed that gathers posts, scientific publications, preprints, and activities into one chronological stream. Subscribe with your favourite reader at /feed.xml.
The third post of the Eter programming language series. A friendly tour of the type-theoretic landscape behind memory safety. Starting from the logical roots of substructural logic, it walks through linear, affine, and uniqueness types, then visits regions, effects, capabilities, typestate, and the latest work on reachability and separation types.
The second post of the Eter programming language series. It explores the trade-offs between Mutable Value Semantics and Ownership & Borrowing, examining friction points in Rust, Hylo, and Swift while searching for common ground between the two memory models.
The first post of the Eter programming language series. While this post is part of the series, it is not a part of the Eter language itself. The post is a non-superficial study on the MVS, trying to understand its limitations.
A discussion on idiomatic Rust patterns for consuming input only when a function successfully returns a value. This explores ownership semantics and how to write clean, expressive APIs in Rust.
An in-depth exploration of open source licenses, covering their legal implications, the differences between permissive and copyleft licenses, and practical guidance for choosing the right license for your project.
A practical exploration of building a lexical analyzer in Rust using finite state automata. We cover DFA/NFA theory and show how to implement an efficient lexer from scratch.