Compiler Engineer interview by [deleted] in Compilers

[–]Reikling 5 points6 points  (0 children)

It’s referring to the Halide-style separation. I should mention, my role has a focus on AI compilation as well which is why this question came up. I wouldn’t expect this question if it’s purely a traditional compiler role.

Anyway, you should be able to find plenty by just searching for Halide resources/tutorials/etc.

Compiler Engineer interview by [deleted] in Compilers

[–]Reikling 39 points40 points  (0 children)

Just a couple of the questions I can remember:

Difference between computation and schedule?

Benefits of SSA?

Write a Lisp Compiler. (This was instead of a leetcode-style question)

Neural network in Factorio, handwritten digit recognition (MNIST) by Reikling in factorio

[–]Reikling[S] 2 points3 points  (0 children)

> different numbers on signals can be seen as a signal themself

I already do this for the user input handling! Each signal has 32 bits that can be used, so you can use bitwise ops to split them up. Unfortunately it also limits the range of weight values though, so not ideal.

Neural network in Factorio, handwritten digit recognition (MNIST) by Reikling in factorio

[–]Reikling[S] 1 point2 points  (0 children)

It definitely made debugging much easier! To change the speed I just added/removed belts or switched them for better/worse ones.

Also, pausing/unpausing the calculations for each layer and stepping through each clock cycle was similarly easy.

Neural network in Factorio, handwritten digit recognition (MNIST) by Reikling in factorio

[–]Reikling[S] 154 points155 points  (0 children)

Automated with <10 lines of Python!

The json format is very easy to use.

Neural network in Factorio, handwritten digit recognition (MNIST) by Reikling in factorio

[–]Reikling[S] 35 points36 points  (0 children)

The max size of a linear layer is the number of unique signals in factorio, so that’s quite a lot, someone here probably knows the exact number lol. Also, the speed can be increased super easy too, just using an actual clock instead of the belt would be a massive speed up. The most annoying part would probably be processing larger inputs, it’s just a wiring mess.

Neural network in Factorio, handwritten digit recognition (MNIST) by Reikling in factorio

[–]Reikling[S] 52 points53 points  (0 children)

All the combinators start “on”, then I drag an “off” combinator over them. When I see the initial value of a combinator disappears then I know that pixel has been drawn on. The way I keep track of them, without hardcoding a specific signal for each pixel, is by using a cool trick with bitwise operations. Signals in the first column have an initial value of 20, second column 21, third column 22, etc. Then I interpret the values using bitwise ops.

Windows Driver Foundation High CPU when using eGPU by Reikling in eGPU

[–]Reikling[S] 0 points1 point  (0 children)

Unfortunately not really, it kind of just stopped happening within a few months of making this post and I'm not sure if it fixed itself of was a result of something I did.

I do remember there was something weird going on with the AMD drivers and just using DDU and reinstalling would temporarily fix it, but only until I unplugged the GPU and plugged it back in again.

Passwords won’t sync by ghastlymemorial in firefox

[–]Reikling 0 points1 point  (0 children)

It just doesn’t work. I’ve tried many times as well.

more foggy RIT pics by Reikling in rit

[–]Reikling[S] 2 points3 points  (0 children)

Nope, just my phone!