Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

3
  • $\begingroup$ I still do not get why we get ParallelEvaluate[z] (* {4,4,4,4} *) after the Clear[z] and still ValueQ[z] is false. Which mechanism makes the 4 know to ParallelEvaluate[z] after ParallelEvaluate[Clear[z]] if not DistributeDefinitions? $\endgroup$ Commented May 25, 2016 at 10:35
  • 2
    $\begingroup$ @Eisbär. After ParallelEvaluate[Clear[z]], the value of z in the subkernels is cleared, but in the main kernel the valueof z is still 4. Therefore, ParallelEvaluate[z] (which now does not redistribute the definition of z to the subkernels) returns the list {z,z,z,z} in the main kernel. But in the main kernel this list further evaluates to {4,4,4,4}. $\endgroup$ Commented Jun 5, 2016 at 6:50
  • 1
    $\begingroup$ Thats a tricky one, as it is not actually returning the true value as given by the parallel kernel but an interpretation of that by the master kernel. I have to rember that one. Thank you for elaborating. $\endgroup$ Commented Jun 7, 2016 at 6:47