News for hackers. Stuff that matters.
Re:Composable multi-threaded parallelism in Julia by krapht on Tuesday July 23, 2019 @07:30PM (#20511128)
The real gain is with MPI, anyway... shared memory is a trap. All the projects I've worked on have exploited parallelism through message passing, or a battle tested multithreaded linear algebra library.
Re:Composable multi-threaded parallelism in Julia by BubRoss on Tuesday July 23, 2019 @08:26PM (#20511383)
There are many techniques and calling any of them the one solution and all others a trap is extremely myopic. Shared memory is extremely useful for IPC and fork join parallelism.
Re:Composable multi-threaded parallelism in Julia by gpderetta on Wednesday July 24, 2019 @05:58AM (#20513642)
My understanding is that, at least in c/Fortran/c++ land common practice is openmp within a machine and MPI across machines. I've done some work of the sort but I'm far from an expert though.
Re:Composable multi-threaded parallelism in Julia by steev on Wednesday July 24, 2019 @06:40AM (#20513826)
You are correct.
Re:Composable multi-threaded parallelism in Julia by vmchale on Tuesday July 23, 2019 @09:41PM (#20511743)
> All the projects I've worked on have exploited parallelism through message passing

What? Lots of parallelism doesn't use message passing!

Re:Composable multi-threaded parallelism in Julia by seanmcdirmid on Wednesday July 24, 2019 @12:50AM (#20512439)
GPU is the way to go these days to get most parallelism, and it is definitely the shared memory variety. Message passing is the go to when parallelism needs to cross machine boundaries.
Re:Composable multi-threaded parallelism in Julia by steev on Wednesday July 24, 2019 @06:42AM (#20513835)
GPU parallelism is highly specialized and requires very specific workloads (e.g., many linear algebra workloads). GPUs are a bad choice for general parallelized tasks.
Re:Composable multi-threaded parallelism in Julia by seanmcdirmid on Wednesday July 24, 2019 @02:00PM (#20517835)
Yes, but for heavy numeric problems, GPUs are your best bet if you can make them work. The question is what is Julia being used for, I guess.
Re:Composable multi-threaded parallelism in Julia by scott_s on Wednesday July 24, 2019 @04:34PM (#20519363)
A quibble: it's not necessarily "heavy numeric" problems, but problems where the calculations involve extensive data-reuse. (Of which matrix operations are the most obvious.) The GPU is massively parallel, but the up-front cost of transferring data to the GPU is quite high.

Hence, in order for that up-front cost to be worth it, the algorithms run on the GPU need to re-use that data many times. If the algorithms running on the GPU don't make extensive reuse of the data sent to it, it would be faster to just do the calculation on the host CPU.

Re:Composable multi-threaded parallelism in Julia by marmaduke on Wednesday July 24, 2019 @02:39AM (#20512830)
MPI is the HPC horizontal scaling strategy, for when you need to go from 1 core to 500k.