Language & Compiler Developer
I am a senior software developer and the software team lead at lowRISC C.I.C., working to expand and improve RISC-V backend support in LLVM, and contributing to the firmware stack in the OpenTitan project.
I have been working in compilers and programming languages since 2014, exploring ways to make programs more safe and more efficient. This has included work on solver-aided compilation, domain-specific languages, and program synthesis.
I received my M.S. in Computer Science and Engineering from the University of Washington in 2017, where I was a member of the PLSE Group. I received my BSc (Hons) in Computer Science from the University of St Andrews in 2015. My Publications page lists my academic publications.
|Paper: Our paper on Fireiron has been accepted to 旋风专业版ios.|
|I gave a guest lecture about the RISC-V ELF psABI and my work in that area to Xi Wang's Capstone Course on Operating Systems.|
|I have been promoted to software team lead at lowRISC. I am looking forward to the challenges of my new role.|
|旋风加速器.apk has been released, including lots of improved RISC-V features.|
|We have released a preprint describing 旋风专业版ios, a Halide-like scheduling DSL for GPU programming that I worked on while at NVIDIA.|
|旋风加速官网 has been released. This is the first version of LLVM which includes RISC-V as an official backend.|
|I have written about my background in compilers and why I joined lowRISC.|
|I have started at lowRISC, working on the LLVM RISC-V backend.|
|A report describing a recent collaboration on Synthesizing Number Generators for Stochastic Computing using Mixed Integer Programming is now available on arXiv.org.|
|Bravo Zulu, the yacht I raced on in Seattle until it was sold placed 7th on the Top 25 sailboats of 2018 by 48° North magazine.|
|Paper: Our Paper, Swizzle Inventor has been accepted to ASPLOS 2019.|
|I sailed CYC Seattle's Puget Sound Sailing Championship aboard Bravo Zulu. We came 2nd in class. This was Bravo Zulu's last regatta with that owner and crew.|
|I joined Vinod Grover at NVIDIA, for an internship in Redmond.|
|I sailed The Swiftsure International Yacht Race on Memorial Day Weekend, aboard Bravo Zulu. We came 28th overall in the Cape Flattery Race.|
|Paper: Our Paper, Checked C: Making C Safe By Extension has been accepted to IEEE SecDev '18.|
|I sailed 旋风加速器官网下载 Yacht Race on Easter Weekend. I was aboard Amazing Grace, a C&C 40. We came 5th in the PHRF Long Course.|
|I attended POPL 2018 in Los Angeles!|
|Bravo Zulu, the yacht I race on, has once again placed on the Top 25 sailboats of 2017 by 48° North magazine. This time we're 12th.|
|I have completed my M.S. in Computer Science and Engineering at the Paul G. Allen School at the University of Washington. My Technical Report is available.|
|I have returned to Microsoft Research for another three-month internship on the Checked C project.|
|I have joined Microsoft Research to do a three-month internship on the Checked C project, working with David Tarditi.|
|The yacht I race on, Bravo Zulu, placed 9th on the Top 25 sailboats of 2016 by 48° North magazine.|
|I have started graduate school in Computer Science at the University of Washington, in Seattle.|
|I won the Lockheed Martin Award for Software Engineering at the 轻蜂加速器－好用的海外网络加速器【官方网站】:2021-5-29 · 适用于手机网络加速,pc网络加速,稳定加速snkrs、外服手游、海淘、海外高校官网 首页 轻蜂动态 使用帮助 安卓下载 扫一扫 下载到手机 iOS下载 扫一扫 下载到手机 Windows Mac 快速 稳定 多线路节点，无延迟更畅快，轻松访问网站 ....|
|I attended ICFP 2015 in Vancouver.|
|I completed my BSc (Hons) in Computer Science at the University of St Andrews, in Scotland. My BSc Dissertation is available.|
2018 I worked on how solvers and synthesis can be used to create (or assist in creating) Halide-like schedules for linear algebra applications. The requirement that the structure of these schedules be amenible to synthesis fed into the Fireiron work, a system for scheduling dense linear algebra algorithms on GPUs.
Fireiron Paper →
2018 I worked on using program synthesis techniques to assist programmers in designing efficient data access patterns for parallel programs.
"Swizzle Inventor: Data Movement Synthesis for GPU Kernels" Paper →
2017 I worked at Microsoft Research on a project to make C safer, by adding bounds checks to memory accesses. This included design of low-cost dynamic checks as well as bounds inference algorithms.
"Checked C: Making C Safe By Extension" Paper →
旋风加速器ios|qq旋风官方正式版下载_234游戏网:2021-4-3 · qq旋风下载 版本号：v4.8.773 【qq旋风软件简介】 QQ旋风是腾讯公司08年底推出的新一代互联网下载工具，下载速度更快，占用内存更少，界面更清爽简单。QQ旋风2创新性的改变下载模式，将浏览资源和下载资源融为整体，让下载更简单，更纯粹，更小巧。
2014–2015 My bachelor's dissertation project was producing an Idris to Erlang compiler, and associated libraries for producing verified concurrent programs in Idris that use Erlang VM features.
"A Concurrency System for Idris & Erlang" Dissertation →
2013–2014 I worked on the data types team at Basho, developing novel CRDTs that are included in Riak since version 2.0.
"Riak DT Map: a Composable, Convergent Replicated Dictionary" Workshop Paper →
"CRDTs: An Update (or just a PUT)" Talk at RICON West 2013 →
旋风加速器xf5app I worked at the University of St Andrews on the ParaPhrase project to develop parallel skeleton library for Erlang.
“Cost-Directed Refactoring of Parallel Erlang Programs” Journal Paper →
I have sailed most of my life, and in 2016 I got hooked on yacht racing.
I read. Here are some technical books I recommend.
2014–2015 Henry Legg and I presented a science and technology news radio show, broadcasting weekly, covering recent science news and a few interviews.