tail_team Interface

interface
public module function tail_team(nthreads, n) result(team)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: nthreads

the sort's resolved thread count.

integer(kind=int64), intent(in) :: n

elements the loop will walk.

Return Value integer

team size; 1 means run it serially.

Description

Team size for a trivially parallel whole-column loop, given an already-resolved sort thread count.

Separate from resolve_thread_count because the question is different: that one answers "how many threads may this sort use", this one answers "is this particular O(n) loop big enough to be worth a team". Both are needed -- a 64-thread sort still should not open a team to copy 500 elements.