News for hackers. Stuff that matters.
Re:Chip Design Shifts as Fundamental Laws Run Out of Steam by sitkack on Tuesday November 01, 2022 @04:24AM (#33418408)
> skills may see a resurgence in value.

I think it is the opposite. I have almost as much experience as you, I started a little later, didn't get serious in my teens with 68k assembly language and custom chip programming on the Amiga 500. Not all nostalgia, some of it germane context.

I think it is important to have a mental model of the hardware so that the architecture of the program has some mechanical sympathy. But the ability to think abstractly is more important, at what allows Moore's law to be realized. Our compute topology is changing and if the perf curve is to continue to be exponential, our code and more importantly the expression of our ideas has to be able to exercise 30B transistors today, and 150B in 8 years. Knowing how to compose neural networks is one of the new skills that is akin knowing how to shave off cycles in 80s. Mod playback, Doom, Quake, mp3 decompression, emulation all redefined our relationship with computing.

The Amiga had this custom hardware for doing bitblits and sprite compositing, it could do these trippy multi-layered backgrounds that use parallax to give in an Arcade like 2.5D rendering (wow that sentence, not fixing it). These had a bunch of registers you had to muck with, I only ever called them from assembly, I knew C but it just felt more natural to do it in asm defined files. My point is, you can do the same things using some high level garbage collected code. In Python or JS, you could implement Quake, using naive algorithms. No asm, just regular code.

A Spellchecker Used to Be a Major Feat of Software Engineering https://news.ycombinator.com/item?id=3466388

The programming that can code an awesome parallax demo using numpy arrays is going to be the next Carmack. The programmer that can compose 3-ai models to make something we have never thought of is going to make Quake or some other piece of software that changes our relationship with computing and Moore's law. Abstraction gets us there.

Re:Chip Design Shifts as Fundamental Laws Run Out of Steam by djmips on Tuesday November 01, 2022 @06:03AM (#33419093)
I agree with the parent of your post. I work in a field where Moore's law gets artificially arrested for often a decade at a time - console games - and we no stranger to being critically aware of how much memory we are copying around - we will reach for hand coded SIMD math and we stare at our shader assembly looking for more performance. You should see what some do to get top line performance in collision detection. It even leaves me a bit sweaty... I'm not discounting what you conjecture about the next Carmack being in the machine learning arena - that's how I feel too, but I still strongly believe that we will see more demand for programming that can eke our performance with what we have.
Re:Chip Design Shifts as Fundamental Laws Run Out of Steam by urthor on Tuesday November 01, 2022 @07:18AM (#33419647)
Physical simulation is unique due to latency requirements. The impossibility of using the data center is the common denominator in high performance programming.

In my field, Spark, functional programming for data parallelism, few if any problems of Moore's law ever truly eventuate.

"Compute bottlenecks" are so uncommon. Databricks has almost no lines of Scala written, SQL/Python are "fast enough." Commoditization, "good enough" libraries, packaged in SQL/Python for the lowest common denominator.

Carmack's genius of the inverse square misses the point.

Carmack's genius was the video game Quake itself.

The mathematical brilliance, the high performance programming, was genius applied to overcome a bottleneck.

(And what temporary genius. Contrast Carmack with Unity).

Originality, usefulness. Imagination meeting relevance, is the engine that powers software.

Re:Chip Design Shifts as Fundamental Laws Run Out of Steam by Panzer04 on Tuesday November 01, 2022 @07:55AM (#33420005)
But within reason, these are areas where huge returns can be made with higher performance programming as opposed to speed of development - a 10% performance increase can save stupid amount of money on hardware - and with hardware lasting longer I think there will be an increasing focus on that.
Re:Chip Design Shifts as Fundamental Laws Run Out of Steam by urthor on Tuesday November 01, 2022 @07:18AM (#33419656)
I'd cheekily argue.

The video game industry has downloaded more memory leaks personal machines than all the other domains of software combined. So many lines of terrible C++ have been written...

The importance of Moore's law falls flat in front of good old "bugger good code, Morrowind's rebooting the Xbox."

Re:Chip Design Shifts as Fundamental Laws Run Out of Steam by bjourne on Tuesday November 01, 2022 @10:15AM (#33421526)
When I play console games on my Xbox 360 the biggest annoyance by far is the loading times. You run around in Skyrim and you enter a house so you have to wait 30 seconds for the content to load. Then you leave the house and have to wait 30 seconds again. My point is that the relevant performance metric isn't speed of number crunching anymore - it is speed of transporting data from one part of the system to another.
Re:Chip Design Shifts as Fundamental Laws Run Out of Steam by adamc on Tuesday November 01, 2022 @01:52PM (#33424758)
DirectStorage is an attempt to address that, no?
Re:Chip Design Shifts as Fundamental Laws Run Out of Steam by syntheweave on Wednesday November 02, 2022 @06:26AM (#33433638)
I believe a critical difference between the high performance of now vs yesteryear is the degree to which it's a design problem vs an implementation problem.

When writing 6502 assembly, you have "tricks" galore. You do have a design trade-off to make: memory vs CPU cycles, and when looking at algorithms in really old programs, they often dispensed with even basic caching to save a few bytes. But a lot of the savings came from gradually making the program as a whole a tighter specimen, doing initializations and creating reports with just a few less instructions. The "middle" of the program was of similar importance to the design and the inner loops, and it popularized ideas like "a program with shorter variable names will run faster" or "a program with the inner loop subroutines at the top of the listing will run faster". (both true of many interpreters) An engineer of this period worked out a lot of stuff on paper, because the machine itself wasn't in a position to give much help. And so the literal "coding" was of import: you had to polish it all throughout.

Today, the assumption is that the middle is always automated: a goop of glue that hopefully gets compiled down to something acceptable. Performance is really weighted towards the extremes of either finding a clever data layout or hammering the inner loop, and to get the most impactful results you usually have a little of both involved.

The hardware is in a similar position to the software: the masks aren't being laid out by hand, and they increasingly rely on automation of the details. But they still need a tight overall design to get the outcome of "doing more with less."

And the justifications for getting the performance generally have little to do with symbolic computation now: we aren't concerned about simply having a lot of live assets tracked in a game scene(a problem that was still interesting in the 90's, but more-or-less solved by the time we started having hundreds of megabytes of RAM available), we're concerned about having a lot of heavy assets being actively pushed through the pipeline to do something specific, which leans towards approaches that see the world in less symbolic or analytical terms and as more of a continuous space sampled to some approximation. Which digital computing can do, but isn't the obvious win like it once was.

Re:Chip Design Shifts as Fundamental Laws Run Out of Steam by adw on Tuesday November 01, 2022 @11:41AM (#33422720)
The relevant skills have more in common with the early 2000s supercomputing community than the mod scene. We are all data-parallel distributed now.