gomp slowness
Dave Korn
dave.korn@artimi.com
Fri Oct 19 02:00:00 GMT 2007
On 19 October 2007 02:45, tim prince wrote:
> skaller wrote:
>> On Thu, 2007-10-18 at 06:00 -0700, Tim Prince wrote:
>>
>>> skaller wrote:
>>>
>>
>>
>>> I don't know of any OpenMP compiler which would correct the nesting of
>>> parallel loops in your LU. I have assumed that OpenMP doesn't allow
>>> such optimization; you have to get it right yourself.
>>>
>>
>> Can you explain? This code was taken from a *tutorial* on OpenMP:
>>
>> http://kallipolis.com/openmp/2.html
>>
>>
> Did they show your version somewhere as an example of what not to do?
> In the page you referenced, they appear to have the correct loop nesting.
Huh?
http://kallipolis.com/openmp/2.html
Or, if you are really lazy, you can download LU_mp.c.
47: /* Here we update A by subtracting the appropriate values from row
48: and column. Note that these adjustments to A can be done in
49: any order */
50: #pragma omp parallel for shared(A, row, col)
51: for (i = k+1; i<SIZE; i++) {
52: for (j = k+1; j<SIZE; j++) {
53: A[i][j] = A[i][j] - row[i] * col[j];
54: }
55: }
Now instead of a parallel
http://gcc.gnu.org/ml/gcc/2007-10/msg00230.html
/* Here we update A by subtracting the appropriate values from row
and column. Note that these adjustments to A can be done in
any order */
#pragma omp parallel for shared(A, row, col)
for (i = k+1; i<SIZE; i++) {
for (j = k+1; j<SIZE; j++) {
A[i][j] = A[i][j] - row[i] * col[j];
}
}
}
cheers,
DaveK
--
Can't think of a witty .sigline today....
More information about the Gcc
mailing list