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.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only 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, a self-taught developer based in New Zealand. I work on compilers, chip design tools, and GPU software, mostly in C99 with zero dependencies. Currently building a CUDA compiler that targets AMD and Tenstorrent hardware, and synthesising processors onto silicon with my own synthesis tool.

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

If you'd like to see my write ups on some of these projects my website is zanehambly.com


Highlights

Takahe - Open-source digital synthesis tool that takes SystemVerilog and VHDL down to gate-level netlists targeting four open PDKs (SKY130 130nm, IHP SG13G2, GF180MCU, ASAP7 7nm). Supporting thirteen computing paradigms including ternary, quantum, and probabilistic architectures. Place and route through OpenROAD

BarraCUDA - Open-source CUDA compiler with three backends: AMD (RDNA 2/3/4, CDNA3), NVIDIA (PTX), and Tenstorrent Tensix. First CUDA compiled and running on Tenstorrent's non-SIMT RISC-V dataflow architecture. 20K+ lines of C99 with zero LLVM dependency, covering the full pipeline from preprocessor through to ELF emission

Moa - Monte Carlo neutron transport code, GPU-accelerated via BarraCUDA with validated k_eff against MCNP reference values. Runs on RTX 4060 Ti and MI300X


Chip Design

Synthesised with Takahe to open PDKs, place and route via OpenROAD

  • voyager-fds - JPL Voyager flight computer on silicon, 58 gates, fabrication-ready
  • ruru - Probabilistic processor with distributions as a native data type, 2,237 gates
  • qsim - 8-qubit quantum gate simulator on silicon, 238 gates at 200 MHz
  • setun-70 - Soviet ternary computer on silicon
  • minuteman-d17b - Minuteman ICBM guidance computer on silicon

Compilers

  • Karearea - Fortran 77 compiler passing 259/259 tests and compiling all 735 SLATEC files, with PE-COFF and ELF output in C99 with zero dependencies
  • jovial-compiler - MIL-STD-1589C JOVIAL compiler built from the original military spec
  • Wasabi - WebAssembly to x86-64 AOT compiler with zero dependencies
  • conway - RISC-V to x86-64 binary translator written in assembly
  • plankalkul-compiler - Compiler for Zuse's 1945 Plankalkül with 2D notation and all 7 loop variants
  • hal-s-compiler - HAL/S compiler, on pause pending HALMAT work
  • chill-compiler - CHILL to C transpiler
  • coral-66-compiler - Coral 66 compiler, work in progress

Upstream Contributions

  • OCaml - Occasional contributor to the native code compiler backend: #14575, #14547, #14524, #14515
  • z390 - Core contributor to the IBM mainframe assembler/emulator, including COBOL macros, VSAM enhancements, and NIST test suite work
  • tinygrad - RDNA2 emulator support for the AMD GPU backend
  • qemu-zane - QEMU fork adding QTSan for binary-only data race detection using shadow memory and vector clocks

Scientific Computing

  • SLATEC - Modernising the SLATEC numerical library
  • dcuhre - Multi-dimensional adaptive integration
  • odepackzane - ODE solvers

Language Servers

IDE support for languages that predate syntax highlighting:

HAL/S · JOVIAL · CMS-2 · CORAL 66 · CHILL · COBOL F / PL/I F · MUMPS · RACF

Emulators

Voyager FDS · Minuteman ICBM (assembler) · Setun-70 · Viking Mars Lander

Mainframe

  • zblas - z/OS native BLAS written in HLASM with z13+ vector SIMD and dual calling conventions
  • hlasm-strong-type - VS Code LSP providing type checking for registers, labels, and macros

HLASM for Notepad++ · RACF LSP · zkvs · hlasm-http · COBOL todo app

Historical Languages & Cryptography

Plankalkül interpreter · Plankalkül package manager · Zuse's 1942 chess program · FLOW-MATIC

Developer Tools

  • Olint - OCaml linter with auto-fix, think clippy for OCaml
  • Halmat - Resurrecting the HAL/S compiler intermediate language

Production:          C99, OCaml, Fortran, Python, HLASM, various assemblers
Compiler Internals:  OCaml backend (Lambda → CMM → Mach → asm), QEMU plugin API
GPU:                 AMD GFX9-12 ISA, NVIDIA PTX, Tenstorrent Tensix, HSA runtime
Chip Design:         SystemVerilog, VHDL, SKY130, IHP SG13G2, GF180MCU, ASAP7, OpenROAD
Legacy/Preservation: COBOL, JOVIAL, CMS-2, CORAL 66, CHILL, MUMPS, PL/I, HAL/S
Emulated Hardware:   IBM System/360, Voyager FDS, Minuteman, Setun-70, Viking Lander
Methodology:         Primary sources, original manuals, declassified documentation

Based in New Zealand, GMT+12/13

[email protected]

This is a hobby, not a job search. My day job is in finance. I build this stuff because I find it interesting, and I'm happy to collaborate with anyone who feels the same way. That said, if the right opportunity came along I wouldn't turn it down. I do take contract work from time to time, and I have an optional internship component as part of my degree at AUT if anything lines up, but none of that is why any of this exists.

If by any chance you work in the charity space and need help please feel free to reach out. I actively volunteer my expertise to a few organisations.

Pinned Loading

  1. Plankalkuel Plankalkuel Public

    Plan Calculus, but fun!

    Python 7

  2. Wu Wu Public

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

    Python 1

  3. BarraCUDA BarraCUDA Public

    Open-source CUDA compiler targeting multiple GPU architectures. Compiles .cu to AMD and Tenstorrent GPU's

    C 1.5k 65

  4. SLATEC SLATEC Public

    A modernisation of the SLATEC library

    Fortran 20

  5. plankalkul-compiler plankalkul-compiler Public

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

    OCaml 7