Have you ever been frustrated that your code takes too long to run?Do you have a sneaking suspicion that most of the time is spent in loops?Have you ever considered just running fewer loops by having your compiler mangle your code to skip arbitrary loop iterations?Welcome to loop … | Continue reading
MotivationThe primary motivation of this paper is that compilers these days form a base of trust for most modern applications. If the application's code is correct, then compiled executable of that application will also be correct. However, most modern compilers like GCC and LLVM … | Continue reading
Computers are incapable of representing arbitrary real numbers exactly.This is due to two intractable facts of real numbers: | Continue reading
Here’s a bookmarklet that removes the crud from the new ACM Digital Library pages. | Continue reading
LLVM is a godsend of a research tool. Here are some detailed notes on what LLVM is, why you would want to use it for research, and how to get started as a compiler hacker. | Continue reading
Mytkowicz et al.’s “Producing Wrong Data Without Doing Anything Obviously Wrong!” in ASPLOS 2009 is one of those papers that contains its own best summary.Right there in Section 2, it says: | Continue reading
Verilog is the de facto abstraction for programming today’s FPGAs. RTL programming is fine if you want to use FPGAs for their traditional purpose as circuit emulators, but it’s not the right thing for the new view of FPGAs as general-purpose computational accelerators. | Continue reading
Here’s a problem from our paper on approximate storage that has been bugging me for about five years now. I think it’s a coding theory problem, but I have no traction whatsoever. Send me your brilliant insights. | Continue reading