UoB-HPC / BabelStream

STREAM, for lots of devices written in many programming models
Other
323 stars 110 forks source link

Add Julia and Rust versions #78

Closed tomdeakin closed 2 years ago

tomdeakin commented 4 years ago

These would be self-contained ports as not sure it's worth attempting plugging in these languages into the C++ main routine here.

tom91136 commented 3 years ago

The story with Rust is quite interesting, Julia may have similar limitations by the looks of it. Parallelism must be implemented using 3rd party libraries (crates); Rayon is the best candidate for our use case, resulting in semantically comparable kernels to the STD20 version. If we implement it this way, performance will be tied to how well Rayon is optimised.

tom91136 commented 3 years ago

Other than that, a draft PR for Rust should be ready sometime this week.

tom91136 commented 3 years ago

@tomdeakin Currently Rust is blocked by not being NUMA aware although a fix might be coming soon (just waiting for Allocator API to make it into Rust stable) and the others like the Scala one are experimental. Should we have an unstable dir and put all of them there?

tom91136 commented 2 years ago

@tomdeakin #95 is green, let's press the button :rocket: