Skip to content

Instantly share code, notes, and snippets.

@Annihil
Annihil / local-inference-benchmarks.md
Created October 19, 2026 06:04
Local inference measurements: RTX 5090 and 96 GB RAM

Local inference measurements: RTX 5090 and 96 GB RAM

Measured on 2026-10-19, local time Asia/Shanghai. Compiled from the saved receipts on this PC; creating this report did not rerun GPU benchmarks or change inference settings.

Summary

  • Preferred current long-context setup: Qwen3.8-Flash-Next UD-IQ4_XS on Strata, 256K context, INT8 K/V, MTP enabled, expert-tail skipping disabled.
  • Latest Strata run: 235,924 input tokens processed in 47.083 s / 5,010.8 tok/s; 891 generated tokens at 175.5 tok/s; HTTP request completed in 52.330 s. All four retrieval records were correct.
  • 27B alternative: Qwen3.8-27B mixed NVFP4/FP8 on nInfer. At 256K capacity with K8V4 KV, DFlash2 generated at 221.38 tok/s, but processed the 235,742-token input in 94.139 s / 2,504.2 tok/s. Its complete request took 95.988 s.
  • Pagefile: fixed 64 GiB on C:, active after the user's reboot. The post-reboot Strata test retained at least 54.94 GiB of sampled Windows commit headroom. Windows re
@Annihil
Annihil / afterburner_curve_parser.py
Created May 25, 2022 02:16
MSI Afterburner VF curve parser
import struct
vfcurve = "0000020080000000000000000000E14300007F43000000000020E44300007F43000000000040E74300007F43000000000060EA4300007F43000000000080ED4300007F430000000000A0F04300007F430000000000C0F34300007F430000000000E0F64300007F43000000000000FA4300007F43000000000020FD4300007F43000000000020004400007F430000000000B0014400007F43000000000040034400007F430000000000D0044400007F43000000000060064400007F430000000000F0074400007F430000000000800944000096430000000000100B440080AC430000000000A00C440000C3430000000000300E440000D2430000000000C00F440080E84300000000005011440000FF430000000000E0124400C00A44000000000070144400401244000000000000164400801D440000000000901744000025440000000000201944004030440000000000B01A4400803B440000000000401C44000043440000000000D01D4400404E440000000000601F4400C055440000000000F0204400006144000000000080224400806844000000000010244400C073440000000000A0254400407B440000000000302744004083440000000000C02844000087440000000000502A4400C08A440000000000E02B44006090440000000000702D44002094440000000000002F4400E097
#!/usr/bin/python
import lazylights, pyaudio, struct, math, sys
bulbs = lazylights.find_bulbs(expected_bulbs=1)
# lazylights.set_power(bulbs, True)
SHORT_NORMALIZE = (1.0 / 32768.0)
def get_rms(block):
#include <iostream>
#include <string>
#include <algorithm>
#include <string.h>
#include <stdio.h>
using namespace std;
inline int countSubstring(const string &str, const string &sub) {
if (sub.length() == 0) return 0;
import json
import socket
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer
class HTTPClassifier:
def __init__(self, dumpPath):
self.protoMap = ['HTTP/0.9', 'HTTP/1.0', 'HTTP/1.1', 'HTTP/2']
self.methodMap = ['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'TRACE', 'OPTIONS', 'CONNECT', 'PATCH']
self.dumpPath = dumpPath