5 ms·
These core counts are insane. I’m curious about any programming languages that are designed to be easily to parallelize and how they will work on these 96 core
by Decabytes 4y ago
These core counts are insane. I’m curious about any programming languages that are designed to be easily to parallelize and how they will work on these 96 core chips
- mumumu 4y agoAll languages implemented with llvm-mlir. Others languages such Chapel, Halide probably will do fine
- fxtentacle 4y agoC++ has been used on machines with very high CPU core counts for a long time. By now, things like std::async for spawning tasks on a different core are even part of the standard library. Go is also really good at saturating many cores with its low-overhead goroutines.
- dragontamer 4y agomake -j works pretty darn well in my experience. Honestly, the #1 programming language for parallelization, in practice, is bash scripting. you can convert any single-threaded program into a background thread with the & on the end, and then start running something else. Yeah yeah yeah, people wanna be complicated with pthreads or async or other features. But... bash's "background" processing (&) gets a surprising amount of things done in my experience. Just spin up a program 300+ times with a & to make them all process in the background, and you're set.
- solomatov 4y agoRust is very good for parallelizing code, especially if used with libraries like https://crates.io/crates/rayon https://crates.io/crates/rayon
- zac_hudson 4y agoFortran is very well suited for highly parallalized workloads, given that all HPC tasks are basically parallelized matrix manipulations. For some reason people have the notion that Fortran is still the punch-card days, but Fortran 08 is in fact widely used and quite friendly nowadays. If you're building a very-parallel application that could use something like MPI, you should very seriously consider Fortran.
- sosodev 4y agoGo can utilize the full CPU with ease :)
- IYasha 4y agoI'd use all of them for 3D! And MSVC supports parallel compilation since, like, 2009..?
- pajko 4y agoDoing that in C is not that hard with OpenMP, you don't even have to fiddle with threads and/or manually parallelize your code. Just an example: https://tildesites.bowdoin.edu/~ltoma/teaching/cs3225-GIS/fall17/Lectures/openmp.html https://tildesites.bowdoin.edu/~ltoma/teaching/cs3225-GIS/fa...