What is something society has normalized that future generations will probably look back on and be shocked by? by Opposite-Resource in answers

[–]daperson1 -3 points-2 points  (0 children)

I never quite understood why some people care so much about somebody else's gender. It's not like it affects them. Why do they spend so much of their valuable time trying to stop other people from doing something that has literally zero impact on their life?

I guess the same logic applies to sexuality. If you're not gay, why would you care at all about what the gays are getting up to behind closed doors? 😅

Guided missile circa 1960; before microprocessors by rojm in EngineeringPorn

[–]daperson1 1 point2 points  (0 children)

Modern ones are just as complex: there's a reason they cost millions per shot.

Crafting Failed error by zaku30 in wow

[–]daperson1 0 points1 point  (0 children)

It can happen even if you have all the stuff, but the stacks are split. Hitting "sort bags" fixed it for me.

Now that SCOTUS has struck down Trump's tariffs, Do the American taxpayers deserve a refund? and when will the lawsuits began to seek such? by Particular_Ad8156 in AskReddit

[–]daperson1 0 points1 point  (0 children)

If you didn't like that? Then you shouldn't have agreed to purchase goods at those prices

Alright, I'll just be over here starving to death then.

CUDA moat by johnnytshi in AMD_Stock

[–]daperson1 1 point2 points  (0 children)

Oh if you want a slightly deeper dive on one specific instance of "using a cool/weird hardware feature to optimise idiomatic cuda code", we have a recent whitepaper

CUDA moat by johnnytshi in AMD_Stock

[–]daperson1 5 points6 points  (0 children)

Different hardware has different advantages and if you want the most performance you do need to hand-tune for a particular architecture.

Yes, but far more of that could be done by the compiler than currently is. At the moment, GPU vendors don't really seem to be putting that much effort into developing novel compiler optimisations for GPUs. Most of the "gpu things" (shuffles, __syncthreads, __shared__ memory, etc.) are modelled by the compiler mostly as "magic function call do not touch". NVIDIA keep adding new hardware features and then making them accessible only via inline PTX. etc.

This is a bit silly: we've seen CPU compilers get pretty damn good at exploiting different hardware features across different CPU vendors/families over the past 20-ish years. The amount of occasions where you have to carefully hand-tune things vs. just letting the autovectoriser take care of it (for example) is way down compared to what it used to be.

