The UltraSPARC T1 was designed from scratch as a multi-threaded, special-purpose processor, and thus introduced a whole new architecture for obtaining performance. Rather than try to make each core as intelligent and optimized as they can, Sun's goal was to run as many concurrent threads as possible, and maximize utilization of each core's pipeline.
> Is it any more horrifying or unethical to decide without AI?
It is harder to get 1000 people to participate in an unethical military campaign than it is to get 10 people. So if you can make those 10 people 100x as efficient...
> It is harder to get 1000 people to participate in an unethical military campaign than it is to get 10 people.
No. It's easier to get 1000000 to participate than 1000. But that's not the point. We are talking about accountability. I'd say it's easier to hold 10 people accountable than a 1000.
Which regressions for Nvidia hardware are you talking about?
Nouveau supports seriously ancient Nvidia hardware. It's perfectly reasonable to make a clean break once in a while (both AMD and Intel have done it in their open source drivers).
The kernel driver manages things like display setup, memory management (isolation between processes), and funneling of commands from user space to the hardware. This is more a replacement for Nouveau than NVK.
NVK generates the commands to send to the hardware, by converting vulkan APIs to Nvidia-specific instructions, and feeds them to the kernel driver.
The problem with Nouveau was that Nvidia hardware could not be reclocked (the cores were basically always in low power mode) without a signed firmware blob. That blob couldn't be legally distributed except by Nvidia, so the open source folks more or less gave up on a high performance driver.
Now, for newer hardware, Nvidia has changed some aspects of the firmware and allows redistribution. So it's feasible to make a good open source driver.
AMD and Intel also use different drivers for different hardware generations, since eventually things change so much that it's better to start clean.
With regards to reverse engineering, Mesa has a number of reverse engineered drivers. That isn't anything new.
the problem was the nouveau would do this before when firmware was easy to intercept from the driver (and could be extracted easily). the newer driver uses different methods of firmware upload and it's a real chore to do so now.
so nouveau gave up on it. they also expected nvidia to drop some firmware.
now that newer cards have GSP.bin firmware, which can be interfaced with easily - things are different. i would wager a guess that it's similar to atombios from amd. you just call a function in GSP and it knows what registers to poke with the right values to achieve what you need.
I'm sure this depends on engineering culture, but at Google, where Go was born, there is "one way to write C++" and that is dictated by the style guide.
You have to learn many restrictions, a number of which feel arbitrary/highly subjective, and follow that. Of course, the style guide evolves over time so it's not like legacy code is consistent with new code.
The end result is that I much prefer the Go way of having fewer options in the language, instead of having those options in the language but restricting them via policy.