Live data from Hacker News

I want a good parallel language [video]

youtube.com

21–30 of 69 posts

Re: I want a good parallel language [video]

#21
post #20

Earlier quoted context omitted.

My issue with SQL is lack of composability and difficulty of debugging intermediate results.

is it a language problem though? it's just lack of tooling.

The dataframe paradigm (a good example being polars) is another good alternative that's more composable (imo).

Re: I want a good parallel language [video]

#22

Earlier quoted context omitted.

Also, while not exactly the algorithm Raph is looking for, here is a bracket matching function (from Pareas, which he also mentions in the talk) in Futhark: https://github.com/Snektron/pareas/blob/master/src/compiler/... I haven't studied it in depth, but it's pretty readable.

(author here) check_brackets_bt is actually exactly the algorithm that Raph mentions

Thanks for clarifying! It would indeed be interesting to see a comparison between similar implementations in other languages, both in terms of readability and performance. I feel like the readability can hardly get much better than what you wrote, but I don't know!

Re: I want a good parallel language [video]

#25

Earlier quoted context omitted.

Also, while not exactly the algorithm Raph is looking for, here is a bracket matching function (from Pareas, which he also mentions in the talk) in Futhark: https://github.com/Snektron/pareas/blob/master/src/compiler/... I haven't studied it in depth, but it's pretty readable.

(author here) check_brackets_bt is actually exactly the algorithm that Raph mentions

Right. This is the binary tree version of the algorithm, and is nice and concise, very readable. What would take it to the next level for me is the version in the stack monoid paper, which chunks things up into workgroups. I haven't done benchmarks against the Pareas version (unfortunately it's not that easy), but I would expect the workgroup optimized version to be quite a bit faster.

Re: I want a good parallel language [video]

#26

Earlier quoted context omitted.

(author here) check_brackets_bt is actually exactly the algorithm that Raph mentions

Right. This is the binary tree version of the algorithm, and is nice and concise, very readable. What would take it to the next level for me is the version in the stack monoid paper, which chunks things up into workgroups. I haven't done benchmarks against the Pareas version (unfortunately it's not that easy), but I would expect the workgroup optimized version to be quite a bit faster.

I've been playing with one using scans. too bad that's not really on the map for architectural reasons, it opens up a lot of uses.

Re: I want a good parallel language [video]

#27
post #4

SQL. It is a joke, but an SQL engine can be massively parallel. You just don't know it, it just gives you what you want. And in many ways the operations resembles what you do for example in CUDA. CUDA backend for DuckDB or Trino would be one of my go-to projects if i was laid off.

If you want to work in data engineering for massive datasets (many petabytes) pls hit me up!

Re: I want a good parallel language [video]

#29
What about burla.dev ?

Or basically a generic nestable `remote_parallel_map` for python functions over lists of objects.

I haven't had a chance to fully watch the video yet / I understand it focuses on lower levels of abstraction / GPU programming. But I'd love to know how this fit's into what the speaker is looking for / what it's missing (other than obviously it not being a way to program GPU's) (also full disclosure I am a co-founder).

Re: I want a good parallel language [video]

#30
post #4

SQL. It is a joke, but an SQL engine can be massively parallel. You just don't know it, it just gives you what you want. And in many ways the operations resembles what you do for example in CUDA. CUDA backend for DuckDB or Trino would be one of my go-to projects if i was laid off.

More generally, the key here is that the more magic you want in the execution of your code, the more declarative you want the code to be. And SQL is pretty much the poster child declarative language out there.

Term rewriting languages probably work better at this than I would expect? It is kind of sad how little experience with that sort of thing that I have built up. And I think I'm above a large percentage of developers out there.

Post reply on HN