PAPPP

joined 1 year ago
[–] PAPPP@lemmy.sdf.org 17 points 3 months ago

I initially didn't do enough of that in my PhD thesis (CS, about some weird non-frame-based imaging tech that is still only of academic interest), and my committee demanded I add more stake-claiming favorable comparisons to other tech to my introduction before I submitted.

[–] PAPPP@lemmy.sdf.org 5 points 4 months ago

Alternate perspective: I use the heck out of session restore, and it has driven me nuts that it hasn't worked properly under Wayland.

I tend to use different virtual desktops for different projects, so being able to reboot (because of a kernel update and needing to load a module or something) without losing and having to rebuild that state is is super valuable.

[–] PAPPP@lemmy.sdf.org 3 points 4 months ago

...I probably should have checked the byline before posting. It does still come from the same material, just a little more directly.

[–] PAPPP@lemmy.sdf.org 3 points 5 months ago (2 children)

There's some weirdness on that because she did some important but not-very-public work at IBM in the 60s with their ACS/"Project Y" effort that did what we later call superscalar/multi-issue processors like ...20 years before those terms existed. As part of that she wrote a paper about "Dynamic Instruction Scheduling" in 1966 under her pre-transition identity that is a like retroactive first cause for a bunch of computer architecture ideas.

There was almost nothing about that work in public until Mark Smotherman was doing some history of computing work in the late 90s, put out a call for information about it, and she produced a huge trove of insider information after deciding it was worth exposing the provenance. There's a neat long-form LATimes piece about the situation which is probably the primary source for the history in OP's link.

[–] PAPPP@lemmy.sdf.org 1 points 5 months ago

That's credible.

I find the hardware architecture and licensing situation with AMD much more appealing than Nivida and really want to like their cards for compute, but they sure make it challenging to recommend.

I had to do a little dead reckoning with the list of supported targets to find one that did the right thing with the 12CU RDNA2 680M.

I've been meaning to put my findings on the internet since it might be useful to someone else, this is a good a place as any.

On a fresh Xubuntu 22.04.4 LTS install doing the official ROCm 6.1 setup instructions, using a Minisforum UM690S Ryzen 9 6900HX/64GB/1TB box as the target, and after setting the GPU Memory to 8GB in the EFI before boot so it doesn't OOM.

For OpenMP projects, you'll probably need to install libstdc++-12-dev in addition to the documented stuff because HIP won't see the cmath libs otherwise (bug), then the <CMakeConfig.txt> mods for adapting a project with accelerator directives to that target are