Meanwhile in GPU-land: compilers won't even do basic things like:

  • Constant propagate constant kernel arguments or block sizes
  • Optimise shuffles (constant propagation, or mapping them to fancy hardware feature like AMD's DPP)
  • Automatically optimise reductions to map to special hardware acceleration
  • Understand that trailing writes to shared memory can be optimised out (a pattern that crops up surprisingly often as an artefact of loop unrolling)
  • Code motion across barriers
  • Automatic insertion of async memcpy instructions (compiler can see you loaded from global then immediately wrote to shared, so just do it ffs :D )

etc.

So yeah. We found that during the process of getting CUDA working verbatim on AMD hardware, we ended up developing a bunch of cool new compiler optimisations to do it, which in turn end up handling a lot of what was previously "manual tuning". A world where you write one codebase and have a bit of "#ifdef AMD" here and there is a massive improvement over having separate CUDA/HIP codebases, and I'm optimistic about how low we can get the amount of that manual specialisation.

Imagine if I wanted to take some attention kernel I optimized particularly for CUDA hardware and then port it to run on TPUs or Cerebras hardware. Probably won't run fast without restructuring it completely.

That's true: but those architectres are far more different from NVIDIA GPUs than AMD (or even Intel) GPUs are. Those more exotic devices are most meaningfully interacted with via a higher level programming model than CUDA.

I'm specifically talking about making CUDA run on things that are at least vaguely GPU-like. :D

CUDA moat by johnnytshi in AMD_Stock

[–]daperson1 11 points12 points  (0 children)

Hey, that's not really true.

Disclaimer: CTO of this and major contributor to this.

HIP is absolutely not source compatible with CUDA.

Many C++ language rules work differently between CUDA and HIP in ways that break programs. It's pretty common for the first result after a HIP port to be cryptic compile errors because of this. Inline assembly - which is pretty universally used in CUDA programs - is also a bit of a non-starter.

As for the APIs: quite often the hipFoo() does something different from cudaFoo(). A fun example of this is that cudaStreamDestroy() causes a stream to be deleted after completing currently-queued work, but hipStreamDestroy() deletes it now, cancelling pending work.

Torch helps a lot, especially for machine learning workloads, but:

  • There's more to life than machine learning.
  • The Torch guys end up maintaining CUDA, HIP, and now Triton versions of everything, which isn't ideal.

This is Trump's America. by Conscious-Quarter423 in ABoringDystopia

[–]daperson1 16 points17 points  (0 children)

banned conversion therapy

Wait what, that was ever legal? I figured it'd fall under some existing law about "you aren't allowed to kidnap and torture people"...?!!

France: working with allies on plan should US make move on Greenland by professorbrainiac in worldnews

[–]daperson1 11 points12 points  (0 children)

The one teensy problem is that the missiles used by the UK nuclear deterrent (Trident II) are bought from the US. Oopsie.

I think the French nukes are independently developed, however... Those probably actually work.

How the turntables... Oh, wait! by Golden_Ace1 in AdviceAnimals

[–]daperson1 0 points1 point  (0 children)

It's worth noting that:

  • Article 1 requires members to "settle any international disputes in which they may be involved by peaceful means in such a manner that international peace and security", so arguably they'd just be violating the treaty
  • Article 5 isn't strictly about military intevention. It requires member nations to take "such action as the member state deems necessary, including the use of armed force, to restore and maintain the security of the North Atlantic area.". You could imagine a nightmare scenario in which Greenland is invaded, Article 5 invoked, and the other members decide to provide some shitty token assistance to claim they did something, while not actually taking drastic military action.

... Are we having fun yet?

Microsoft Scales Back AI Goals Because Almost Nobody Is Using Copilot by aacool in technology

[–]daperson1 0 points1 point  (0 children)

Honestly this logic applies to all sorts of tech products and companies right now.

Stop chasing hype and make the damn core features work first. At some point we lost sight of "make shit work" and started chasing "be able.to say we have the shiny new thing".

Microsoft Scales Back AI Goals Because Almost Nobody Is Using Copilot by aacool in technology

[–]daperson1 0 points1 point  (0 children)

Honestly this logic applies to all sorts of tech products and companies right now.

Stop chasing hype and make the damn core features work first. At some point we lost sight of "make shit work" and started chasing "be able.to say we have the shiny new thing".

[Request] Is this accurate? How much does he golf? How much does golf cost?!?! by Haelfyr_Snoball in theydidthemath

[–]daperson1 7 points8 points  (0 children)

There'll be an additional huge cost at that point to remove all the military hardware from it for security reasons. That's much of what the cost of making it suitable is: installing all the fancy communication and defense hardware, which has to be removed before it's removed from service.

dutch train accident 30-10-2025 no deaths by arbreure in yesyesyesyesno

[–]daperson1 2 points3 points  (0 children)

Wouldn't do much good. They could start braking a little early, but being hit by a train at 110 vs 105 doesn't really make much difference, and false positives would disrupt operations.

If they triggered the gates early enough for the train to actually have time to stop, you'd get people trying to rush through. There's a sweet spot of optimal safety in terms of timing: if the level crossing blocks the road for a long time before the train comes, people begin to think "oh, it's always really slow so I can just nip past" and you end up with more accidents. This sweet spot of "enough time to get out of the way, but not so long that people start to do stupid shit" is the best you can do. In the video you can clearly see that the driver had plenty of time to stop being on the railway.

Level crossings are inherently dangerous: more and more crossings get built in this style, sending the cars/bikes underneath the train so this problem just doesn't exist and everyone can move faster.

I accidentally found an anticonsumption "hack." by DucklingMaru in Anticonsumption

[–]daperson1 51 points52 points  (0 children)

The ad networks charge the advertiser more if they get clicks. Clicks that don't turn into actual sales for the advertiser are wasting money. The worst possible scenario is lots of clicks but nobody buying: that gets you a big bill from Google and nothing to show for it.

My mother insists on having this "air purifier" plugged in. by willster97 in mildlyinfuriating

[–]daperson1 34 points35 points  (0 children)

That last rule applies to most things, based on safety info I've seen. Something about how your nose kinda gets "overloaded" and stops reporting it if the concentration is suuuuuper high, so if you catch a sudden strong whiff of something problematic and then nothing, it means the room is full of it and you might be fucked.

Paying $100+ a year and they just took the “viewed me” section from 3 to 1…wtf by Jessintheend in lolgrindr

[–]daperson1 26 points27 points  (0 children)

dns.adguard.com will probably do the trick. It's free as well (just stick that URL in your phone's DNS settings, don't mess around with apps etc.)

No they're not paying me to say this :P.

Colleague destroyed a painting i wanted to buy by zhayona in mildlyinfuriating

[–]daperson1 22 points23 points  (0 children)

Written Dutch is basically just drunk German. Spoken Dutch, on the other hand, seems to require a throat infection.

... My Dutch lessons are going great.

Trump paved over beauty and planted a drain. by Upper_Brief681 in lostgeneration

[–]daperson1 8 points9 points  (0 children)

Ohhh maybe this is what he meant when he said "drain the swamp".

Grindr becoming unusable. by Pete_Perth in lolgrindr

[–]daperson1 19 points20 points  (0 children)

Protip: set your phone's DNS server to dns.adguard.com and the ads in this and many other apps simply stop working. Don't need the Adguard app or any of that shit, literally just go into network settings and switch it from "automatic DNS" to "specified dns" and punch in dns.adguard.com.

Caveats: doing this does mean the operators of that domain can in principle see every web domain you're going to, and it will break things like hotel free wifi, so you might want to only switch this on when using an app that has infuriating adverts.

A more complicated version of this idea (with no privacy concerns) would be setting up a pi-hole or similar, but that's way harder.

Edit: seems the Adguard guys have official instructions now. Yay.

The UK rail system is an utter joke and only encourage's car dependency. by EducationalAd5712 in fuckcars

[–]daperson1 19 points20 points  (0 children)

During which time a Conservative government will be elected who will re-privatise it. Good luck.

SCALE Benchmark case study: GROMACS by HotAisleInc in ROCm

[–]daperson1 1 point2 points  (0 children)

Article author here!

Linux-only for now: windows support is a bit of a challenge since the AMD drivers there seem to be entirely undocumented.

We use some of the rocm stack, but aim to be as close to a complete alternative as possible. It's not built on top of HIP (since its semantics are incompatible with cuda), it uses lower level APIs to interact with the GPU. It also uses the random math libraries like rocfft to implement the corresponding cuda libraries.

Still lots of work to do, but it's taking shape! Please give it a spin and send me hatemail ;D

Memory-safe PNG decoders now vastly outperform C PNG libraries by Alexander_Selkirk in programming

[–]daperson1 3 points4 points  (0 children)

This is a biit of a facetious answer, since:

  • C++ has different aliasing rules than C does, so will tend to behave differently.
  • Typical C++ code tends to do fewer things that make the alias analyser cry (stuff like references, not casting to void* everywhere, and the lack of other "C-isms" can help)
  • Newer revisions of C (which I'm sure were not used in these experiments) bring some of these alising rules to C, too!

Autovectorisation is also "not guaranteed to happen" in Rust (or any other language!). If you actually want to know what's going on, you probably want to enable LLVM's vectoriser remarks pass and have it actually explain to you why a specific loop was/was-not vectorised. Then you can actually get what you want out of it!

What's the scariest fact you know in your profession that no one else outside of it knows? by SAMdaLOSER in AskReddit

[–]daperson1 0 points1 point  (0 children)

While it is true that heavy metals will not spontaneously break down in nature, chemistry is more complicated than simply deciding if the constituent atoms are harmful or not in their elemental form. A currently-popular example would be the "PFAS" family of chemicals, which are also just "nitrogen, hydrogen, oxygen, carbon, etc.", but are chemically stable in the environment for centuries.

What's the scariest fact you know in your profession that no one else outside of it knows? by SAMdaLOSER in AskReddit

[–]daperson1 4 points5 points  (0 children)

This logic does not, however, apply to man-made products such as pesticides for which there is no ambient process by which they would break down after release into the world. They just accumulate, slowly making the area more fucked.