256 karma · joined October 12, 2019
The only ppl I see aim for that are republicans that don’t know the difference.
The C ABI is specified in a spec that Linux adopts (eg the x86-psabi), and it is what allows all software using this abi (from assembly to C to Rust) to eg Interface with each other. Linux could write an ABI spec for Rust on its platform today and add a patch to the Rust compiler (or to a C++ comoiler) to adhere to this ABI.
Nobody has done this, and from many povs this is something that does not make much sense doing, but it’s up to the platform to specify how binary software communicates with each other. Linux only specifies this for C, and that’s what Rust software currently does and has to use on Linux.
- An ABI is not a PL feature, but a platform feature, I.e., it is not that Rust does not have a stable ABI, but that eg Linux does not have a stable ABI for Rust (it has one for C and you can use this ABI from Rust).
- You can export generic Rust APIs with a stable C ABI by using trait objects, and it is often very easy to do this. So the claim that Rust and C++ are on the same boat wrt generics / instantiations is not true.
Many older languages with ad-hoc type systems are unsound, but there are also some older relatively used languages with powerful and sound type systems like Haskell.
I can use any editor anywhere - well except on my iPhone. There I just use apple notes for note taking, and sync anything important in some other device. I thought this was going to be a problem, but Most of the notes i take with the iPhone are throwaways (buy some groceries).
On the iPhone I can browse my notes through the github webcinterface, which supports search. Works better than I expected.Having had to migrate all my notes from Evernote to Apple notes to One note this last migration was the last. All my notes are in markdown, I own everything, Never going to use a note taking technology that’s not based on widely supported open technologies (got, markdown, etc).
So if some idiot says that stonk X is hot at 1$, the amount of money that is available to buy that stonk and pump it’s price up is much higher than for a stonk that’s at 1000$ and that only 1% of the population can put money in.
If you are doing AI the Top500,is meaningless and if you are doing classical HPC these ExaFlop int8 supercomputers are meaningless
The docs, the reference, and the RFCs all regards “as” as a mistake that should not be used, and _many_ features have been introduced over the years to reduce the cases in which “as” is the only alternative.
There are cases in which there is currently no alternative, so people “must” use “as”. This does not imply that it is idiomatic to do so.
There is no such cycle in Europe, and it’s all because the lack of stock options. Without them, startups only offer very low pay with little to no reward, and good luck trying to attract the top talent startups actually need to succeed.
This changes the Mach number.
So no, in general, you can’t build and test a smaller model and transfer the results to a larger model using similarity, because your similarity model is incomplete.
You can either have similarity for the Reynolds number or the Mach number, but not both.
The problem is all those people writing financial pornography about the stock market. That can give you the impression that there is more to the stock price than that.
If a binary does that, the OS can just not migrate that binary across cores.
Every Nvidia and Intel competitor (AMD) is probably already reverse engineering their binary drivers and binary libraries trying to steal their IP, so Intel and Nvidia’s fears are imo justified.
If NVIDIA or Intel could easily protect their open source code from being stolen from AMD, the story would be different. But you can’t prevent somebody from reading even GPL code, being “inspired” by it, and writing something different enough that does the same thing with the same ideas. Like just look at the LLVM project were people look at what GCC code does every now and then for “inspiration”.
Writing efficient GPU programs is all about modeling the hardware memory hierarchy in your algorithms, and using it efficiently, eg by controlling the memory transfers across the hierarchy.
Futhark doesn’t really let you do that, and the consequence is that if you need to use sort, inclusive_scan, or similar, either your Futhark compiler exposes a times primitive for that, or you are out of luck. Sure, that can be done by calling CUB, cutlass, cuFFT, etc. but if you need to solve a problem in your own domain, that means that you probably need to use something else.
Sure, if AMD hardware is much better than Intels, an unoptimized libc might run better there. That’s not the point.
The point is that a libc optimized for AMD could run much better than what it does today.
Improving the performance of low level libraries for Intel hardware is trivial because there are a lot of great tools that help you with that.
If I had to improve the performance of some library on AMD hardware, I would get some Intel hardware and tools, improve the performance for Intel, and then “hope” that this improves the performance for AMD as well.