Skip to content

Instantly share code, notes, and snippets.

@Hermann-SW
Hermann-SW / is_prime_u32.cpp
Created September 20, 2026 08:50
100% deterministic Miller-Rabin primality test for N < 2^32
#include <iostream>
#include <cstdint>
#include <gmpxx.h>
#include <cassert>
#include <omp.h>
// Single-round Miller-Rabin test using GMP modular exponentiation
inline bool miller_rabin_test(uint32_t n, uint32_t a, uint32_t d, int s) {
mpz_class base(a), exp(d), mod(n), x;
@Hermann-SW
Hermann-SW / build_graph.py
Last active September 23, 2026 07:03
Latex labels for Graphviz (work in progress)
""" Latex labels for Graphviz """
import html
import re
import subprocess
from pylatexenc.latex2text import (
LatexNodes2Text,
MacroTextSpec,
get_default_latex_context_db as get_default_l2t_context_db,
)
from pylatexenc.latexwalker import (
@Hermann-SW
Hermann-SW / gfx900_multi_precision_bench.cpp
Last active August 29, 2026 12:37
INT16 add and mul as well as FP16 fma benchmark for gfx900 GPUS
/*
f=gfx900_multi_precision_bench
hipcc -O3 --offload-arch=gfx900 $f.cpp -o $f
*/
#include <hip/hip_runtime.h>
#include <hip/hip_fp16.h>
#include <iostream>
#include <iomanip>
#include <vector>
@Hermann-SW
Hermann-SW / mi50_multi_precision_bench.cpp
Created August 12, 2026 09:53
Multi GPU INT4/INT8/FP16 benchmark from long gemini session
#include <hip/hip_runtime.h>
#include <hip/hip_fp16.h>
#include <iostream>
#include <vector>
#include <thread>
#include <chrono>
#include <iomanip>
#include <atomic>
#include <string>
@Hermann-SW
Hermann-SW / benchmark_fp8_ptx.cu
Created August 2, 2026 20:02
Synthetic benchmark from long gemini session for >170 TFLOPS FP8
#include <iostream>
#include <cstdint>
#include <cuda_runtime.h>
#define CUDA_CHECK(status) \
do { \
cudaError_t err = (status); \
if (err != cudaSuccess) { \
std::cerr << "[CUDA Error] " << cudaGetErrorString(err) \
<< " (" << err << ") at line " << __LINE__ << std::endl; \
@Hermann-SW
Hermann-SW / benchmark_fp16.cu
Created August 1, 2026 22:01
Demonstrate 77 TFLOPS FP16 (__half) on NVIDIA RTX 5060 GPU
#include <iostream>
#include <vector>
#include <cuda_runtime.h>
#include <cublas_v2.h>
#define CUDA_CHECK(status) \
if (status != cudaSuccess) { \
std::cerr << "CUDA Error: " << cudaGetErrorString(status) \
<< " at line " << __LINE__ << std::endl; \
exit(EXIT_FAILURE); \
@Hermann-SW
Hermann-SW / AVX2.vsqrtpd.cpp
Created June 26, 2026 20:23
Demonstrate maximal "double sqrt" GFLOPS performance for AVX2 CPUs
/*
f=AVX2.vsqrtpd
g++ -O3 -fopenmp -Wall -Wextra -pedantic $f.cpp -o $f
cpplint --filter=-legal/copyright $f.cpp
cppcheck --enable=all --suppress=missingIncludeSystem $f.cpp --check-config
echo off | sudo tee /sys/devices/system/cpu/smt/control
echo 0 | sudo tee /proc/sys/kernel/perf_event_paranoid
perf stat -a -e cycles,instructions,task-clock ./$f
@Hermann-SW
Hermann-SW / benchmark_sqrt.cpp
Last active July 9, 2026 20:25
gemini double sqrt benchmark demonstrating 383.6 double sqrt GFLOPS on Radeon vii GPU
New version for AMD&NVIDIA GPUs:
https://github.com/Hermann-SW/RR/tree/main/tsp/hip
@Hermann-SW
Hermann-SW / AVX512.vsqrtpd.cpp
Last active July 30, 2026 05:53
Demonstrate maximal "double" Gsqrt/s performance for AVX512 CPUs
/*
f=AVX512.vsqrtpd
g++ -O3 -fopenmp -Wall -Wextra -pedantic $f.cpp -o $f
cpplint --filter=-legal/copyright $f.cpp
cppcheck --enable=all --suppress=missingIncludeSystem $f.cpp --check-config
echo off | sudo tee /sys/devices/system/cpu/smt/control
echo 0 | sudo tee /proc/sys/kernel/perf_event_paranoid
perf stat -a -e fp_ops_retired_by_width.pack_512_uops_retired,cycles,instructions,task-clock ./$f
@Hermann-SW
Hermann-SW / AVX512_VNNI.DP2A_s32_s16_s16.cpp
Last active July 24, 2026 09:09
Demonstrate multiple TOPS performance for Zen4 AMD CPUs
/*
f=AVX512_VNNI.DP2A_s32_s16_s16
g++ -O3 -fopenmp -Wall -Wextra -pedantic $f.cpp -o $f
cpplint --filter=-legal/copyright $f.cpp
cppcheck --enable=all --suppress=missingIncludeSystem $f.cpp --check-config
echo off | sudo tee /sys/devices/system/cpu/smt/control
echo 0 | sudo tee /proc/sys/kernel/perf_event_paranoid
perf stat -a -e fp_ops_retired_by_width.pack_512_uops_retired,cycles,instructions,task-clock ./$f