TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Weld: Fast parallel code generation for data analytics frameworks

20 pointsby heydenberkabout 8 years ago

2 comments

xiphiasabout 8 years ago
Wow, this is amazing how easily fusing can be done with just a few linear typed primitives.<p>The cool part is that if you have a for loop of vecbuilders and inside the for loop you have vecbuilders as well, the code can be fused quite easily. This is very hard to do with other data structures.<p>The paper is much better than the site and very easy to understand: <a href="https:&#x2F;&#x2F;cs.stanford.edu&#x2F;~matei&#x2F;papers&#x2F;2017&#x2F;cidr_weld.pdf" rel="nofollow">https:&#x2F;&#x2F;cs.stanford.edu&#x2F;~matei&#x2F;papers&#x2F;2017&#x2F;cidr_weld.pdf</a>
wyldfireabout 8 years ago
I didn&#x27;t quite get it from the initial skim of this page.<p>But here&#x27;s the key bit:<p>&gt; [existing solutions slow] ... due to extensive data movement across the functions. Weld’s take on solving this problem is to lazily build up a computation for the entire workflow, optimizing and evaluating it only when a result is needed.<p>The &quot;Background&quot; [1] section of the tutorial has more info too.<p>I&#x27;ve done lots of optimizations before with CPU&#x2F;GPU computations and I&#x27;ve definitely noticed that minimizing trips across the bus and doing computation during bus activity is critical to saturating the processors&#x2F;memory. But would we see the orders-of-magnitude improvements shown on this page for CPU-only work? I can&#x27;t quite tell what was measured in the graphs.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;weld-project&#x2F;weld&#x2F;blob&#x2F;master&#x2F;docs&#x2F;tutorial.md#weld-background" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;weld-project&#x2F;weld&#x2F;blob&#x2F;master&#x2F;docs&#x2F;tutori...</a>