gutmann / coarray_icar

Testing implementation of CoArrays for the basic ICAR algorithms
MIT License
5 stars 6 forks source link

Test pure coarrays vs coarrays+OpenMP #20

Open bcfriesen opened 6 years ago

bcfriesen commented 6 years ago

Early benchmarking of the coarray version of ICAR has expressed the concurrency in coarrays by placing one coarray image on each physical core on a compute node. On architectures such as Intel Xeon Phi, this can result in large numbers of images on a relatively few number of nodes. Such a large degree of concurrency may affect code performance and scaling, depending on how the underlying coarray communication model has been implemented in a particular compiler.

One way to mitigate the large degree of concurrency (and therefore communication) among coarray images is to combine the coarray implementation with OpenMP, such that some of the parallelism expressed within each compute node is on shared memory, rather than on a global address space. We should test the performance of coarrays+OpenMP versus pure coarrays in ICAR to evaluate this.

gutmann commented 6 years ago

https://github.com/gutmann/coarray_icar/tree/adding_openmp

bcfriesen commented 6 years ago

Thanks! I'll test it out.