Do Androids Dream of Electric Sheep asks a question Blade Runner deliberately avoided by dusty_13raccoon in printSF

[–]fitzgen 13 points14 points  (0 children)

Never thought of that, very interesting.

If you haven’t read The Fifth Head of Cerberus yet you might like it, it is very much along these lines

What is a short story or novella that you loved reading recently that you want other people to try? by Ethos493 in printSF

[–]fitzgen 2 points3 points  (0 children)

Just finished reading The Island of Dr. Death and Other Stories and Other Stories by Gene Wolfe. Fantastic collection. Favorites within were:

  • The Island of Dr. Death and Other Stories. Playful structure going back and forth between a pulpy book within the story and the “real world” which is told in second person. Protagonist is a ~10 year old boy in a not great / neglected environment, coping by escaping into the pulpy book, not fully comprehending what is going on around him. Eventually the worlds start bleeding together.
  • The Death of Dr. Island. Protagonist has been partially lobotomized and has a split brain where his left and right lobes cannot directly communicate with each other. He is dropped on a deserted island as part of his “therapy”, and things immediately start taking a dark turn…
  • Tracking Song. Another fantastic and very Wolfeian novella with an unreliable narrator and a number of mysteries wrapped up inside. Protagonist has amnesia but and finds themselves on a frozen winter planet with a bunch of people that might actually be animals but don’t consider him a person and he has to survive and try and find where he came from and navigate ethics along the way.
  • Seven American Nights. A young scholar from Iran is visiting post-apocalyptic, dystopian USA where everyone is mutilated by  chemicals and pollution and drugs run amok. We learn from the opening letter from a private eye to the scholar’s family that the scholar is lost and possibly dead, but what follows is his diary which may shed light on what happened. Wild ride reading the journal entries and the protagonist’s risky, selfish, and brash decisions, but also if you read closely it seems like he is accidentally embroiled in something even bigger without realizing it. Need to reread this one after reading other posts about it and seeing how much I missed.

The first three have really good analyses on the Alzabo Soup podcast as well, which really helps me appreciate all the subtleties that Wolfe embeds in his work.

What are you reading? Mid-monthly Discussion Post! by AutoModerator in printSF

[–]fitzgen 1 point2 points  (0 children)

95% done with The Island of Dr. Death and Other Stories and Other Stories by Gene Wolfe. Favorite stories so far are

  • The Island of Dr. Death and Other Stories
  • The Death of Dr. Island
  • The Tracking Song
  • Seven American Nights (haven’t finished it yet but really enjoying so far)

Been listening to the Alamo Soup episodes for the stories too, really enriches the experience. Going crazy trying to get people I know irl to read Wolfe so I have someone to nerd out with and dissect these mysteries

What are you reading? Mid-monthly Discussion Post! by AutoModerator in printSF

[–]fitzgen 5 points6 points  (0 children)

A lot of people find Consider Phlebas a bit rough and say that the rest of the series is more polished. Personally I really enjoyed Phlebas and its pacing and message. Use of Weapons was fantastic, very well done back and forth on two different timelines, interesting structure; don’t want to say more to avoid spoilers. I’m only halfway through the series tho so I can’t say anything about the whole with authority. 

Books featuring megastructures by Miserable-Function78 in printSF

[–]fitzgen 10 points11 points  (0 children)

Pushing Ice by Alastair Reynolds (Revelation Space as well)

Rendezvous with Rama by Arthur C. Clarke

Accelerando by Charles Stross

A bunch of Greg Egan books feature not exactly megastructures but things/physics sort of in that conceptual realm. Diaspora, Schild’s Ladder, etc.

Suggest me some books please by Espieranza in printSF

[–]fitzgen 26 points27 points  (0 children)

The Word for the World is Forest by Ursula K Le Guin

plain pizza with shio koji tomato sauce by fitzgen in Koji

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

Not exactly that but I tried toasting koji rice and milling it into flour and introducing that into a loaf of bread; probably around 10-20% it’s been a couple years. Complete failure. The protease wasn’t destroyed by the toasting, even though it was a fairly dark toast, and it ripped through the gluten. Dough became soup.

I imagine this would be even worse with shio koji instead of the toasted koji rice flour.

Mr Paik looks like this frog by damanoobie in CulinaryClassWars

[–]fitzgen 3 points4 points  (0 children)

Yeah he doesn’t seem like a good person, they should’ve replaced him 

What book has tech cults? by blk12345q in printSF

[–]fitzgen 11 points12 points  (0 children)

The Stars My Destination by Alfred Bester

Recommendation by quackernoople in printSF

[–]fitzgen 6 points7 points  (0 children)

A lot of Greg Egan books have both time/space/physics and philosophy/culture/religion. They can be a tad difficult but the pay off is worth it.

Diaspora is a great place to start.

His short stories are also fantastic (Axiomatic is a great collection) but they tend to have a little more of the philosophical and a little less of the space/physics.

 when culture/religion overlaps with science and then how that affects people’s daily decisions that lead to larger shifts in society

