Show HN: Chili. Rust port of Spice, a low-overhead parallelization library
github.com
github.com
Who is out here building high-overhead parallelization libraries?
Well we both ended up in CS but it's really a funny take nowadays (by then I wasn't so sure and it made me worry a bit).
~ $ type cat
cat is a function
cat ()
{
while read; do
printf '%s\n' "$REPLY";
done < "$@"
}
It probably butchers things. Why? I got bored in a meeting and someone accidentally posted 'cat' to TeamsI guess they must have some really neat capabilities.
It's probably possible to use openmp from rust, but the interface probably isn't as nice, you would need some kind of translation layer from rust closures and iterators to the OpenMP API
There’d definitely be some work translating Rust concepts over. It might be impossible/not worth it. But maybe it would be nice to have Rust, C, and Fortran all talking to the same runtime?
https://github.com/judofyr/spice?tab=readme-ov-file#work-ste...
so I’d be interested in seeing a benchmark.
Answer: it's just an interface.
Other implementations go as far as targetting GPU https://www.openmp.org/updates/openmp-accelerator-support-gp...
Could you implement OpenMP using Spice/Chili? Good question?
But infrastructure for developers is hard to make money with - developers like to build it themselves and people holding the purse strings point at kubernetes and say "that's free". So we just use it as an internal platform for a distributed simulation engine and it works pretty well.
I did an analysis of removing it (it's a lot of bespoke code that we have to maintain for something that isn't our actual product) and I think you could probably implement something on top of Nomad that's close enough...but then Nomad went BSL and Kubernetes is a big complexity shift.
So...if anyone knows of something out there let me know, I'd love to be able to use it outside of work :)
Put another way - building such a platform doesn't preclude commercial success, but (at least for us) it isn't sufficient. Fly.io might be able to pull it off if they want to explore that direction imo.
Fwiw if you dig around in the ray core codebase (as I did when I was doing competitor analysis years ago) you can use the core C code from other languages to build such a platform for Rust if you like - they had Java and C++ interfaces at the time, but I haven't looked in the last 5 years.
Eg I’ve even lived in North American and never come across that spelling for the pepper.
That said, I'm in northern US and I would spell the pepper "chili"
My understanding was that the name of the dish was short for "chili con carne" i.e. chili (the pepper) with meat