pmap data format (Julia 1.1.0)Julia: use of pmap with matricespmap bounds error: parallel juliaJULIA: Can pmap modify arguments in place?Julia equivalent of R's paste() functionJulia: use of pmap with Arrays vs SharedArrayssetting batch_size in pmap() JuliaParallel computing and JuliaParallel Computing with Julia @parallel and SharedArrayJulia pmap speed - parallel processing - dynamic programmingSharedArrays and data movement across processes in Julia

Python: next in for loop

Risk of getting Chronic Wasting Disease (CWD) in the United States?

How can bays and straits be determined in a procedurally generated map?

How is it possible to have an ability score that is less than 3?

Modeling an IPv4 Address

Can a Warlock become Neutral Good?

Theorems that impeded progress

A newer friend of my brother's gave him a load of baseball cards that are supposedly extremely valuable. Is this a scam?

Are the number of citations and number of published articles the most important criteria for a tenure promotion?

Why doesn't H₄O²⁺ exist?

What defenses are there against being summoned by the Gate spell?

What do you call a Matrix-like slowdown and camera movement effect?

Do I have a twin with permutated remainders?

How is the claim "I am in New York only if I am in America" the same as "If I am in New York, then I am in America?

Is it possible to rebuild the bike frame (to make it lighter) by welding aluminum tubes

Today is the Center

How to format long polynomial?

In Japanese, what’s the difference between “Tonari ni” (となりに) and “Tsugi” (つぎ)? When would you use one over the other?

How to write a macro that is braces sensitive?

How can I make my BBEG immortal short of making them a Lich or Vampire?

is the intersection of subgroups a subgroup of each subgroup

Email Account under attack (really) - anything I can do?

What does "Puller Prush Person" mean?

What does CI-V stand for?



pmap data format (Julia 1.1.0)


Julia: use of pmap with matricespmap bounds error: parallel juliaJULIA: Can pmap modify arguments in place?Julia equivalent of R's paste() functionJulia: use of pmap with Arrays vs SharedArrayssetting batch_size in pmap() JuliaParallel computing and JuliaParallel Computing with Julia @parallel and SharedArrayJulia pmap speed - parallel processing - dynamic programmingSharedArrays and data movement across processes in Julia






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I have a function which I run using pmap. I would like the output to be a vector - p - whose entries are the output of each iteration run parallel. For illustration, the code is as below:



@everywhere function addo(mc,mcf)

p = zeros(Int64,mcf) ;

p[mc] = mc ;

return p

end

pmap(mc -> addo(mc,mcf),1:1:mcf) ;


The output I get is



100-element ArrayArrayInt64,1,1:
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 2, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 3, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 98, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 99, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 0, 100]


Instead, I need something like this, p = [1,2,3,4,...,100];



How do I get the output in the desired format?










share|improve this question






















  • When I have more than one return value of different types - ArrayInt64,N,SimpleDiGraphInt64,Bool - and the function is run 5 times. How can I access the second element(SimpleDiGraph) of the the 3rd run ? p[1/2/3] only return the 1st,2nd or 3rd element of the 1st run and p[3,2] returns an error.

    – user3856486
    Mar 9 at 14:02

















0















I have a function which I run using pmap. I would like the output to be a vector - p - whose entries are the output of each iteration run parallel. For illustration, the code is as below:



@everywhere function addo(mc,mcf)

p = zeros(Int64,mcf) ;

p[mc] = mc ;

return p

end

pmap(mc -> addo(mc,mcf),1:1:mcf) ;


The output I get is



100-element ArrayArrayInt64,1,1:
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 2, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 3, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 98, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 99, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 0, 100]


Instead, I need something like this, p = [1,2,3,4,...,100];



How do I get the output in the desired format?










share|improve this question






















  • When I have more than one return value of different types - ArrayInt64,N,SimpleDiGraphInt64,Bool - and the function is run 5 times. How can I access the second element(SimpleDiGraph) of the the 3rd run ? p[1/2/3] only return the 1st,2nd or 3rd element of the 1st run and p[3,2] returns an error.

    – user3856486
    Mar 9 at 14:02













0












0








0








I have a function which I run using pmap. I would like the output to be a vector - p - whose entries are the output of each iteration run parallel. For illustration, the code is as below:



@everywhere function addo(mc,mcf)

p = zeros(Int64,mcf) ;

p[mc] = mc ;

return p

end

pmap(mc -> addo(mc,mcf),1:1:mcf) ;


The output I get is



100-element ArrayArrayInt64,1,1:
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 2, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 3, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 98, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 99, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 0, 100]


Instead, I need something like this, p = [1,2,3,4,...,100];



How do I get the output in the desired format?










share|improve this question














I have a function which I run using pmap. I would like the output to be a vector - p - whose entries are the output of each iteration run parallel. For illustration, the code is as below:



@everywhere function addo(mc,mcf)

p = zeros(Int64,mcf) ;

p[mc] = mc ;

return p

end

pmap(mc -> addo(mc,mcf),1:1:mcf) ;


The output I get is



