3 ms·
It's not about atomicity. Co-Array Fortran is for multiple copies of the same program running on different data -- SPMD. Think MPI but much easier to write fo
by j_not_j 4y ago
It's not about atomicity.
Co-Array Fortran is for multiple copies of the same program running on different data -- SPMD. Think MPI but much easier to write for.
You start a CAF program with mpirun. Multiple copies on the same machine or multiple machines in a cluster, your choice.
Embedded directives to process arrays concurrently is a different topic, and confusingly called OpenMP with no "I". Thus your multi-core CPU can process a numeric code more quickly.
You start a program using OpenMPI with it's own name --- ./a.out for example. You can control the number of threads used. Etc.
- bullen 4y agoOk, to me those abstractions/tools make little sense. I'd much rather use C on a client (int/float arrays for parallelism + cache) or Java concurrency on a server. If I need cross machine parallelism that is not something I want automated.