RSSAmplifier

Blog

Steve Scargall

Recent content on Steve Scargall

stevescargall.comRSS feed ↗111 posts

Latest posts

Linux 7.2 Seeds "Blackwell-Next": A Deep Dive into the nvgrace-gpu VFIO CXL DVSEC Change

Linux 7.2’s VFIO pull request dropped a commit with a codename I hadn’t seen before: Blackwell-Next . A Phoronix post brought this to my attention - Linux 7.2 Begins Making Preparations For NVIDIA “Blackwell-Next” - which, on the face of it looks like a minor prep patch. It is — but it’s also a clean window into where NVIDIA is taking its CPU-coherent GPU stack, how…

Linux Kernel v7.1 is Released: This is What's New for Compute Express Link (CXL)

The Linux Kernel v7.1 release brings several improvements and additions related to Compute Express Link (CXL) technology. Release Highlights Linux Kernel v7.1 includes 47 commits to the CXL and DAX subsystems: Category Commits New Features & Hardware 1 Bug Fixes 5 Refactoring & Cleanup 5 Testing 1 Other 35 The v7.1 CXL/DAX cycle is defined by three interlocking themes: laying the groundwork for…

Graphify + MemMachine: 79× Token Reduction, Zero Vector Database

I help maintain MemMachine — an open-source long-term memory layer for AI agents. It’s a real codebase: 442 source files, 171 docs, a graph database, a SQL store, an MCP server, a REST API, a Python SDK, and integrations with eight different agent frameworks. When a new contributor asks “where does episodic memory actually get written?”, grep, the tool of choice for many AI…

Is Thinking Mode Affecting Your Agentic Workflows?

I jumped on the trend of running local LLMs and agents and was having a lot of fun until my agents kept failing, timing out, and just stopping without any obvious reason. I tried PaperClip + ZeroClaw, PaperClip + Hermes-Agent, and Hermes-Agent + Hermes-Workspace with Qwen 3.6 and Gemma 4 models (various sizes and quantization levels). All of them failed in the same way at some point in the…

How To Run ZeroClaw in Docker with local LLMs (Qwen3 on an NVIDIA DGX Spark)

ZeroClaw is an open-source agent runtime. By default it expects a frontier model API key such as Claude, OpenAI, etc. This guide shows how to use a local Qwen3.6 model served by vLLM on an NVIDIA DGX Spark, routed through LiteLLM , with ZeroClaw and Firecrawl running in Docker on a separate host. It also documents the onboarding bug I hit on a fresh install in v0.7.4 — ZeroClaw issue #6123 — and…

Run Free LLMs at Scale: LiteLLM Gateway with Groq, NVIDIA NIM, OpenRouter, and Local vLLM

Introduction Running large language models is increasingly affordable — but “affordable” rarely means “free, all the time, for every request.” Cloud providers each come with their own rate limits, daily quotas, and occasional model deprecations. Local hardware is fast and private, but not always available (DGX Spark powered down, model being updated, VRAM needed elsewhere).…

vLLM Recipe: RedHatAI/Qwen3.6-35B-A3B-NVFP4 on DGX Spark

This is a vLLM Recipe - a production-ready Docker Compose configuration for running open-weight models on local hardware. It documents the exact setup, configuration rationale, and benchmark results so you can get a model running quickly. You are welcome to change the parameters to suit your workloads. This worked for me, so I hope you find it helpful. This recipe covers Qwen3.6-35B-A3B-NVFP4 - a…

Self-Hosting Firecrawl on Ubuntu 25.04 with Docker Compose

Modern AI agents — Claude Code, Codex, OpenClaw, Hermes-Agent, and custom LangChain pipelines — need a way to read the web. Not raw HTML full of navigation debris, cookie banners, and JavaScript noise, but clean structured text that a language model can actually reason about. Firecrawl is the missing piece: an open-source web scraping and crawling API that fetches any URL and returns clean…

Building an Agentic Team for an Open Source Project with Claude Code

A core engineer on MemMachine — the one who owned the Semantic Memory subsystem — left the project. The codebase didn’t grow any less complex overnight, but the human attention available to maintain it did. That’s a familiar shape of problem in any open source project, and it’s the exact shape where a well-designed Claude Code agent team earns its keep. This post documents what I…

Linux Kernel v7.0 is Released: This is What's New for Compute Express Link (CXL)

