Skip to content

pmap argument order does not allow for do-block syntax #26684

Closed

Description

Every remotecall method currently has the function argument first so that do-block syntax can be used (#13338).

julia> methods(remotecall)
# 4 methods for generic function "remotecall":
remotecall(f, w::Base.Distributed.LocalProcess, args...; kwargs...) in Base.Distributed at distributed/remotecall.jl:318
remotecall(f, w::Base.Distributed.Worker, args...; kwargs...) in Base.Distributed at distributed/remotecall.jl:324
remotecall(f, id::Integer, args...; kwargs...) in Base.Distributed at distributed/remotecall.jl:336
remotecall(f, pool::Base.Distributed.AbstractWorkerPool, args...; kwargs...) in Base.Distributed at distributed/workerpool.jl:160

This is not the case for pmap, where the first argument is sometimes an AbstractWorkerPool. It would be great to make these consistent with each other and allow do-block syntax for pmap.

julia> methods(pmap)
# 4 methods for generic function "pmap":
pmap(p::Base.Distributed.AbstractWorkerPool, f, c; distributed, batch_size, on_error, retry_delays, retry_check) in Base.Distributed at distributed/pmap.jl:101
pmap(p::Base.Distributed.AbstractWorkerPool, f, c1, c...; kwargs...) in Base.Distributed at distributed/pmap.jl:155
pmap(f, c; kwargs...) in Base.Distributed at distributed/pmap.jl:156
pmap(f, c1, c...; kwargs...) in Base.Distributed at distributed/pmap.jl:157
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    parallelismParallel or distributed computation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions