(j3.2006) (SC22WG5.5565) [ukfortran] LCPC conference in Raleigh
N.M. Maclaren
nmm1
Wed Sep 16 04:01:15 EDT 2015
On Sep 15 2015, Van Snyder wrote:
>On Tue, 2015-09-15 at 13:37 +0000, Bill Long wrote:
>
>> > Many speakers remarked that
>> > multigrain parallelism gives greater speed-up. Some speakers
>> mentioned
>> > fork-join constructs. Others mentioned tasks and threads (I don't
>> know
>> > what distinctions they drew between these). Somebody mentioned
>> futures.
>>
>> My experience is biased by SLURM, but I usually assume task -> image,
>> and thread -> SMP thread within an image to support local parallelism
>> (OpenMP, DO CONCURRENT, Async I/O, ?).
>
>Ada tasks don't fit the image model well. Maybe they're closer to
>threads.
No, they aren't. No form of tasks is. Part of the trouble is that the
terms have been grossly abused as well as being used to fit different
concepts (e.g. a Unix 'job' is a background process, and not a job).
Tasks have (almost always) been a partially or wholly isolated transactions
or 'procedure calls' (though sometimes with a non-procedure interface), NOT
always asynchronous. Futures predate X10 by a long way and are simply
asynchronous transactions, usually mapped as procedure calls. Fortran could
add futures extemely easily, but could NOT integrate them with coarrays -
the image concept is seriously incompatible. Future iterators are trickier,
because the cover a multititude of sins, but not all that hard. You may
recall me raising the possibility of futures :-)
MPI_SEND_INIT has nothing to do with transactions, and is merely a way of
setting up semi-permanent communication channels. It's a red herring.
Regards,
Nick.
More information about the J3
mailing list