GPU-Based Autorouting for KiCad
GPU-Based Autorouting for KiCad
This project began when I decided it would be easier to write an autorouter than route a 8000+ net backplane by hand. This is a KiCad plugin with a few different algorithms, the coolest of which is a 'Manhattan routing grid' autorouter that routes along orthogonal traces. The basic idea was to steal an algorithm from FPGA routing and apply it to PCBs. I'm using CuPy for speeding up the routing; CPU-bound is at least 10x slower than the GPU version. This is in a very pre-alpha state, but it does _technically_ work. It's not great by any measure but then again it is an autorouter. I have a writeup with the how and why it was made: https://bbenchoff.github.io/pages/OrthoRoute.html And a video showing it route a 512-net backplane in just over 2 minutes: https://www.youtube.com/watch?v=KXxxNQPTagA This is very cool and one of the first good uses of the KiCad IPC API that was released a few months ago. If this sounds interesting and useful, PRs and issues welcome.
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Incorrect prediction on native model
Similar products
Gource visualizations rendered without a GPU
Lambda Echelon GPU Cluster
GPU PaaS
Slurmq – GPU quota enforcement for Slurm
GPU Accelerated PDAL
I made a GPU VRAM calculator for transformer-based models
Physically-based GPU raytracer from scratch
I've made a GPU-based wavelet spectrogram tool for birdsongs
DOM-free, GPU-based (webrender) UI in react
Luminal – Open-source, search-based GPU compiler