This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Gomp] supportlib - toy implementation


Hi,

The other day I have played a bit with a toy implementation of
the support lib as proposed by Ross quite some time ago, cf.
http://lists.gnu.org/archive/html/gomp-discuss/2004-08/msg00000.html.
My toy implementation is based on pthread (just as Scott did with his 
hello world sample posted earlier) but that is - of course - of less
importance to the design. I attach it if someone cares (there are 
probably lots of bugs lurking around so try it only if you dare). 

I still regard the mail from Ross to be the most complete design idea that we
have seen thus far and I honestly think that we should try to work from there. 
I don't say that it's complete (Ross did not claim that either :)) and we
will probably have to tweak some of it quite a bit. On the other hand, I
don't believe that we will get all the details right in the first shot
anyhow. Thus, why not simply start from the best that we have got today
and try to learn from there. I don't mind following a direction that
at some point in the future may turn out to be wrong - as long as I have 
had a jolly time along the way I'm happy with it. 

If someone wishes to continue to work either on the design proposal that
Ross started (perhaps even Ross wishes to work on it again) or on the 
implementation I would certainly like to join. I think that I will 
continue to play a bit with the toy implementation.
Actually, I would like to try to complete the overall picture of the
implementation and try to automate the transformation of the 
'#pragma omp parallel for' as in the sample below:

void sample(float *a, float *b, float *c, long n) {
long i;
#pragma omp parallel for 
	for (i=0; i < n; i++)
		*a++ = *b++ + *c++;
}

I expect that a fix would take its offspring in the gomp_handle_clause()
(cf. line 170ff in the c-gomp.c stemming from the patch
http://gcc.gnu.org/ml/gcc-patches/2004-12/msg02017.html) but I haven't
looked closely at it yet. I think that it would be very useful if 
someone with a better understanding of the internals of gcc would help. 
Anyone who wishes to help me doing this ???

Cheers, Jacob

-- 
Jacob Weismann Poulsen <jwp@dmi.dk>
Fingerprint: 9315 DC43 D2E4 4F70 3AA8  F8F0 9DA0 B765 F5C8 7D26

Attachment: support.tar.gz
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]