find_package(hip REQUIRED)
list(APPEND CMAKE_PREFIX_PATH /opt/rocm-6.1.0)
set(CMAKE_CXX_COMPILER ${HIP_HIPCC_EXECUTABLE})
set(CMAKE_CXX_LINKER   ${HIP_HIPCC_EXECUTABLE})
target_compile_options(yourtargetname PUBLIC "-lm;-fopenmp;-fopenmp-targets=amdgcn-amd-amdhsa;-Xopenmp-target=amdgcn-amd-amdhsa;-march=gfx1035"

And torch, because I was curious how that would go (after I watched the Docker based suggested method download 30GB of trash then fall over, and did the bare metal install instead) seems to work with PYTORCH_TEST_WITH_ROCM=1 HSA_OVERRIDE_GFX_VERSION=10.3.0 python3 testtorch.py which is the most confidence inspiring.

Also amdgpu_top is your friend for figuring out if you actually have something on the GPU compute pipes or if it's just lying and running on the CPU.

[–] PAPPP@lemmy.sdf.org 8 points 5 months ago (2 children)

Neat.

I set up some basic compute stuff with the ROCm stack on a 6900HX-based mini computer the other week (mostly to see if it was possible as there are some image processing workloads a colleague was hoping to accelerate on a similar host) and noticed that the docs occasionally pretend you could use GTT dynamicly allocated memory for compute tasks, but there was no evidence of it ever having worked for anyone.

That machine had flexible firmware and 64GB of RAM stuffed in it so I just shuffled the boot time allocation in the EFI to give 8GB to the GPU to make it work, but it's not elegant.

It's also pretty clumsy to actually make things run, lot of "set the magic environment variable because the tool chain will mis-detect the architecture of your unsupported card" and "Inject this wall of text into your CMake list to override libraries with our cooked versions" to make things work. Then it performs like an old GTX1060, which is on one hand impressive for an integrated part in a fairly low wattage machine, and on the other hand is competing with a low-mid range card from 2016.

Pretty on brand really, they've been fucking up their compute stack since before any other vendor was doing the GPGPU thing (abandoning CTM for Stream in like a year).

I think the OpenMP situation was the least jank of the ways I tried getting something to offload on an APU, but it was also one of the later attempts so maybe I was just getting used to it's shit.

[–] PAPPP@lemmy.sdf.org 11 points 8 months ago (1 children)

Don't trust that they're 100% compatible with mainline Linux, ChromeOS carries some weird patches and proprietary stuff up-stack.

I have a little Dell Chromebook 11 3189 that I did the Mr.Chromebox Coreboot + Linux thing on, a couple years ago I couldn't get the (weird i2c) input devices to work right, that has since been fixed in upstream coreboot tables and/or Linux but (as of a couple months ago) still don't play nice with smaller alternative OSes like NetBSD or a Haiku nightly.

The Audio situation is technically functional but still a little rough, the way the codec in bay/cherry trail devices is half chipset half external occasionally leads to the audio configuration crapping itself in ways that take some patience and/or expertise to deal with (Why do I suddenly have 20 inoperable sound cards in my pulse audio settings?).

This particular machine also does some goofy bullshit with 2 IMUs in the halves instead of a fold-back sensor, so the rotation/folding stuff via iio sensors is a little quirky.

But, they absolutely are fun, cheap hacker toys that are generally easy targets.

[–] PAPPP@lemmy.sdf.org 4 points 10 months ago (1 children)

You can still readily get crank hand drills, I have a (vaguely) modern one that I use for situations where I want the control/tactile feedback and/or have restricted access or the like. It covers a different set of problems than the standard cordless.

Mine is Fiskars branded and a little plasticky (and not the version they sell currently). I like it enough that I'll get a nicer one if I kill it.

[–] PAPPP@lemmy.sdf.org 6 points 10 months ago (1 children)

They don't have to be specified in a monolithic fashion, but some things - like the input plumbing and session management examples I made - do have to be specified for for software to work when running under different compositors. FD.o basically exists because we already learned this lesson with other compat problems, and solved it without putting it in the X monolith - it's why things like ICCM and EWMH happened; there were more details than were in the existing APIs that everyone needed to agree on to make software interoperate.

Competing implementations are great, but once you have significant inertia behind competing implementations which are not compatible or at least interoperable, you've fragmented the already-small Linux market share into a maze of partially-incompatible micro-platforms. We're not going to have compositing and non-compositing, we're going to have 3ish (KDE/Qt [kde], Gnome/Gtk who aren't even doing documented protocols, and Everyone else - mostly [wlr] extensions) incompatible sets of protocols for basic functionality.

Looking at the slow bitter process to extend or replace components once implementations that rely on them exist, that's not something to count on. Remember how it took 15 years of contention to eventually transition to D-Bus after CORBA/Bonobo and DCOP? That's whats about to happen with things like the incompatible gtk and qt session management schemes. And that resolution was forced by the old HAL system using it, not the other parties involved getting their shit together of their own accord.

One place we're about to see innovation is wayland-stack-bypassing workarounds. Key remapping is currently in that category, the wayland protocols suite punted.... so instead, keyd sniffing all the HID traffic at the evdev and/or uinput layer and outputting the rule-edited streams to virtual HID devices. That one does have a certain global elegance (works on ttys!), but it's also layering violations with privileged processes.

