Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
ColTim
Oct 29, 2011
It's a bit old now, but the stuff at https://cs.nyu.edu/manycores/ was interesting, particularly the APL literature review.

Adbot
ADBOT LOVES YOU

ColTim
Oct 29, 2011
Does anyone have any links to intrinsics code like the stuff here? (ideally not using wrapper libraries that abstract them out)

ColTim
Oct 29, 2011
I'm really just trying to track down more "real world" examples of their use, so your links are very helpful. I'm not focused on any specific problem domain, just feels like the only way to pick this stuff up is by reading other people's code.

I've done a little intrinsics stuff, just toy kernels though. Probably half of it is just frankensteined snippets from the sse/avx/avx2/avx512 tags on stackoverflow. Whole thing feels like Shenzhen I/O, lots of fun little puzzles to solve.

And yeh, then there's the dozens of AVX512 flavors, and only two or three chips that support it. Gives me time to learn more about it though =P

ColTim
Oct 29, 2011
I guess it's exacerbated by how the `set` intrinsics don't correspond to single assembly instructions so there's more wiggle room for compilers to be smart (or dumb)...

Also thanks for the zimg link! It's always great to come across established libraries that solve problems you don't even know exist... now I just have to figure out how xbyak works. Or rather, what it does exactly. =|

ColTim
Oct 29, 2011
I dunno how it did it, but the paper "The A+ programming language, a different APL" explained lisp's syntax (function arg1 arg2), thunks (a block of code fixed with its immediate environment, apparently from ALGOL 60), and tail recursion (having the compiler figure out it can just jump to the beginning of the function instead of re-calling it)

ColTim
Oct 29, 2011
k/q has what I assume to be a pretty-lispy parse tree notation which ends up getting used in functional selects/deletes/updates, e.g. "x+y" is equivalent to "(+;x;y)", the latter of which is a generic list but which can also be evaluated/run using "value" or monadic "."

ColTim
Oct 29, 2011
Hmm, I just learned that the Playstation 1 didn't have a FPU and only used fixed point numbers (having a bunch of graphical artifacts as a consequence).

ColTim
Oct 29, 2011
Is anyone here familiar with SkookumScript? It was a scripting language for the Unreal 4 engine, and is mostly dead/unmaintained now, but it seems very interesting in terms of syntax/semantics. I think the folks behind it got hired by Epic and are working (with others) on that Verse language.

Adbot
ADBOT LOVES YOU

ColTim
Oct 29, 2011

Xarn posted:

Speaking of the Rosetta emulation, does it only support basic x64 profile, or was I holding it wrong? I tried it in CI to run out x64 tests on m1 machine, but the binary instantly crashed with, IIRC, sigill. I traced it down to us targetting broadwell, which was kinda disappointing.

I don't think Rosetta supports AVX, AVX2, nor AVX512 (Broadwell supporting AVX and AVX2).

https://developer.apple.com/documentation/apple-silicon/about-the-rosetta-translation-environment

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply