[Bug fortran/87622] coarray does not run in parallel
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87622 --- Comment #5 from Andreas Klein --- On Wed, 17 Oct 2018, tkoenig at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87622 > > --- Comment #2 from Thomas Koenig --- > Some more remarks: In a benchmark, it is best to actually fill the values of > all read variables to something defined, for example with a call to > random_number. Also, if you generate values which you do not use later, the > compilet may decide to remove the calculation altogether. What works well for > this somethinh like > > read (*,*) i,j > print *, a(i,j) > Adding initialzation removes the effect. There is still a 20% decresed performance, but that are plausible cache effects. Sorry my minimal example was to minimal. I derived the mini example from a big parallel linear algebra package. Now I must go throgh all minimalization steps, but its possible that the original error has nothing to do with coarrays.
[Bug fortran/87622] coarray does not run in parallel
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87622 --- Comment #4 from Andreas Klein --- On Wed, 17 Oct 2018, burnus at gcc dot gnu.org wrote: > > If "b" (and "a") are allocated in some slower memory part, it matters how one > sums over the variables in the matmul loop. I know that there are difference in speed. But a factor 2 is realy large and should not happen. I created the example as a minimal example. I observerd similar problems in almost every coarray program I have tried. The result is always that the use coarrays of brings not the desired speed up and is just a wast of resouces.
[Bug fortran/87622] New: coarray does not run in parallel
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87622 Bug ID: 87622 Summary: coarray does not run in parallel Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: klein at cage dot ugent.be Target Milestone: --- I have a minimal co array program program mini implicit none real, dimension(2500,2500),codimension[*] :: a,b real, dimension(2500,2500) :: c print *, "start" !switch b and c and itworks as expected a=matmul(b,c) !Wast time print *, "end" end program mini There is no interaction between the images. Thus I expect a that running two images on two cores is as fast as running 1 image on 1 core. But there runtime doubles it seems that each image does the work of both images. Curiossly everything works as expected if I replacte matmul(b,c) by matmul(c,b). The program runs twice as fast in this case.