[–] PAPPP@lemmy.sdf.org 22 points 10 months ago* (last edited 10 months ago) (6 children)

I will preface that Xorg is obviously an unmaintainable mess of legacy decisions and legacy code, and I have both a machine that runs Hyprland and a machine that usually starts Plasma in Wayland mode so the Wayland situation getting to be more-or-less adequate with persistent irritations here and there... but Wayland is trauma-driven-development. It's former xorg developers minimizing their level of responsibility for actual platform code, but controlling the protocol spec, and in the position to give up on X in time with their preferred successor.

Essentially all of the platform is being outsourced to other libraries and toolkits, who are all doing their own incompatible things (Which is why we have like 8 xdg-desktop-portal back-ends with different sets of deficiencies, because portals were probably designed at the wrong level of abstraction), and all have to figure out how to work around the limitations in the protocols. Or they can spend years bikeshedding about extensions over theoretical security concerns in features that every other remotely modern platform supports.

Some of that outsourcing has been extremely successful, like Pipewire.

Some attempts have been less successful, like the ongoing lack of a reasonable way to handle input plumbing in a Wayland environment (think auto-type and network kvm functionality) because they seem to have imagined their libinput prototype spun out of Weston would serve as complete generic input plumbing, and it's barely adequate for common hardware devices - hopefully it's not too late to get something adequate widely standardized upon, but I'm increasingly afraid we missed the window of opportunity.

Some things that had to be standardized to actually work - like session management - have been intentionally abdicated, and now KDE and Gnome have each become married to their own mutually-incompatible half solution, so we're probably boned on that ever working properly until the next "start over to escape our old bad decisions" cycle.... which, if history holds, isn't that far away.

We're 15 years in to Wayland, and only in the last few years has it made it from "barely a tech demo" through "Linux in the early 2000s" broken, and in the last year to "problems with specific features" broken ... and it is only 4 years younger than the xf86->xorg fork.

[–] PAPPP@lemmy.sdf.org 13 points 1 year ago

The argument was that if you put all your static resources in /usr, you can mount it RO (for integrity, or to use a ROM on something embeddedish) or from a shared volume (it's not uncommon to NFS mount a common /usr for a pool of managed similar machines).

...that said, many of the same people who made that argument are also the ones that went with making it so systemd won't boot without /usr populated anymore, so that feature is now less useful because it has to be something your initramfs/initcpio/whatever preboot environment mounts rather than mounted by the normal fstab/mount behavior, and the initcpio/initramfs/dracut schemes for doing that all (1) require a redundant set of tools and network configs in the preboot (2) are different and (3) are brittle in annoying ways.

It still works OK if you're using a management tool like Warewulf to manage configs and generate all the relevant filesystems and such, but it's a lot more fucking around than a line in fstab to mount usr once the real system is up like the old days.

[–] PAPPP@lemmy.sdf.org 5 points 1 year ago

Systemd-boot didn't start as part of systemd, it used to be gummiboot (joke in German, it's what those little rubber inflatible boats are called).

Systemd absorbed and integrated it in 2015.

It did start at RedHat with Kay Sievers and Harald Hoyer, which makes it unsurprising it was absorbed.

I've been transitioning to it as my default choice, I've never liked grub2, so I defaulted to syslinux for a long time, but lately systemd-boot is even less of a hassle.

26
submitted 1 year ago* (last edited 1 year ago) by PAPPP@lemmy.sdf.org to c/coffee@lemmy.world
 

As I continue my palate-developing tour of Lexington, KY's local roasters, three selections from GarageBean'd. I've tasted them as 16:32 ~30s espresso and as 11:200 Hoffman-method Aeropress, fresh ground appropriately for each.

They're super reasonably priced ($10-15/lb) for single-origin small-roaster products, and do bags from 8oz-1lb (and samplers) so you can try stuff, both of which are things I appreciate.