100-element ArrayArrayInt64,1,1:
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 2, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 3, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 98, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 99, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0 … 0, 0, 0, 0, 0, 0, 0, 0, 0, 100]


Instead, I need something like this, p = [1,2,3,4,...,100];



How do I get the output in the desired format?







output julia pmap






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 8 at 4:26









user3856486user3856486

65




65












  • When I have more than one return value of different types - ArrayInt64,N,SimpleDiGraphInt64,Bool - and the function is run 5 times. How can I access the second element(SimpleDiGraph) of the the 3rd run ? p[1/2/3] only return the 1st,2nd or 3rd element of the 1st run and p[3,2] returns an error.

    – user3856486
    Mar 9 at 14:02

















  • When I have more than one return value of different types - ArrayInt64,N,SimpleDiGraphInt64,Bool - and the function is run 5 times. How can I access the second element(SimpleDiGraph) of the the 3rd run ? p[1/2/3] only return the 1st,2nd or 3rd element of the 1st run and p[3,2] returns an error.

    – user3856486
    Mar 9 at 14:02
















When I have more than one return value of different types - ArrayInt64,N,SimpleDiGraphInt64,Bool - and the function is run 5 times. How can I access the second element(SimpleDiGraph) of the the 3rd run ? p[1/2/3] only return the 1st,2nd or 3rd element of the 1st run and p[3,2] returns an error.

– user3856486
Mar 9 at 14:02





When I have more than one return value of different types - ArrayInt64,N,SimpleDiGraphInt64,Bool - and the function is run 5 times. How can I access the second element(SimpleDiGraph) of the the 3rd run ? p[1/2/3] only return the 1st,2nd or 3rd element of the 1st run and p[3,2] returns an error.

– user3856486
Mar 9 at 14:02












1 Answer
1






active

oldest

votes


















0














pmap, similar to map, applies your transformation function,mc -> addo(mc, mcf), to each element in the collection 1:1:mcf. The problem in your code is that for each element in the collection you are creating a new vector of size mcf and the overall result becomes an array of the arrays you create in each transformation, whereas what you want is the result of pmap to be of size mcf. Therefore, for each element in the collection, you should return only one element. pmap already gives you a collection grouping the results of each transformation.



@everywhere function addo(mc)
return mc
end

p = pmap(mc -> addo(mc), 1:1:mcf)


This will give you p = [1,2,3,4,...,100].






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55056715%2fpmap-data-format-julia-1-1-0%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    pmap, similar to map, applies your transformation function,mc -> addo(mc, mcf), to each element in the collection 1:1:mcf. The problem in your code is that for each element in the collection you are creating a new vector of size mcf and the overall result becomes an array of the arrays you create in each transformation, whereas what you want is the result of pmap to be of size mcf. Therefore, for each element in the collection, you should return only one element. pmap already gives you a collection grouping the results of each transformation.



    @everywhere function addo(mc)
    return mc
    end

    p = pmap(mc -> addo(mc), 1:1:mcf)


    This will give you p = [1,2,3,4,...,100].






    share|improve this answer



























      0














      pmap, similar to map, applies your transformation function,mc -> addo(mc, mcf), to each element in the collection 1:1:mcf. The problem in your code is that for each element in the collection you are creating a new vector of size mcf and the overall result becomes an array of the arrays you create in each transformation, whereas what you want is the result of pmap to be of size mcf. Therefore, for each element in the collection, you should return only one element. pmap already gives you a collection grouping the results of each transformation.



      @everywhere function addo(mc)
      return mc
      end

      p = pmap(mc -> addo(mc), 1:1:mcf)


      This will give you p = [1,2,3,4,...,100].






      share|improve this answer

























        0












        0








        0







        pmap, similar to map, applies your transformation function,mc -> addo(mc, mcf), to each element in the collection 1:1:mcf. The problem in your code is that for each element in the collection you are creating a new vector of size mcf and the overall result becomes an array of the arrays you create in each transformation, whereas what you want is the result of pmap to be of size mcf. Therefore, for each element in the collection, you should return only one element. pmap already gives you a collection grouping the results of each transformation.



        @everywhere function addo(mc)
        return mc
        end

        p = pmap(mc -> addo(mc), 1:1:mcf)


        This will give you p = [1,2,3,4,...,100].






        share|improve this answer













        pmap, similar to map, applies your transformation function,mc -> addo(mc, mcf), to each element in the collection 1:1:mcf. The problem in your code is that for each element in the collection you are creating a new vector of size mcf and the overall result becomes an array of the arrays you create in each transformation, whereas what you want is the result of pmap to be of size mcf. Therefore, for each element in the collection, you should return only one element. pmap already gives you a collection grouping the results of each transformation.



        @everywhere function addo(mc)
        return mc
        end

        p = pmap(mc -> addo(mc), 1:1:mcf)


        This will give you p = [1,2,3,4,...,100].







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 8 at 6:47









        hckrhckr

        2,4091023




        2,4091023





























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55056715%2fpmap-data-format-julia-1-1-0%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            1928 у кіно

            Захаров Федір Захарович

            Ель Греко