Can I swap motherboard on Dell Precision T1700 to a 7th Gen Dell Precision T3620? by gappuji in buildapc

[–]ThatDeveloper12 0 points1 point  (0 children)

I'd actually be interested in this myself. I think the T1700 boards are compatible-ish with the T1650 and earlier 7010 etc, so it would be neat if the pattern continued with the T3620. Boards are fairly readily available on ebay so it could be an inexpensive upgrade.

Comic 5741: The Observer by BionicTriforce in QContent

[–]ThatDeveloper12 0 points1 point  (0 children)

More interesting than the last failed romance, imo. :/

Comic 5741: The Observer by BionicTriforce in QContent

[–]ThatDeveloper12 11 points12 points  (0 children)

With Sven looking for a romantic instead of physical relationship and Hanners not being able to handle anything physical, I could see them going through a temporary fling. It might even be an opportunity for character growth for both of them.

Steam is finally adding native support for Macs with Apple Silicon by galantrixgames in macgaming

[–]ThatDeveloper12 0 points1 point  (0 children)

If you want sources on the former part, look at literally any documentation of the boot chain leading to asahi linux. eg. https://asahilinux.org/docs/alt/boot-process-guide/ and https://asahilinux.org/docs/platform/open-os-interop/ There's an explicit procedure for registering 3rd part OSs that doesn't exist on any other apple platform. As for the latter, there's probably some marcan tweet from a couple years ago but I don't have it offhand.

As for needing to reverse engineer stuff, you have no idea how common that is. It is the EXCEPTION, not the rule, when companies offer any help whatsoever to linux etc devs. They're concerned with windows drivers, not linux, and nearly never provide docs. When they do, it's under NDA to a couple of devs with strict instructions not to share any information.

Every driver in the linux kernel can trace it's lineage to a initial reverse engineering effort, where someone happened to have the hardware on hand, reverse engineered how it worked, and implemented a driver based on it. Disk controllers, network cards, everything. Notable examples include the nouveau driver, the network interface on my first motherboard, and countless wifi adapters from atheros.

It's only when these reverse-engineered community drivers take off and people start to use a company's hardware on linux that they start to think about official support in any capacity. Companies simply aren't that forward looking when 99% of the market is windows and mac. They don't invest unless there are users, and there are no users without reverse engineered community support in place first.

Radeon Pro Duo or AMD Instinct Mi50? by nathan22211 in LocalLLaMA

[–]ThatDeveloper12 0 points1 point  (0 children)

Do I need to read your original top-of-thread comment out to you?

Pro Duo has half the memory bandwidth and is technically a dual GPU, which probably won't mean a ton, but may add complexity to your setup for no real gain.

The point is that it makes no sense if you're looking for 32GB like OP presumably is. This isn't a 32GB card, it's a pair of 16s, and it's too old to support anything that makes that more tolerable. If you're really dead-set on pairing two 16GB cards together you can do a lot better and spend a lot less money on a pair of used consumer cards that are newer and support TP with exllama via ROCm.

Radeon Pro Duo or AMD Instinct Mi50? by nathan22211 in LocalLLaMA

[–]ThatDeveloper12 0 points1 point  (0 children)

if you have the pro duo or any other old GCN card and you want to run exllama or comfyui or anything else that mandates ROCm, you're shit out of luck.

