Skip to content
View Zaneham's full-sized avatar

Block or report Zaneham

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Zaneham/README.md

G'day, Kia Ora

I'm Zane, from NZ. I like me a bevvy and a splash of assembler. I usually dabble with computers several years older than me and occasionally I produce something quite useful.

Everything is built from primary sources, original manuals, and the occasional declassified document.

The full list of projects, and the write ups explaining them, lives at zanehambly.com. This page is the short version.

I like to be as transparent as possible in how I work. If you'd like to see my notes, assembly dumps and a mishmash of human and generated tests feel free to visit bits and bobs.


Upstream Contributions

Everything I've sent upstream is in one search.

  • OCaml - Native code compiler backend. Atomics across all five architectures, square root, fused multiply-add, rounding and bit counting as single instructions, and bulk operations on float arrays
  • LLVM - X86 backend and MC layer, mostly the Intel syntax matcher and the encoder
  • LFortran - Legacy F77 intrinsics and GPU offloading for do concurrent
  • Solo5 - riscv64 support for the spt target
  • z390 - Core contributor to the IBM mainframe assembler/emulator, including COBOL macros, VSAM enhancements, and NIST test suite work

Key Projects

Booth - GPU compiler. CUDA, HIP and Triton in, AMD, NVIDIA, Tenstorrent and plain CPUs out, so GPU code runs on machines with no GPU. Zero LLVM, binary is kath, after Kathleen Booth

Takahe - Digital synthesis tool. SystemVerilog, VHDL and ABEL-HDL down to gates on four open PDKs and the 74LS series, where area is counted in packages rather than micrometres

Voyager FDS - Emulator for the computer that's leaving the solar system, built from documentation tracked down at Wichita State University, since the machine itself is 24 billion kilometres away and cannot be consulted. Also synthesised to SKY130 in 58 cells

Moa - Monte Carlo neutron transport. I'm not an actual nuclear scientist, I just read the papers and there was enough example code lying around. Validated on the Godiva, Jezebel and Flattop benchmarks anyway

Halmat - A reconstructed spec of the intermediate language every line of Shuttle flight software passed through. Nobody documented it, so the grammar is a hypothesis and Menhir is the interrogator

Reeve - Slatec and some LAPACK for good measure in OCaml ported from the original Fortran. Validated against it too because my brain doesn't work when a bessel function looks at me funny


Based in New Zealand, GMT+12/13

zanehambly@gmail.com

My profile picture for the next wee while is not me, I'm not nearly as handsome, it's Barry, 63. knowyourmeme.com/memes/barry-63


Four 48 Motorcycle Club badge, drawn with fern wings Grand Tour NZ 2021 patch Pen sketch of Rangitoto Island from across the harbour Sketch of a desk with dual monitors, headphones, and a mug

Line drawing of the Voyager spacecraft Voyager flight data subsystem chip layout Pen and ink drawing of the Space Shuttle Moa logo

Some images from the files

Pinned Loading

  1. Plankalkuel Plankalkuel Public

    Plan Calculus, but fun!

    Python 10

  2. Wu Wu Public

    Wu is a media forensics toolkit with special support for Legal teams.

    Python 2

  3. Booth Booth Public

    Open-source CUDA, Triton and HIP compiler targeting multiple GPU and CPU architectures.

    C 1.8k 94

  4. SLATEC SLATEC Public

    A modernisation of the SLATEC library

    Fortran 23 1

  5. plankalkul-compiler plankalkul-compiler Public

    OCaml compiler for Konrad Zuse's Plankalkül (1945): the world's first high-level programming language

    OCaml 18