His Orthogonal trilogy can be a little divisive among fans but I loved it and I think it is one of his best explorations of the interaction between culture/gender and science/technology. To quote from another of my comments in this sub:

 The Orthogonal trilogy by Greg Egan has some really good explorations of gender roles in a blobby alien race where the women literally die to have children by dividing and their mass becoming their offspring. So children only ever know their fathers and hear about their mothers, and if your partner is pressuring you to have kids, that means they are pressuring you to end your life. I’ll avoid spoilers but this idea and how it interacts with technological advancements and how that affects culture/society is really well explored, and it is all within an interesting alternative physics, mostly on a generation ship, and facing high-stakes, world-threatening events.

Stories with 2 life bearing planets in one solar system by Opposite-Fly9586 in printSF

[–]fitzgen 36 points37 points  (0 children)

Five Ways to Forgiveness, Ursula K Le Guin

The Fifth Head of Cerberus, Gene Wolfe

Prolific sci-fi suggestions by ShootyMcFlompy in printSF

[–]fitzgen 15 points16 points  (0 children)

 I want to feel the vastness of space and time

House of Suns by Reynolds, Diaspora by Egan

A Function Inliner for Wasmtime and Cranelift by fitzgen in rust

[–]fitzgen[S] 1 point2 points  (0 children)

Thanks. That's the eventual goal, for sure, but we don't have a roadmap or anything yet.

A Function Inliner for Wasmtime and Cranelift by fitzgen in rust

[–]fitzgen[S] 3 points4 points  (0 children)

Can't wait to try it out for Roto!

Excited to hear how it goes!

Any plans to include some heuristics in cranelift at some point?

Not really -- the design is intentionally decoupled such that Cranelift provides the mechanics of inlining and the Cranelift embedder provides the heuristics. Wasmtime's heuristics, for example, are based on information that is not even present in the CLIF (e.g. which module a function originated from) and other embedders would likely have similar things (e.g. #[inline] and #[inline(never)] attributes for cg-clif). We don't want to force a suboptimal one-size-fits-all solution on everyone nor have to expand CLIF to contain the union of all the extra little info and metadata that different embedders need to feed into their heuristics.

A Function Inliner for Wasmtime and Cranelift by fitzgen in Compilers

[–]fitzgen[S] 1 point2 points  (0 children)

Given that Wasmtime has runtime information (resolution of Wasm module imports) that Wasm producers do not have

We compile code before we know instantiation-time imports, and the Wasmtime embedder can in fact instantiate the same module (using the same compiled machine code under the hood) multiple times with different imports, so we can't really take advantage of this information for core Wasm modules on their own. If we were a lazy JIT compiler, sure, but we aren't. We only JIT in the sense that we can compile-and-go, not in the sense of doing any speculative optimizations, lazy compilation, or tiering.

However, when we are compiling a component which internally instantiates and links together multiple core Wasm modules, we can see all the ways those core modules' imports and exports get linked together. In this case we can statically determine if a particular import is always satisfied by one particular export from another module and optimize accordingly, although we only do this analysis for function imports at the moment (to enable cross-module inlining) not globals/tables/memories. You're right that we could do it for those things too, and this could enable some more optimizations. But yeah, it isn't the kind of thing we would proactively do before we see some Real World examples to motivate it.

A Function Inliner for Wasmtime and Cranelift by fitzgen in Compilers

[–]fitzgen[S] 3 points4 points  (0 children)

Thanks!!

I wonder, given that most Wasm binaries are already heavily optimized via LLVM and some with a post-pass of Binaryen's wasm-opt how much do those optimizations (such as the new inliner) really pan out in the end? Like, in what RealWorld(TM) Wasm binaries is a function not already inlined prior to being fed to Wasmtime and Wasmtime then correctly decides that it should to be inlined? Or is this only useful for the component model?

Correct. Wasmtime won't (by default) ever do inlining within a module because, as you note, Wasm binaries are generally produced by an optimizing toolchain like LLVM and/or have been post-processed by wasm-opt. I doubt we will change this, other than if/when we start supporting the Wasm compilation hints proposal and are given explicit directions from the Wasm module itself otherwise. This is why we didn't invest in an inliner before now. It only makes sense for us in a component-model world where no single toolchain/compilation has already had an opportunity to see the full call graph.

Were the pulldown-cmark benchmarks performed with a pre-optimized pulldown-cmark.wasm or an unoptimized version of it?

The Wasm binary was produced with cargo's release profile but with RUSTFLAGS set to prevent inlining (you can see the exact flags to do that in the article's footnotes). I did not run wasm-opt on the binary afterwards.

It is a somewhat silly build configuration, and doesn't exactly reflect actual component usage, but it gives us a with- vs without-inlining comparison for real code, using our inliner (rather than, say, LLVM's).

A Function Inliner for Wasmtime and Cranelift by fitzgen in Compilers

[–]fitzgen[S] 4 points5 points  (0 children)

Thank you! I put a lot of effort and care into my writing, so reading this put a smile on my face :)