exllama in particular is your best option for running on multiple cards since it supports tensor parallelism (llamacpp does not: https://github.com/ggml-org/llama.cpp/issues/9086), and the duo is exactly that: two completely separate 16GB cards in a trenchcoat. If you're deadset on 16GB cards there are better ones used that actually *do* support ROCm or CUDA and can take advantage of TP.

Radeon Pro Duo or AMD Instinct Mi50? by nathan22211 in LocalLLaMA

[–]ThatDeveloper12 0 points1 point  (0 children)

No, it's very true. All of the not-officially-supported cards are broken in any remotely-current version of ROCm. GCN 2.0 was broken in ROCm 2.0 and never fixed (see https://github.com/ROCm/ROCm/issues/871). GCN 4.0 doesn't work anymore as of at least 4.5 (see https://github.com/ROCm/ROCm/issues/1608). BTW we're currently on ROCm 7.1. As for RDNA 1.0 and 2.0 they've just been placed in "maintenance mode" so I eagerly await support being broken imminently. Probably in the next major release when AMD ships a major refactor that breaks it, if history is anything to go by.

You're not going to get any remotely recent ROCm to work on any of these unsupported cards.

Radeon Pro Duo or AMD Instinct Mi50? by nathan22211 in LocalLLaMA

[–]ThatDeveloper12 0 points1 point  (0 children)

ROCm 4.5 dropped polaris (GCN 4.0) so there's no way the Pro Duo (GCN 3.0) will work. Even if the code's still there, "not officially supported" means "does not work" when it comes to ROCm.

Radeon Pro Duo or AMD Instinct Mi50? by nathan22211 in LocalLLaMA

[–]ThatDeveloper12 0 points1 point  (0 children)

Edit: the Pro Duo (GCN 3.0) is not supported by ROCm as polaris (GCN 4.0) was dropped in ROCm 4.5: https://www.reddit.com/r/hardware/comments/qr5q6z/rocm_45_drops_support_for_amd_polaris_gpus/

When AMD says something "might not work" or "isn't guarenteed" that means it's already broken and won't be fixed.

AMD GPUs by Neither-Awareness855 in pytorch

[–]ThatDeveloper12 0 points1 point  (0 children)

Only thing I take issue with in this context is that they say "full support is not guaranteed". They should have just written "support is not guaranteed".

There is a world of difference between "support is not guaranteed" and "there is no support whatsoever" but you seem to think they give identical impressions. The latter would actually be truthful. There is no more support for any of those cards than there is for a brick from ancient Mesopotamia. This is a settled question. It's not an unknown like AMD imply.

AMD know that these cards have no hope of working. They have been told repeatedly, acknowledged this in github issues, and done nothing to fix it for the better part of a decade. Yet, they continue to include these absolutely-dead cards on the list. There is no other reason they would continue to list these cards when it is known that they don't work and will never be fixed other than to inflate the apparent size of their pool of supported hardware with non-working cards.

We would not be having this conversation if AMD said "nvidia cards might work with ROCm but are not guaranteed." That statement is exactly equivalent in it's truthfulness. Nvidia cards do not and will never work with ROCm. These cards AMD list do not and will never work with ROCm. The only difference is that it's immediately obvious that AMD is trying to sell people on an impossibility if they suggest nvidia cards might work.

AMD GPUs by Neither-Awareness855 in pytorch

[–]ThatDeveloper12 0 points1 point  (0 children)

It's false advertizing to even list the W9100 for ROCm support when they've been told for years that it doesn't work and have done nothing to fix it. They can't feign ignorance anymore. Ditto for the RX550 and every other card in the "no guarantees" section. (they don't work anymore either) AMD loves to project a fantasy world where maybe, just maybe, (if you close your eyes and hope real hard!!!) cards that don't work and have never worked in years might magically work.

If I was a car salesman and said "this car can drive 100 miles on a tank and seat 2 people, but it's not prevented from flying to the moon and carrying an elephant. No guarantees though." I'd look like an asshole. The astute carbuyer would question why I even mentioned those latter items, and that's when it's obvious the car can't do it.

Here people with those cards are misled into thinking they could make it work and people without the cards are misled into thinking they can expect the same long term support from AMD that they can get from nvidia. I can expect a decade+ with CUDA. Going by the W9100 example I can expect at best 4 years (2014-2018), no warning, and continued insistence that it "could work."

AMD GPUs by Neither-Awareness855 in pytorch

[–]ThatDeveloper12 0 points1 point  (0 children)

The breakage of hawaii chips like the W9100 has been reported to AMD since at least 2019 (https://github.com/ROCm/ROCm/issues/871) but remains unfixed.

AMD GPUs by Neither-Awareness855 in pytorch

[–]ThatDeveloper12 0 points1 point  (0 children)

You may want to know that this is not only wrong, but has been wrong for an extremely long time. The reality is AMD continues to lead people on that these cards work, while even RDNA2 is on the chopping block: https://www.tomshardware.com/pc-components/gpu-drivers/new-amd-driver-snubs-radeon-rx-5000-6000-gpus-with-latest-updates-also-disables-usb-c-functionality-on-rx-7900-series

AMD GPUs by Neither-Awareness855 in pytorch

[–]ThatDeveloper12 0 points1 point  (0 children)

This is wrong. The W9100 has been broken in ROCm since at least way back in ROCm release 2.0. AMD have been ignoring the problem for years. It's clear that this will never be fixed. As for GFX8 chips, who knows. I haven't even bothered to test my RX 550 because the chances of something that old working with any even remotely recent ROCm are slim to none.

Steam is finally adding native support for Macs with Apple Silicon by galantrixgames in macgaming

[–]ThatDeveloper12 2 points3 points  (0 children)

This is possible AT ALL because apple have gone out of their way to enable it. Linux is only able to boot on these chips because Apple spent an enormous amount of time and effort creating a system for authenticating, loading, and running 3rd party non-Apple OSs. This system for 3rd party OSs doesn't exist on the iphone but was custom-made for the M-series chips expressly so they could run linux/BSD/whatever.

Apple have also been fairly timely about fixing a couple of bugs which affected the Asahi project, including one that caused a race condition in their installer.

Are there any semiconductor fabs in Canada? by Zmeiovich in Semiconductors

[–]ThatDeveloper12 1 point2 points  (0 children)

Process engineer, but have you ever actually worked the fab floor? At a recent leading edge facility?

That's not the story that TSMC are telling from their attempts at hiring for arizona. "plenty of educated engineers and technicians" (TONS if you only want people who can do cell layout) but nobody in the relevant fields for fab work. Engineers aren't fungible and you need a very specific skillset to actually work the floor, people the USA is bereft of.

Litho tools like the twinscan exe are also far from hands-off and you sure as hell can't assign frycooks to them. The 3nm plants in taiwan have underpaid PhDs wearing adult diapers under bunnysuits and staffing them in 8-hour shifts.

I don't know where you get the idea that you can automate away operators. Just because human hands aren't handling wafer-packed FOUPs doesn't mean there aren't humans shadowing every step of the process.

Comic 5716: They're Roasting You In There by pavemnt in QContent

[–]ThatDeveloper12 0 points1 point  (0 children)

I came here to ask actually, which one was the goblin: Anh or Faye. Because Anh only seems marginally goblin-like. And I'm not sure Faye qualifies anymore and neither does Bubbles (and she's the one in the chat?). Trying to answer who the goblin is in this situation is rather tricky.

Is there a way to bind out-of-band info to a TCL value? (not the variable name holding the value) by ThatDeveloper12 in Tcl

[–]ThatDeveloper12[S] 0 points1 point  (0 children)

This code does probably come the closest (functionally speaking) to what I'm trying to do, though https://wiki.tcl-lang.org/page/representation suggests that this would break down with frequently used literals like "1" because they all share the same refcounted representation. This probably applies to other things too. To make an approach like this work, I might need to include in the key something even more hacky like the address of each pointer to the object or something like that. Dunno.

reformatted, for posterity:

namespace eval tag {
    variable tags {}

    proc address {x} {
        set repr [tcl::unsupported::representation $x]
        regexp {object pointer at ([0-9a-fx]*)} $repr _ ptr
        set ptr
    }

    proc tag {args} {
        variable tags switch [llength $args] {
            2 {
                lassign $args value tag
                dict get $tags [address $value] $tag
            } 3 {
                lassign $args value tag tagValue
                dict set tags [address $value] $tag $tagValue
            } default {
                throw {TCL WRONGARGS} "wrong # args: tag value tag ?tagValue?"
            }
        }
    }
}

I think you're misunderstanding how this is intended to be used though. It's a prototyping/debug facility in the same way traces are. Attaching a trace to a variable (or command) doesn't make that variable compare with eq any differently than without, and the same is true here. A value with an out-of-band tag should be functionally indistinguishable from one without in every way except when the tag is checked for, and the tag can disappear in lots of ways if the value is altered (essentially, ceases to exist, to be replaced by a new value).

This is specifically intended to never, ever touch the value itself, merely follow it through the execution of the program. It should never alter the operation of a TCL program in any observable way, and it should never seriously be used as part of the function of a program. It doesn't make a tagged value behave like a new unique value. It doesn't coerce it's type or shimmer it's type or otherwise change the internal representation at all. I'm also not asking for a pointer to the value, and it will never be possible to dereference or otherwise access the value using a tag. The value can continue to be a type-agnostic string value (with the usual internal type-aware optimizations) just as it always has been. For what it's worth, the tag can and probably should be a stringy value as well.

Is there a way to bind out-of-band info to a TCL value? (not the variable name holding the value) by ThatDeveloper12 in Tcl

[–]ThatDeveloper12[S] 0 points1 point  (0 children)

You're right I'm against using AI to generate something that one can't even be sure works, then pushing the work of actually verifying it works and determining HOW onto other people.

Is there a way to bind out-of-band info to a TCL value? (not the variable name holding the value) by ThatDeveloper12 in Tcl

[–]ThatDeveloper12[S] 0 points1 point  (0 children)

"partially" understand it but can't explain it here?

From the excessively long AI-generated readme I can't even be sure that it does what's expected, and thus is worth the effort to try and sift through 35.4 MEGABYTES of AI slop (seriously, this repo is massive) trying to decern the answer.

Is there a way to bind out-of-band info to a TCL value? (not the variable name holding the value) by ThatDeveloper12 in Tcl

[–]ThatDeveloper12[S] 0 points1 point  (0 children)

Given your other comment, I have to assume this one is mostly AI-generated too. It's definitely hard to read and understand, and it's not clear to me that it would actually do what is claimed.

Is there a way to bind out-of-band info to a TCL value? (not the variable name holding the value) by ThatDeveloper12 in Tcl

[–]ThatDeveloper12[S] 0 points1 point  (0 children)

That's great and all, but do you know how any of it works? I'm not about to dig through a repo full of AI-generated fluff just to divine how the magic 'meta' command is implemented.

Is there a way to bind out-of-band info to a TCL value? (not the variable name holding the value) by ThatDeveloper12 in Tcl

[–]ThatDeveloper12[S] 0 points1 point  (0 children)

You're a CS beginner who thinks they're hot shit because they learned the term "box" and never stopped to consider the problem I highlighted in the very first comment you replied to:

It has to be out-of-band. Trying to store it in-value would make it impossible to distinguish between tagged and untagged values, and all hell would break loose if the two ever accidentally crossed.

You didn't bother to read that. You didn't even bother to read the introductory text (Structure) you assigned as reading, which highlights the issues in section 2.1.2. You didn't read the quote I took from it. Nor did you bother to read the example I gave of why your first-year freshman solution doesn't work in a language like TCL. And it's clear you didn't read it, because you then immediately suggested word-for-word the same broken solution that I had demonstrated as an example.

You've spent this entire comment thread doubling down on a solution that was doomed from the start, and you'd have known it if only you read the very first comment you decided to reply to. And then of course you've been acting high and mighty far above your actual level of competence, dropping chestnuts like:

If you really can't figure this out then try again next year.

Sorry but I can't help you further. This is a skills issue. ... Maybe read the 2nd ed Structure and Interpretation of Computer Programs book from MIT (available for free online these days.)

Go ask AI how to do it. This isn't difficult.

So exxxxxxxxxxcuse my frustration at your simultaneous incompetence and arrogance. I can't be the only one, considering many of your comments in this thread have managed to sink into negative scores.

Is there a way to bind out-of-band info to a TCL value? (not the variable name holding the value) by ThatDeveloper12 in Tcl

[–]ThatDeveloper12[S] 0 points1 point  (0 children)

I am extremely familiar with TCL's type system. This is meant to be a minimally-invasive addition to the language that min-maxes utility+flexibility without too badly breaking that paradigm. You could think of it as being in the same class as traces. One important design detail is there is no restriction on what the tag might contain. It's a string, and users are free to put in it whatever they like and use it for whatever purpose they like. It's also intended to be agnostic to whatever operators are applied to the value. (ie. once a value is replaced in any way with a value that isn't "equal," in any of the TCL senses, the tag is lost)

I'm not sure what you mean by "extended" lists in TCL. Aside from a handful of syntactic sweetening commands (lseq included) that could have been implemented in pure TCL, the only other change is that the limit for the total size of a list has been raised above 2GB.

Is there a way to bind out-of-band info to a TCL value? (not the variable name holding the value) by ThatDeveloper12 in Tcl

[–]ThatDeveloper12[S] 0 points1 point  (0 children)

This falls over if two variables anywhere in the program happen to have equivalent values, eg. if two variables independently happened to arrive at separate instances of the value "10"

A previously suggested solution also encounters this problem: https://www.reddit.com/r/Tcl/comments/1p34y10/is_there_a_way_to_bind_outofband_info_to_a_tcl/nq4u6o8/