News for hackers. Stuff that matters.
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by MBCook on Friday July 11, 2025 @10:13AM (#44532387)
The link is long dead and the Wayback machine doesn’t have a copy.

But in 2001 ATI was caught applying optimizations to Quake 3 when someone realized if you renamed the executable from “quake” to “quack” the score dropped a ton. It was a big scandal.

I know that’s common now but that wasn’t a thing that was done at the time.

Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by atomicnumber3 on Friday July 11, 2025 @11:06AM (#44532987)
Was it a scandal at the time? My understanding of how per-game card-driver optimizations work today is:

1. AAAA Game Studio shits out another unoptimized clunker

2. nvidia considers it a reputational risk if games run at 30 FPS on a 5090

3. They go in, look at the perverse ways the game misuses rendering primitives, and then hacks shit in to make whatever bad things they're doing less bad.

As a gamer, this seems fine to me and i generally blame the AAAA devs for being bad at their jobs or AAAA studio leads for being ok shipping unoptimized messes.

Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by antonvs on Friday July 11, 2025 @11:42AM (#44533443)
> As a gamer, this seems fine to me

As a software developer, it almost certainly has a bad effect on the ecosystem long term. "Hacks shit in" is the very definition of technical debt, and that has a cost that someone, somewhere is going to have to pay in some form.

Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by RHSeeger on Friday July 11, 2025 @12:08PM (#44533838)
I can't reply to the person that replied to you, so

> You’re looking as a dev, but the reality is that a consumer cannot see technical debt.

The consumer can't _see_ technical debt, but they sure as heck can be impacted by it.

- Technical debt means the code base is harder to work with later. So fixes/enhancements take longer to make it into the code (and sometimes never can)

- This particular type of technical debt means the code by the game developers sets precedent, and the next developer may us it as an example. So the amount of code incorrectly using the api grows faster over time

Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by strbean on Friday July 11, 2025 @01:08PM (#44534623)
For some reason HN sometimes hides the reply button on leaf comments. I think this only happens for very new comments.

You can click the timestamp ("X minutes ago") to view the comment without context, and reply from there.

Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by monocasa on Friday July 11, 2025 @02:31PM (#44535509)
I think it's a anti flamewar tactic to put the brakes on quick replies.
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by charcircuit on Friday July 11, 2025 @01:17PM (#44534734)
>the next developer may us it as an example

These hacks are game specific, so another developer wouldn't get them.

Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by RHSeeger on Friday July 11, 2025 @03:40PM (#44536119)
The way the API was used incorrectly "worked", and the game didn't see the negative impact of it because it was "fixed away". And then the incorrect usage is used again on another game and doesn't get the "fixed away" benefit. And the same incorrect usage could happen over and over because "it works".
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by lsaferite on Friday July 11, 2025 @02:29PM (#44535492)
The next developer at that company that uses or references the crappy code for another project would still have the issue, but not get the benefit of the down-stream GPU vendor hacks to fix the buggy game.
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by monkpit on Friday July 11, 2025 @12:03PM (#44533769)
You’re looking as a dev, but the reality is that a consumer cannot see technical debt. If the studio churns out a game, the vendor sprinkles on some optimizations, people play it and move on, then the tech debt just vaporizes into the void. It’s not real at that point.
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by wtetzner on Friday July 11, 2025 @03:40PM (#44536122)
Just because a consumer can't see technical debt doesn't mean they aren't paying for it. Most game studios continue to re-use code, so it doesn't just "vaporize" into the void.
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by 8n4vidtmkvmk on Friday July 11, 2025 @06:28PM (#44537407)
I'm pretty sure I pay this debt with lost FPS and every time I glitch through the floor into the nether.
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by SideQuark on Friday July 11, 2025 @04:42PM (#44536607)
> technical debt, and that has a cost that someone, somewhere is going to have to pay in some form

There is no reason anyone has to pay each and every iota of technical debt. Plenty of things with technical debt hit end of life and no one ever looks in that code again. I suspect most technical debt goes this way - in program, program never updates (or minor updates), then dies.

Your claim would require every piece of technical debt in anything ever (code, buildings, cars, anywhere) has to be removed before the thing goes end of life or goes into a mode where it never is changed. That seems ludicrous to me.

Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by cyanydeez on Friday July 11, 2025 @05:47PM (#44537089)
Does anyone talk about how technical debt often just gets thrown into the garbage so we can buy fancy new technical crap, and its what pays for most of yalls jobs.
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by btbuilder on Friday July 11, 2025 @11:35AM (#44533366)
I believe the driver silently swapped the textures to lower quality ones that looked worse but gave a performance boost.
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by itsTyrion on Friday July 11, 2025 @11:50AM (#44533586)
it rendered in lower quality, IIRC lower textures / much more aggressive mipmapping and/or LOD
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by gmueckl on Friday July 11, 2025 @12:47PM (#44534311)
Except that if a developer has that kind of market pull, nVidida will gladly help those devs with getting it right. They are excellent at maintaining developer relations.
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by mcculley on Friday July 11, 2025 @02:22PM (#44535421)
I was surprised to see “AAAA”. I didn’t know there were 4 As now.

“AAAA Game Studio shits out another unoptimized clunker” seems a paradoxical statement to me. I would have thought “AAAA” meant “highly resourced” game company. Does it just mean high revenue? Lots of players?

Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by bigfishrunning on Friday July 11, 2025 @03:42PM (#44536136)
AAAA isn't a real thing, it's a memey joke based on a press release by a microsoft studio that was closed before ever releasing a single game
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by wtetzner on Friday July 11, 2025 @03:42PM (#44536130)
AAA/AAAA just means "how much money was spent developing the game". High cost doesn't automatically equal high quality. In fact, it seems after a certain point to mean the opposite.
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by vinceguidry on Friday July 11, 2025 @02:37PM (#44535572)
The more money you throw at an effort, the more gets flushed out as waste, and the harder it is to maintain quality. Pretty universal across business.
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by mwpmaybe on Friday July 11, 2025 @02:24PM (#44535442)
High price...
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by toast0 on Friday July 11, 2025 @02:31PM (#44535511)
> Was it a scandal at the time?

Yes. My understanding was it was optimized by reducing precision or something to a visibly apparent degree.

It's different if the driver changes things in ways such that rendered output is the same or at least imperceptibly different. I think there's also a lot more communication between gpu makers and game/engine developers these days; plus a lot more frequent updates.

Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by KronisLV on Friday July 11, 2025 @03:21PM (#44535959)
> My understanding was it was optimized by reducing precision or something to a visibly apparent degree.

If only we had that sort of a control over rendering for every game ourselves - since projects like OptiScaler at least let us claw back control over sometimes proprietary upscaling and even framegen, but it's not quite enough: https://github.com/optiscaler/OptiScaler

I'd also mention Lossless Scaling here, though it still only works on upscaling and framegen and with worse methods, but at least works for most games out there: https://store.steampowered.com/app/993090/Lossless_Scaling/

I want to be able to freely toggle between different types of AA and SSAO and reflections and lighting and LOD systems and various shader effects (especially things like chromatic aberration or motion blur) and ray tracing and all that, instead of having to hope that the console port that's offered to me has those abilities in the graphics menu and that whoever is making the decisions hasn't decided that actually "low" graphics (that would at least run smoothly) would look too bad for the game's brand image or something.

Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by bayindirh on Saturday July 12, 2025 @10:07AM (#44542177)
A friend of mine developed his own game engine, and what he said is you need to bargain with the nVidia driver, because hardware doesn't perform at its peak when you write everything honoring the spec, and driver feels free to ignore your commands about how you want to do some things (e.g. memory transfers).

Like board manufacturers, the game developers also need to please the drivers and do the way driver silently dictates to them (regardless of what DirectX, OpenGL or Vulkan says), otherwise all bets are off.

Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by IAmBroom on Friday July 11, 2025 @10:43AM (#44532702)
In at least one past version of Windows (circa 1990s), if you tried to replace the default web browser of IE with another choice you were given an Open File dialog window to choose the executable.

Funny quirk, though: that particular window wouldn't show files named firefox.exe. It would accept that as typed input, if you were at the correct folder, but the file listing omitted that particular file.

Maybe it was mozilla.exe; it was a long time ago. But that was the discovery that pushed me off IE forever.

Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by lstamour on Friday July 11, 2025 @10:54AM (#44532828)
I vaguely remember that being the start of the browser prompts to set your current browser as the default. It was so hard to just configure that they had to build a way to set it within the browser.

You saw that again in more modern times when Microsoft removed support for the APIs they provided to set browser defaults, forcing browser makers to write step by step instructions on what to click to set the default browser.

I believe they walked that back, but it left such a bad taste that I switched my installation of Windows from default mode to EU mode in order to avoid it. And come to think of it, I haven’t used my windows machine for much outside of AI in about 6 months.

But Microsoft is not alone in these sort of defaults games - every OS or browser maker, Apple, Google, Firefox, wants to create moats so they can more easily monetize your usage of a product. I never thought I’d prefer the business model of free to play games, where they just outright ask you for money and have to keep finding new ways to entertain instead of relying on hard to change defaults and selling your data.

Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by charcircuit on Friday July 11, 2025 @02:05PM (#44535250)
An app being able to see itself as the default browser sounds like such a dangerous API, especially if it can be done silently without the user realizing it.
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by hinkley on Friday July 11, 2025 @10:15AM (#44532413)
There are bugs that certain games rely on and features that some don’t use. I’m currently trying to optimize a library out of spite. (I want it to work better than the competitor that caused me a lot of problems on a recent project). The amount of conditional logic around what is essentially a function to increment a value is breathtaking.
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by gatlin on Friday July 11, 2025 @10:21AM (#44532475)
Do you have any kind of example you're able to share? I don't mean to take your IP but I want to see this breathtaking vista.
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by amiga386 on Friday July 11, 2025 @11:07AM (#44532994)
A simple example would be that the function glGetString(GL_EXTENSIONS) crashes the original Quake engine and many licensees, because it's expecting no more than a 256 character string.

The driver looks to see if a known old game is calling it, and if it's one known to crash, it returns no more than 256 characters, and likely also puts all the _old_ extensions that the game is likely to know and react to in the string.

There are also all sorts of games that called APIs in a particular order or set particular options, because they represented a "fast path" at the time, and now they don't, but if you're that program, then yes they do.

Ultimately, this clutter is what let do the development of the Vulcan API, to stop games second-guessing graphics APIs which themselves second-guess the games.

Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by hinkley on Friday July 11, 2025 @10:30AM (#44532550)
To avoid doxxing myself: In a deep call stack it’s possible to end up sanitizing inputs multiple times and in different ways.

A frequent example I’ve encountered is web frameworks that have to keep checking for escaped text because they didn’t write it in horizontal layers where you know for sure that all inputs have been scrubbed when they reach this function but not that one. So the same functions get called with data that comes from your team and from customers. Reuse is tricky.

Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by hamburglar on Friday July 11, 2025 @05:48PM (#44537095)
“Checking for escaped text” is the sort of nonsense that tells you you’re dealing with amateur developers.
Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by withinboredom on Friday July 11, 2025 @07:31PM (#44537873)
Indeed. The rules are simple:

- Unescape, sanitize or validate at all entry points.

- Escape all outputs (this includes the database queries).

If you follow those simple rules, you never have to check once you are past a controller. And you should fuzz your controllers to make sure no unexpected data makes it past there.

Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by hinkley on Saturday July 12, 2025 @11:58AM (#44542953)
Thing about taking a job is they don’t generally let you look at the code first and nope out if it’s fucked six ways to Sunday.

Everyone has clever answers for greenfield projects and empty rhetoric for brown.

Re:FP8 is ~100 tflops faster when the kernel name has "cutla... by bosco_mcnasty on Saturday July 12, 2025 @10:43AM (#44542417)
the etiology of this hack is pretty obvious with a simple google search:

https://docs.nvidia.com/cutlass/index.html

it presumably makes various assumptions and speedups for NVIDIA's matrix multiplication library... called cutlass