back
user profile
raphlinus
13,685karma·1,846submissions·March 7, 2014
about
I do research on fundamental UI technology and 2D graphics, with a focus on Rust and fonts.
@raph@mastodon.online
recent activity (1,846 total)
comment
The Metalium repo is here: https://github.com/tenstorrent-metal/tt-metal/ There's also an "unboxing video" from Dr Ian Cuttress and Jasmina Vasiljevic from a …
comment
It's a good question and one we're looking into. We're not planning tight integration with the system compositor on our 2024 roadmap, partly because it's extremely platform depende…
comment
Much of that is latency added by the design of modern compositors (see "the compositor is evil"). The good-ish news is that as the frame rate goes up, compositor latency goes down, as it…
comment
I think the distinction is not as hard and fast as you make it out. I found "Tools for thinking about censorship"[1] to be extremely thought-provoking. There are many nuanced arguments, but …
comment
I'd recommend wgpu. It should be a fairly easy migration from Metal, as Apple has been actively involved in the design, and there are similar concerns for developer experience (unlike, say, Vulka…
comment
It should be. There's AccessKit integration in egui (the most prominent Rust immediate mode GUI implementation) now, thanks to Matt Campbell's work. I would welcome GPUI and Zed adopting tha…
comment
This is in fact touched on (if briefly), in the roadmap - it's "virtual lists" and absolutely is a priority for this year. Performant UI is not possible without it. The idea is not so m…
comment
Similar. I've done experiments with subgroups suggesting approximately a 2.5x speedup for sorting (using the WLMS technique of Onesweep). Binding arrays will be very helpful for rendering images …
comment
This is for Cortex A8, which was the chip in the Nexus One. I wrote the original version of sound synthesis directly in ARM assembler[1]. It was very highly optimized, I remember using a cycle count…
comment
Historically yes. This is most definitely not true since processors had SSE3 (~2004), using the FISTTP instruction, or I think you can also use the packed float to integer instructions like CVTTPS2PI …
comment
I am very familiar with such low level workings. On a modern, fast machine, the amount of computation required by FM synthesis is so small compared with the machine's throughput that it just does…
comment
Prof Wirth was a major inspiration for me as a kid. I eagerly read his book on Pascal, at the time not appreciating how unusual it was for its elegance and simplicity. I also followed with interest hi…
comment
I haven't been in touch with him in over 20 years, so have no idea where even to start. Best of luck with that!
comment
Sending much love. It's gratifying to see work on this continue, from seeds planted so long ago.
comment
In a recent talk[1], Bill Dally of Nvidia suggests using actual logarithms, as they're more consistent in relative error than floats, which is especially relevant at low precision as increasing…
comment
There is a copy of this in the Museo Galileo in Florence as well, which I visited a couple of weeks ago. Highly recommended if you get the opportunity. They also have an extensive multimedia guide, wh…
comment
From the 2023 Octoverse report[1], "In 2023, Shell and Hashicorp Configuration Language (HCL) once again emerged as top languages across open source projects, indicating that operations and IaC w…
comment
Good call. So this doesn't look like a blocker to SYCL compatibility. I'm interested in learning more about this.
comment
Sure. It's a tradeoff space. Gain portability and ergonomics, lose throughput. For applications that are throttled by TOPS at low precisions (ie most ML inferencing) then the performance drop f…
comment
That's a really good question. I don't know enough about SYCL to be able to tell you the answer, but I've heard rumblings that it may be the thing to watch. I think there may be some ot…
comment
The two I know of are IREE and Kompute[1]. I'm not sure how much momentum the latter has, I don't see it referenced much. There's also a growing body of work that uses Vulkan indirectly…
comment
I understand why you've picked D3D11, but people have to understand that comes with serious limitations. There are no subgroups, which also means no cooperative matrix multiplication ("tenso…
comment
Vulkan 1.3 has pointers, thanks to buffer device address[1]. It took a while to get there, and earlier pointer support was flawed. I also don't know of any major applications that use this. Moder…
comment
That's the right question, and what my work a quarter century ago on "attack resistant trust metrics" attempted to answer. That's written up in a bunch of places, but I think proba…
comment
Which largely explains the fontations project. This is new Rust implementation of the lower levels of the font stack, and also on track to shipping, it's now in Chrome Canary. https://…
comment
I haven't carefully read the relevant part of the spec, but I imagine that pointers have to be modeled as not subject to tearing, otherwise safety guarantees would completely fall apart. The flip…
comment
It's essentially the same as a relaxed atomic at the machine level, but it's weaker - it corresponds to "unordered" in the LLVM sense. In particular, it allows for a lot more optim…
comment
For the generation of simplified Bézier paths, I hope they consider the new methods in kurbo[1]. These have some fairly fancy math behind them and result in pretty close to a global optimum in terms o…
comment
A particular point in the space I find very appealing is emulators running on RP2040 class microcontrollers such as Raspberry Pi Pico. These have most of the advantages of FPGA, including latency meas…