RE: https://mastodon.social/@thezoq2/115688699708165982
Don't forget to submit something to LATTE! You still have just over 2 weeks, plenty of time for a 2 page paper :)
I like building programming languages and compilers. Currently working somewhere at the intersection of compilers and hardware design.
RE: https://mastodon.social/@thezoq2/115688699708165982
Don't forget to submit something to LATTE! You still have just over 2 weeks, plenty of time for a 2 page paper :)
@JacquesC2 Thanks for clarifying! I can definitely see your point then.
@JacquesC2 As in "everything is a file" (i.e. a design choice) or "everything is a compiler" (i.e. looking at something through a new perspective)?
You can put whatever you want in a jitdump you know.
Here's a little exploration of some ideas on how you can use that to explore your program's performance with different slicing
https://www.mgaudet.ca/technical/2026/1/8/non-traditional-profiling
@neauoire Not sure if I will work on this that much more, I really should get back to working on the JIT stuff 😆
The clock is just a simple loop whose length determines the period. Currently I just hard code the period, but theoretically it should be possible to determine the minimum period from the combinatorial logic depth.
@neauoire Turns out building a d latch from McCulloch-Pitts neurons is also not that hard, so it can actually also translate sequential logic now. This simple counter
reg [3:0] counter = 0;
always @(posedge clock)
counter <= counter + 1;
Results in the following neural network:
@neauoire It only does combinatorial logic, so it is not (yet) possible to convert a processor into a McCulloch-Pitts Neural Networks.
@neauoire Seems like you have (unintentionally) nerd-sniped me into building a Verilog to McCulloch-Pitts Neural Networks flow...
@neauoire I imagine using it for music is a bit harder though, since you need to get the wire lengths exactly right for the timing to work out.
@neauoire Yeah, I think I first saw it because someone actually made a Minetest/Luanti mod using wireworld as a redstone replacement. Never played around with the mod, but I still think it was a neat idea 😃
@neauoire Sadly unable to find it right now, but I seem to remember some tool where you can layout rhythms by drawing cycles on a 2 dimensional grid. A "program counter" travels along the cycles playing any placed sounds it encounters. This means that the length of the cycle is the duration of a loop. It seems like it might end up feeling similar to that. While the actual positioning is of course irrelevant with neurons, you would probably end up building similar cycles which trigger sounds.
@neauoire Has anyone built a music livecoding tool based on this yet? (I assume that's where your kickdrum example is going)
I've been daydreaming of a neural nets powered note-taking system for a while so I can see at a glance the dependencies of each task. I love how this turns an otherwise dead-system into a livecoding environment.
https://wiki.xxiivv.com/site/neur.html
https://forum.malleable.systems/t/mcculloch-pitts-neural-nets/303/2
New blog post about the GDB JIT interface. This brings me to 30 blog posts this year...!
tired: the proof is left as an exercise for the reader
inspired: like and subscribe, and we'll cover the rest of our proof in part two of this video essay!
The two hardest problems in Computer Science are:
1. Getting up in the morning
2. Going to bed at a reasonable time
@tekknolagi @cfbolz @cfallin True, if you do path compression, it will quickly go down to a single additional indirection. Sounds like it might be fun to try this at some point... 😃
@tekknolagi @cfbolz @cfallin So it sounds like it might be a performance thing? I am a bit surprised that the overhead from substitutions is so large that it is not amortized by the cheaper operand accesses. I suppose my point is that I would expect accessing operands (i.e. calling find) to be more common than replacing them.
@tekknolagi Somewhat unrelated, but I don't think I have seen the union find based substitution thing in IRs outside of (A)E-Graphs before. Does this have any benefits over explicitly substituting operands?