mkretz

👨‍👦👩‍👧‍👧, C++ committee numerics chair, SIMD specialist, CS PhD, Dipl.-Phys, high energy physics, former KDE core developer, FLOSS user & supporter,🏃‍♂️🚴‍♂️🏋️‍♂️

mkretz boosted:
Twra SunTwraSun
2025-06-29

🔴 👁 - The MAGA-Cult explained:

mkretz boosted:
Christian Stöckerchrisstoecker
2025-06-26

I probably am not the only one that certainly will never travel to the US again as long as the @GOP is in power there.

The speed at which they destroy the foundations of US strength is mindboggling.

Effective immediately, all individuals applying for an F, M, or J nonimmigrant visa are requested to adjust the privacy settings on all of their social media accounts to ‘public’ to facilitate vetting necessary to establish their identity and admissibility to the United States under U.S. law.
2025-06-23

@DanielaKEngert not recoveryroad cycling but recovery roadcycling 😄

2025-06-23

My bike must have missed me. It drove really fast through the 26–54 km/h wind. 😅

#roadcycling #beatyesterday

WG21 Recovery Road Cycling
Distance: 23.26 km
Total Time: 43:34
Avg Speed: 32.0 km/h
2025-06-21

@mbr @somebody I believe that writing sqrt(a²-b²) is a bug unless there is a precondition that a and b are far enough apart or at the very least a guard against value-changing optimizations (such as FMA contraction or excess precision). So my mental model prefers a NaN, which may be easier to track down, over a -0 that hides the "bug".
But thank you. That was helpful to understand how this was motivated, even if I disagree with it.

2025-06-21

And we just renamed it again. Who would have thought that we can name something 'vec' when we already have 'vector' 😅.
It'll be std::simd::vec<T, N> and std::simd::mask<T, N> in C++26.
Also vec and mask are (read-only) ranges now (range-based for works) and we got permutations, gather & scatter, compress & expand as well as mask conversions to and from bitset and unsigned. 🥳
Lot's of implementation and optimization work ahead for me now.

#cpp26 #simd #cplusplus #cpp

2025-06-21

@somebody @mbr My mental model for -0 is a value in the range (-denorm_min, 0) and +0 in [0, denorm_min). Because -0 can only be the result of underflow. Exact zero results are always +0.
I still don't understand why you want very small negative numbers to be preserved under sqrt when all other negative numbers are not.
And of course the inconsistency still doesn't make any sense.

2025-06-21

Why did IEEE specify sqrt(-0) to be -0?! That's … surprising when applied to the interpretation of -0 in the context of complex numbers:
sqrt(complex{-0,+0}) is complex{+0,+0}.
And also pow(-0, 0.5) is +0.
If anything sqrt(-0) should be NaN, but why -0?

#floatingpoint #iec60559 #ieee754 #CPlusPlus #C #cpp

2025-06-10

@Methylzero @diehlpk @hpcnotes I've been asking that question since 2009, when I started doing #SIMD. It's not just GPUs where this makes a difference. FP32 is significantly more efficient on CPUs since a long time.

2025-06-10

@Methylzero @diehlpk @hpcnotes IMHO it is not great engineering to say FP32 doesn't work but FP64 does, and since it's available that's the solution. Whenever I read code that uses FP64 there is no mention as to why something else isn't sufficient. Is it because of range, precision, or just because "I was told to default to FP64"? That's impossible to see from your typical C++ code. Would fixed-point have been a solution? Or FP32 after renormalization? Or en.wikipedia.org/wiki/Quadrupl using FP32?

mkretz boosted:
2025-05-31

Bitte die Aufmerksamkeit auf die wirklich relevanten Dinge lenken, und sich nicht von Pseudo-Wichtigem ablenken lassen.
Prof. Maja Göpel auf der Re:Publica 2025.

2025-05-20

@remi `pipx install cppman && cppman -c`
This is especially useful on a Laptop when travelling. I use my own vim-cppman plugin for access to documentation while coding.

mkretz boosted:
2025-05-19
2025-05-17

@dermojo Yes, but what if the namespace groups all functions, traits, concepts, and related types centered around one "name-giving" type. E.g. boost::histogram::histogram<...>, or my (obvious) candidate std::simd::simd<T> ? Would a good design invent a new name for the namespace? Or is that more noise than help?

mkretz boosted:

Excellent, excellent post: we must run governments--from local to federal--like households where everyone cares about everyone else (even when we don't fucking like them that much--we don't have to love or even like everyone we live in community with)

#GovernmentLikeAHousehold

Tumblr post by:
weaselle
Jun 18, 2024

i’ve said it before and i’ll say it again: what we want is for these things to be run like a HOUSEHOLD… a home. A household still has a budget and an income and resources to manage; all the moving parts are the same but the focus is different.

a business will let every person in it die a terrible death if it makes the business profit. A household will spend it’s last dollar to keep the people in it safe and healthy.

A household will use money as a resource to add value to the lives of the people in the household. A business will use people as a resource to add monetary value to the business

We don’t want a government run like a business, we want a country run like a household. Because we live here.
mkretz boosted:
Carlos O'Donellcodonell@fosstodon.org
2025-05-16

"Jonathan talks to us about libstdc++ (GCC's standard library implementation), of which he is the lead maintainer, and tackles some tough questions like ABI compatibility - and how GCC and libstdc++ approach it." cppcast.com/libstdcpp/ @gnutools

2025-05-16

@akademy @akademy@lemmy.kde.social It's been a while. "the place". Akademy was the meeting after Kastle? Ludwigsburg, right?

2025-05-16

There's resistance against using the same name in a namespace and a type inside that namespace. Why? What is the actual problem with this code? Is the 'foo::foo' looking too much like a constructor definition (in that context)? Isn't it great how the call to 'bar' has a clear relation to 'foo'?
Why is it considered bad practice that shouldn't pass code review?

#cpp #cplusplus #WG21 #cpp26 #namingThingsIsHard

namespace lib
{
  namespace foo
  {
    template <typename T>
    class foo;

    template <typename T>
    T bar(foo<T>);
  }
}

namespace foo = lib::foo;

template <typename T>
void f(const foo::foo<T>& x)
{
  auto y = foo::bar(x);
  // ...
}
mkretz boosted:
2025-05-16

If you aren’t using AI, you run a very real risk of falling behind in the race to produce voluminous mediocrity while slowly forgetting how to do your own job.

mkretz boosted:
universeinthelab_enFAIR_GSI_en@helmholtz.social
2025-05-13

The YouTuber duo from #PeriodicVideos visited our target lab and had Bettina Lommel @zurkine show them the targets we shoot at with the particle accelerators. Find out which target is the most valuable 👉
youtube.com/watch?v=l85eip4zee

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst