News for hackers. Stuff that matters.
Re:AMD Launches EPYC 9004 “Genoa” Processors – Up to 96 Core... by Decabytes on Thursday November 10, 2022 @06:14PM (#33555000)
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
Re:AMD Launches EPYC 9004 “Genoa” Processors – Up to 96 Core... by fxtentacle on Thursday November 10, 2022 @06:32PM (#33555188)
C++ 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.

Re:AMD Launches EPYC 9004 “Genoa” Processors – Up to 96 Core... by dragontamer on Thursday November 10, 2022 @08:32PM (#33556259)
make -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.

Re:AMD Launches EPYC 9004 “Genoa” Processors – Up to 96 Core... by yazzku on Thursday November 10, 2022 @10:00PM (#33556839)
I've found make -j doesn't actually scale very well when you have a ridiculous number of cores and less than, e.g., 2 GB RAM/core.
Re:AMD Launches EPYC 9004 “Genoa” Processors – Up to 96 Core... by Avlin67 on Friday November 11, 2022 @12:25PM (#33563686)
ram bandwith matterd in some cases.m, check for arrow/wide GMI3 in Genoa slides
Re:AMD Launches EPYC 9004 “Genoa” Processors – Up to 96 Core... by solomatov on Thursday November 10, 2022 @09:04PM (#33556458)
Rust is very good for parallelizing code, especially if used with libraries like https://crates.io/crates/rayon
Re:AMD Launches EPYC 9004 “Genoa” Processors – Up to 96 Core... by zac_hudson on Thursday November 10, 2022 @09:12PM (#33556507)
Fortran 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.

Re:AMD Launches EPYC 9004 “Genoa” Processors – Up to 96 Core... by sosodev on Thursday November 10, 2022 @10:24PM (#33556971)
Go can utilize the full CPU with ease :)
Re:AMD Launches EPYC 9004 “Genoa” Processors – Up to 96 Core... by mumumu on Friday November 11, 2022 @07:03AM (#33559709)
All languages implemented with llvm-mlir.

Others languages such Chapel, Halide probably will do fine

Re:AMD Launches EPYC 9004 “Genoa” Processors – Up to 96 Core... by IYasha on Friday November 11, 2022 @07:33AM (#33560022)
I'd use all of them for 3D! And MSVC supports parallel compilation since, like, 2009..?
Re:AMD Launches EPYC 9004 “Genoa” Processors – Up to 96 Core... by pajko on Friday November 11, 2022 @08:21AM (#33560509)
Doing 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/fa...