The Linux Kernel v7.0 release brings several improvements and additions related to Compute Express Link (CXL) technology. Release Highlights Linux Kernel v7.0 includes 73 commits to the CXL and DAX subsystems: Category Commits New Features & Hardware 3 Bug Fixes 11 Refactoring & Cleanup 9 Testing 2 Other 48 Linux v7.0 brings focused but meaningful progress to the CXL/DAX subsystem, with the…

Using the API to Find Free Hosted Models on NVIDIA Builder

The NVIDIA Developer Program provides access to a wide catalog of AI models through NVIDIA Inference Microservices (NIM), offering an OpenAI-compatible API. You can browse and discover available models at build.nvidia.com/explore/discover . If you want to find models with free hosted endpoints in the browser, you can enable the “Free Endpoint” filter on the model catalog page. But what…

Linux Kernel v6.19 is Released: This is What's New for Compute Express Link (CXL)

The Linux Kernel v6.19 release brings several improvements and additions related to Compute Express Link (CXL) technology. Release Highlights Linux Kernel v6.19 includes 31 commits to the CXL and DAX subsystems: Category Commits New Features & Hardware 1 Bug Fixes 4 Refactoring & Cleanup 5 Testing 1 Documentation 2 Other 18 Linux v6.19 is a measured release for the CXL/DAX subsystem — 31 commits…

Reflections and What's Next: Lessons from Building lib3mf-rs

Series: Building lib3mf-rs This post is part of a 5-part series on building a comprehensive 3MF library in Rust: Part 1: My Journey Building a 3MF Native Rust Library from Scratch Part 2: The Library Landscape - Why Build Another One? Part 3: Into the 3MF Specification Wilderness - Reading 1000+ Pages of Specifications Part 4: Design for Developers - Features, Flags, and the CLI Part 5:…

Design for Developers: Features, Flags, and the CLI

Series: Building lib3mf-rs This post is part of a 5-part series on building a comprehensive 3MF library in Rust: Part 1: My Journey Building a 3MF Native Rust Library from Scratch Part 2: The Library Landscape - Why Build Another One? Part 3: Into the 3MF Specification Wilderness - Reading 1000+ Pages of Specifications Part 4: Design for Developers - Features, Flags, and the CLI Part 5:…

Into the 3MF Specification Wilderness: Reading 1000+ Pages of Specifications

Series: Building lib3mf-rs This post is part of a 5-part series on building a comprehensive 3MF library in Rust: Part 1: My Journey Building a 3MF Native Rust Library from Scratch Part 2: The Library Landscape - Why Build Another One? Part 3: Into the 3MF Specification Wilderness - Reading 1000+ Pages of Specifications Part 4: Design for Developers - Features, Flags, and the CLI Part 5:…

The Library Landscape: Why Build Another One?

Series: Building lib3mf-rs This post is part of a 5-part series on building a comprehensive 3MF library in Rust: Part 1: My Journey Building a 3MF Native Rust Library from Scratch Part 2: The Library Landscape - Why Build Another One? Part 3: Into the 3MF Specification Wilderness - Reading 1000+ Pages of Specifications Part 4: Design for Developers - Features, Flags, and the CLI Part 5:…

My Journey Building a 3MF Native Rust Library from Scratch

