Sign up and get personalized intelligence briefing delivered daily.

# Articles related to "compiler"

## Repl.it GFX: Native graphics development in the browser

• And today, we're excited to bring native GUI applications and game development to the browser.
• We want programmers from all backgrounds, regardless of their language, to be able to code games and apps with ease.
• Plus, supporting native graphics opens us up to a wealth of frameworks, games, and educational material!
• Right now, we're piping the X Window system through VNC through WebSockets to your browser, which is not the most efficient way to do this — we have a lot of ideas on how we could improve it.
• Finally, depending on how far you are from our data center (US-central) you might feel a delay, which we're also working on making better by replicating our data center (watch out Google Stadia).
• We're supporting these frameworks out of the box, but very soon, we'll roll this out to all of our languages.

save | comments | report | share on

## Show HN: H2 Forth CPU

• The myStorm board uses a completely open source toolchain for synthesis, place and route and bit file generation.
• Loads and stores into the block RAM that holds the H2 program discard the lowest bit, every other memory operation uses the lower bit (such as jumps and loads and stores to Input/Output peripherals).
• The timer is controllable by the oTimerCtrl register, it is a 13-bit timer running at 100MHz, it can optionally generate interrupts and the current timers internal count can be read back in with the iTimerDin register.
• The meta-compiler Forth program is then used to build up an eForth image capable of running on the H2 target.
• The disassembler takes a text file containing the assembled program, which consists of 16-bit hexadecimal numbers.

save | comments | report | share on

## No grammar? No problem (2013)

• One day, you’re strolling along fields of code, when suddenly you spot a syntax construct that you don’t understand.
• Perhaps you’d pull up the manual (or, more likely, one of many tutorials) and scan through looking for the syntax construct in question.
• What if the code in question is written in an internal language for a compiler, whose details have changed since it was last documented, for which the documentation is out of date?
• As long as you’re willing to roll up your sleeves and take a look at the source code of the compiler in question, you can frequently resolve your question for less effort than it would have taken to look up the syntax in the manual (and it’s guaranteed to be up-to-date too!) The key is that modern compilers all use parser generators, and the input to these are essentially executable specifications.

save | comments | report | share on

## Fast LSTMs in PyTorch

• Normalization layers typically end with an affine transformation $y = a \cdot (x - mean(x)) / std(x) + b$ where $a$ and $b$ are also (broadcasted) tensors and are followed by an activation function such as ReLU.
• So as a summary, the fuser is great at dealing with sequences of pointwise operations, but it does not currently support reductions.3 With what it currently does, you can get the LSTM forward almost as fast as the CuDNN implementation.
• So if it isn't easy to teach the fuser to execute these SumToSize9 operations, as the summations are called because you hand in the size of the (potentially broadcasted) tensor to get the gradient summed to the same shape, can we avoid having them in those parts of the graph we want to fuse?

save | comments | report | share on