(j3.2006) (SC22WG5.4037) [ukfortran] LOCK/UNLOCK question
Malcolm Cohen
malcolm
Thu Jun 25 05:09:40 EDT 2009
Bill Long wrote:
>
>>
>> There is a lot of experience with low-level parallelism providing the
>> opposite of reliability and maintainability, and quite some
>> experience with it providing the lack of portability too. Efficient
>> execution does not trump the other three parts of our purpose.
>
> But little to none of that experience is with Fortran constructs. The
> experience I've seen with coarrays is that these constructs can be
> quite reliable and maintainable. The current lack of portability is
> precisely the reason for standardizing the features.
And for much of it I agree, but there are some aspects that do raise
concern. Not enough to panic and rip out the whole feature, but enough
to think it is worth debating technicalities with a robustness and
reliability mindset.
Even if no change is made to the standard, and indeed I am not
advocating making a change to the standard at this point, such debates
can improve the quality of the next-time-around or the upcoming TR. If
there are reliability improvements that can be made, it is not too early
to be wondering about what might be going wrong and what we might do to
mitigate.
>
> ISO_PARALLEL might have been a better location for LOCK_TYPE - it
> really has little to do with the "environment". SYNC MEMORY is a
> statement - I don't see how that fits into a module.
Well, way back these were going to be subroutines, right? Those would
have fitted into a module quite nicely. They didn't have to be statements.
> Overall, I'm happy with the current arrangement.
I don't think I am seriously suggesting we should change our syntax now;
statements have some advantages too. But LOCK and UNLOCK statements as
subroutines in ISO_PARALLEL_ENV would have been a possibility,
especially since we don't provide the structured lock (which would
indeed not have fitted neatly into a module).
>> Common-or-garden scientist/engineer programmers don't want to
>> reprogram basic parallelism from scratch, they just want to use the
>> language to solve their problems.
>
>
> Certainly no one is requiring them to reprogram basic parallelism from
> scratch. Indeed, most of them will want to migrate their current MPI
> programs to use coarrays incrementally.
That's far easier than the task of writing a parallel program from scratch.
> Maybe they are all "experts".
If they have a working parallel program with MPI, probably pretty close.
> Also, I'm convinced that users who can get by with just SYNC ALL and
> SYNC IMAGES will never venture into the low-level stuff. Why would they?
Because they are there? Surely you must have seen as many inappropriate
uses of FORALL as I have. Anyway, I hope you are right, but I don't
entirely share your optimism.
Cheers,
--
............................Malcolm Cohen, Nihon NAG, Tokyo.
More information about the J3
mailing list