For the past few years, I’ve been getting more and more into 3D printing as a hobbyist. Like everyone, I started with one, a Bambu Lab X1 Carbon, which has now grown to three printers. I find the hobby fascinating as it entangles software, firmware, hardware, physics, and materials science. As a software engineer, I’m naturally drawn to the software side of things (Slicer and…

Linux Kernel v6.18 is Released: This is What's New for Compute Express Link (CXL)

The Linux Kernel v6.18 release brings several improvements and additions related to Compute Express Link (CXL) technology. Release Highlights Linux Kernel v6.18 includes 32 commits to the CXL and DAX subsystems: Category Commits New Features & Hardware 1 Bug Fixes 4 Refactoring & Cleanup 5 Testing 2 Other 20 The v6.18 kernel cycle for CXL/DAX is defined by two architectural threads running in…

I Added a Feature to OrcaSlicer to Show Travel Distance and Moves

OrcaSlicer is a powerful and popular slicer for 3D printers, known for its rich feature set and active development community. In this blog post, we’ll take a closer look at a new feature I proposed and implemented that provides more insight into your prints: the display of total travel distance and the number of travel moves. See the feat: Display travel distance and move count in G-code…

How to Build OrcaSlicer from Source on macOS 15 Sequoia - A Step-by-Step Guide

Building OrcaSlicer from source on macOS 15 (15.6.1 Sequoia) can be straightforward, but recent changes in macOS, Xcode, and CMake require some extra care. This guide updates the official instructions with important tips and fixes from this GitHub issue to avoid common build issues. For this article, we will be using this build system: Apple MacBook Pro M1 (Apple Silicon) macOS 15.6.1 (Sequoia)…

Linux Kernel v6.17 is Released: This is What's New for Compute Express Link (CXL)

The Linux Kernel v6.17 release brings several improvements and additions related to Compute Express Link (CXL) technology. Release Highlights Linux Kernel v6.17 includes 32 commits to the CXL and DAX subsystems: Category Commits New Features & Hardware 1 Bug Fixes 6 Refactoring & Cleanup 3 Other 22 The v6.17 cycle for CXL and DAX is a consolidation release rather than a feature-heavy one, with 32…

How to Build acpidump from Source and use it to Debug Complex CXL and PCI Issues

This article is a detailed guide on how to build the latest version of the acpidump tool from its source code. While many Linux distributions, like Ubuntu, offer a packaged version of this utility, it’s often outdated. For developers and enthusiasts working with modern hardware features, particularly those related to Compute Express Link (CXL), having the most current version is essential.…

Linux Kernel v6.16 is Released: This is What's New for Compute Express Link (CXL)

The Linux Kernel v6.16 release brings several improvements and additions related to Compute Express Link (CXL) technology. Release Highlights Linux Kernel v6.16 includes 37 commits to the CXL and DAX subsystems: Category Commits New Features & Hardware 2 Bug Fixes 6 Refactoring & Cleanup 8 Documentation 3 Other 18 The Linux v6.16 kernel cycle is dominated by one clear theme: hardening CXL memory…

Is Your Application Really Using Persistent Memory? Here’s How to Tell.

Persistent memory (PMEM), especially when accessed via technologies like CXL, promises the best of both worlds: DRAM-like speed with the durability of an SSD. When you set up a filesystem like XFS or EXT4 in FSDAX (File System Direct Access) mode on a PMEM device, you’re paving a superhighway for your applications, allowing them to map files directly into their address space and bypass the…

How to Confirm Virtual to Physical Memory Mappings for PMem and FSDAX Files

Are you curious whether your application’s memory-mapped files are really using Intel Optane Persistent Memory (PMem), Compute Express Link (CXL) Non-Volatile Memory Modules (NV-CMM), or another DAX-enabled persistent memory device? Want to understand how virtual memory maps onto physical, non-volatile regions? Let’s use easily adaptable scripts in both Python and C to confirm this on your…

CXL Memory NUMA Node Mapping with Sub-NUMA Clustering (SNC) on Linux

CXL (Compute Express Link) memory devices are revolutionizing server architectures, but they also introduce new NUMA complexity, especially when advanced memory configurations, such as Sub-NUMA Clustering (SNC), are enabled. One of the most confusing issues is the mismatch between NUMA node numbers reported by CXL sysfs attributes and those used by Linux memory management tools. This blog post…

CXL Device & Fabric Buyer's Guide: A List of GA Components

Last Updated: June 2, 2026 This guide provides a curated list of generally available (GA) Compute Express Link (CXL) devices, fabric components, and memory appliances. It is a technical resource for engineers, architects, and hardware specialists looking to identify and compare CXL memory expansion modules, switches, and full system-level appliances from leading vendors. The tables below detail…

CXL Server Buyer's Guide: A Complete List of GA Platforms

Last Updated: June 2, 2026 This quick-reference guide provides a definitive, up-to-date list of generally available (GA) Compute Express Link (CXL) servers from major OEMs including Dell, HPE, Lenovo, and Supermicro. It is designed for data center architects, engineers, and IT decision-makers who need to identify and compare server platforms that support CXL 1.1 and CXL 2.0 for memory expansion…

Your Personal Codespace: Self-Host VS Code on Any Server

GitHub Codespaces and other cloud IDEs have revolutionized development, offering a complete VS Code environment that runs on a remote server and is accessible from any browser. It’s a game-changer for productivity and flexibility. But what if you could have that same powerful, seamless experience on your own terms? This guide will show you how to build your very own private Codespace,…

Unlock Your CXL Memory: How to Switch from NUMA (System-RAM) to Direct Access (DAX) Mode

As a Linux System Administrator working with Compute Express Link (CXL) memory devices, you should be aware that as of Linux Kernel 6.3, Type 3 CXL.mem devices are now automatically brought online as memory-only NUMA nodes. While this can be beneficial for most situations, it might not be ideal if your application is designed to directly manage the CXL memory as a DAX (Direct Access) device using…

Linux Kernel v6.15 is Released: This is What's New for Compute Express Link (CXL)

The Linux Kernel v6.15 release brings several improvements and additions related to Compute Express Link (CXL) technology. Release Highlights Linux Kernel v6.15 includes 55 commits to the CXL and DAX subsystems: Category Commits New Features & Hardware 6 Bug Fixes 4 Performance 1 Refactoring & Cleanup 9 Other 35 The Linux v6.15 kernel marks a meaningful expansion of CXL’s userspace interface…

Fastfetch: The Speedy Successor Neofetch Replacement Your Ubuntu Terminal Needs

If you love customizing your Linux terminal and getting a quick, visually appealing overview of your system specs, you might have used neofetch in the past. However, neofetch is now deprecated and no longer actively maintained . A fantastic, actively maintained alternative is Fastfetch – known for its speed, extensive customization options, and feature set. While you might be able to install…

How I Created a Custom ChatGPT Trained on the CXL Specification Documents

If you’re working with Compute Express Link (CXL) and wish you had an AI assistant trained on all the different versions of the specification—1.0, 1.1, 2.0, 3.0, 3.1… you’re in luck. Whether you’re a CXL device vendor, a firmware engineer, a Linux Kernel developer, a memory subsystem architect, a hardware validation engineer, or even an application developer working on CXL…

I Turned Myself Into an Action Figure

Part of being in tech, especially in emerging memory technology, is constantly switching between the serious and the surreal. One day you’re in kernel debug mode, the next you’re explaining complex system architectures on a whiteboard, and then suddenly you’re jumping on the latest craze such as making yourself into an action figure. It’s fun. It’s human. And honestly? It’s a…

Linux Kernel 6.14 is Released: This is What's New for Compute Express Link (CXL)

The Linux Kernel 6.14 release brings several improvements and additions related to Compute Express Link (CXL) technology. CXL related changes from Kernel v6.13 to v6.14 Here is the detailed list of all commits merged into the 6.14 Kernel for CXL and DAX. This list was generated by the Linux Kernel CXL Feature Tracker . Merge tag ‘cxl-for-6.14’ of…

Linux Kernel v6.14 is Released: This is What's New for Compute Express Link (CXL)

The Linux Kernel v6.14 release brings several improvements and additions related to Compute Express Link (CXL) technology. Release Highlights Linux Kernel v6.14 includes 13 commits to the CXL and DAX subsystems: Category Commits Bug Fixes 1 Refactoring & Cleanup 2 Other 10 The dominant story in v6.14’s CXL changes is alignment with CXL specification revision 3.1 in the event subsystem. Five…

Building NDCTL Utilities from Source: A Comprehensive Guide

Building NDCTL with Meson on Ubuntu 24.04 The NDCTL package includes the cxl , daxctl , and ndctl utilities. It uses the Meson build system for streamlined compilation. This guide reflects the modern build process for managing NVDIMMs, CXL, and PMEM on Ubuntu 24.04. If you do not install a more recent Kernel than the one provided by the distro, then it is not recommended to compile these utilities…

Linux Kernel 6.13 is Released: This is What's New for Compute Express Link (CXL)

The Linux Kernel 6.13 release brings several improvements and additions related to Compute Express Link (CXL) technology. CXL related changes from Kernel v6.12 to v6.13: Here is the detailed list of all commits merged into the 6.13 Kernel for CXL and DAX. This list was generated by the Linux Kernel CXL Feature Tracker . CXL related changes from Kernel v6.12 to v6.13: cxl/region: Fix region…

Understanding STREAM: Benchmarking Memory Bandwidth for DRAM and CXL

In today’s Artificial Intelligence (AI), Machine Learning (ML), and high-performance computing (HPC) landscape, memory bandwidth is a critical factor in determining overall system performance. As workloads grow increasingly data-intensive, traditional DRAM-only setups are often insufficient, prompting the rise of new memory expansion technologies like Compute Express Link (CXL) . To evaluate…

A Step-by-Step Guide on Using Cloud Images with QEMU 9 on Ubuntu 24.04

Introduction Cloud images are pre-configured, optimized templates of operating systems designed specifically for cloud and virtualized environments. Cloud images are essentially vanilla operating system installations, such as Ubuntu, with the addition of the cloud-init package. This package enables run-time configuration of the OS through user data, such as text files on an ISO filesystem or cloud…

Remote Development Using VS Code and SSH with AWS EC2

How to Perform Remote Code Development Using VS Code on a Remote AWS EC2 Instance via SSH Remote development has become a crucial tool for developers, enabling the convenience of coding and deploying directly to remote environments. In this blog, I’ll walk you through the process of setting up Visual Studio Code (VS Code) to develop remotely on an AWS EC2 instance using SSH . By the end of this…

How Much RAM Could a Vector Database Use If a Vector Database Could Use RAM

Featured image generated by ChatGPT 4o model: “a low poly woodchuck by a serene lake, surrounded by mountains and a forest with tree leaves made from DDR memory modules. The woodchuck is munching on a memory DIMM. The only memory DIMM in the image should be the one being eaten.” How Much RAM Could a Vector Database Use If a Vector Database Could Use RAM? Although the title is a punn…

Understanding Memory Usage with `smem`

Memory management is crucial for Linux administrators and developers, especially when optimizing performance for resource-intensive applications. While tools like top and htop are commonly used to monitor system performance, they often don’t provide enough detail regarding memory usage breakdown. This is where smem comes into play. What is smem ? smem is a command-line tool that reports…

Benchmarking GPUs: Measuring Throughput between CPU and GPU

This article was inspired by a LinkedIn post by Dennis Kennetz . The CPU to GPU bandwidth check is available on GitHub which uses a specific flow to assess the data transfer rates. Like many in the industry, my focus is on AI and ML workloads and how we can improve efficiencies and performance using DRAM, CXL, CPU, GPUs, and software improvements. In the rapidly evolving landscape of artificial…

50 Generative AI Prompts I use as a Product Manager to Improve Efficiency and Product Quality

As a product manager, the success of our products depends on our ability to make informed, strategic decisions quickly and efficiently. In the fast-paced world of the IT industry, it’s crucial to stay ahead of trends, understand our customers deeply, and align our product development with our business goals. This is where generative AI and a well-crafted set of prompts have become invaluable tools…

Linux Kernel 6.10 is Released: This is What's New for Compute Express Link (CXL)

The Linux Kernel 6.10 release brings several improvements and additions related to Compute Express Link (CXL) technology. CXL related changes from Kernel v6.9 to v6.10: Here is the detailed list of all commits merged into the 6.10 Kernel for CXL and DAX. This list was generated by the Linux Kernel CXL Feature Tracker . cxl: documentation: add missing files to cxl driver-api cxl/region: check…

Linux Kernel 6.9 is Released: This is What's New for Compute Express Link (CXL)

The Linux Kernel 6.9 release brings several improvements and additions related to Compute Express Link (CXL) technology. New Features Here is a list of new features for CXL: CXL Quality of Service (QOS) for NUMA Weighted Interleave for NUMA nodes CXL related changes from Kernel v6.8 to v6.9: Here is the detailed list of all commits merged into the 6.9 Kernel for CXL and DAX. This list was…

Linux Kernel CXL Feature Tracker

I’m always watching the Linux Kernel for new and exciting features that are merged for Compute Express Link (CXL). There’s some great notes from the monthly developer meetup here , but the devil is always in the details, and not every commit is discussed in the meeting. So I wrote a simple Python script, called cxl_feature_tracker.py that looks in all commits to the Linus Torvalds…

Running Open WebUI and Ollama on Ubuntu 22.04 for a Local ChatGPT Experience

Introduction Open WebUI and Ollama are powerful tools that allow you to create a local chat experience using GPT models. Whether you’re experimenting with natural language understanding or building your own conversational AI, these tools provide a user-friendly interface for interacting with language models. In this guide, we’ll walk you through the installation process step by step. Ollama is a…

Using Linux Kernel Tiering with Compute Express Link (CXL) Memory

In this blog post, we will walk through the process of enabling the Linux Kernel Transparent Page Placement (TPP) feature with CXL memory mapped as NUMA nodes using the system-ram namespace. This feature allows the kernel to automatically place pages in different types of memory based on their usage patterns. Prerequisites This guide assumes that you are using a Fedora 36 system with Kernel…