All three I picked are extremely characterful, and at least pretty good. I intentionally picked stuff that would be interesting for palate development rather than specifically to my tastes. I've done the reading for other-than-washed process coffees, but not tried many, and that was a lot of the focus for this round.

EspressYoSelf is a fairly classic modern espresso blend, the bill lists components from Brazil, Guatemala, Dominican Republic, Ethiopia, & India. It also notes a mix of Washed, Dry, Natural and Monsooned components. They roast it barely into medium-dark, just over 5/10 on their scale, which is around my preference for Espresso. It's SUPER complex with lots of molasses and spice notes. It does have a slightly "dirty" finish compared to some other espresso blends from my local tour; I'm not a good enough taster to pick out for sure why, I think it might be the monsooned probably-Indian-robusta component. The body kind of reminds me of stabilized whipped cream: it starts out feeling really substantial and kind of thins in your mouth, which is nifty. Good. Not enough to displace Nates from my #1 spot for local espresso blends, but definitely worth having.

#sarahstrong "Light" (they sell it at two roast levels) is a Natural process from Sidama, Ethopia, roasted light, 1.5/10 on their scale. It's super interesting, but a little funkier than I'm generally in to. Not bad, the body and fruityness are excellent... but there's a lot of that "rotten fruit" kind of fermented flavor that naturals are known to pick up, and it's a little much for me as an everyday coffee. Definitely a fun pick if you want to try a face full of natural process character.

Rise & Shine! is a Black-Honey process from Marcala, Honduras roasted to Medium (4.5/10). It would be high-character coffee in any other company, but it comes off as the most normal here. It's naturally quite sweet up front, with a very prominent dark honey/brown sugar kind of flavor, a bitter note in the middle, and a very clean, classic "nice cup of coffee" finish. It's the house coffee at a local bakery and really suits the role - it always feels like something I should be drinking out of china with a fancy pastry.

 

I've been touring local (to Lexington, KY) roasters' espresso blends for the last couple months - a bag lasts me a week or two and we have a whole slate of small roasters so it's a slow process. I'm consciously working on my shot tuning and palate as I go, bringing each espresso blend to a roughly 16:34g/ 5s preeinfusion / 30s shot by grind adjustment, then varying back out a bit to see what suits the coffee.

This weeks' candidate is a bag of Magic Beans' Espresso Blend for my morning espresso, plus a bag of their rotating light roast to contrast all the big-bodied darker roasts I've been drinking, mostly to use with a (recently purchased because I've enjoyed a coworkers') Aeropress.

Nates' is still in my first place for local espresso blends, but Magic Beans' is now in second. The Magic Beans has a little more vegetable/fruit and acidic notes, but Nates' has more body and a little more chocolatey, roasty flavor that I prefer for espresso - the Nates has some Indian (presumably robusta) for body, and though Magic Beans doesn't give a bill on their blend, my guess is there is less (no?) robusta in it, contrasting with another local roaster 4th level whose espresso blend is a robusta-forward hunk of burning tire in your mouth.

I'm more impressed with the light roast, it's a Guatemala Huehuetenango, roasted light but not drastically so. It's the first coffee I've run into that is simultaneously light-bodied and super buttery, which is a strange but enjoyable combination, like some kind of conceptual shortbread. Little bit of acid (maybe malic? - I'm still working on distinguishing acid flavors in coffee) tang in the finish, but not enough to make it feel strongly acidic. It manages having interesting character and still being coffee enough that it's appealing to folks not used to good modern coffee, which is not always the case with light-roast single-origin things. I've served a couple 11:200g roughly 3 minute Aeropresses of it to people who mostly drink dripped grocery store coffee and they were all in to it. I always find Aeropress particularly stimulating, and combined with this lighter roast it is rocket fuel not to be consumed after 3:00 or so in the afternoon if one plans to sleep normal hours.

view more: next ›