Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Distribute resource function definitions to parallel kernels
ResourceFunction["DistributeResourceFunctions"][rf] distributes metadata and definitions for the ResourceFunction given by rf to parallel kernels. | |
ResourceFunction["DistributeResourceFunctions"][{rf1,rf2,…}] distributes multiple resource functions. | |
ResourceFunction["DistributeResourceFunctions"][rfs,ker] distributes only to the kernels specified in ker. |
"name" | the name of a resource function |
"uuid" | the UUID of a resource function |
ResourceObject[…] | a resource object with type "Function" |
ResourceFunction[…] | a resource function |
All | all resource functions loaded in the current session |
Distribute resource function definitions to parallel kernels:
In[1]:= |
Out[1]= |
Now the function can be used quickly on each kernel:
In[2]:= |
Out[2]= |
Compare to a function that has not been distributed:
In[3]:= |
Out[3]= |
Distribute multiple resource functions at once:
In[4]:= |
Out[4]= |
Using a resource function loads it into the current session:
In[5]:= |
Out[5]= |
Distribute all currently loaded resource functions to parallel kernels:
In[6]:= |
Out[6]= |
Only functions that have not been distributed yet will be sent to parallel kernels:
In[7]:= |
Out[7]= |
In[8]:= |
Out[8]= |
Distribute to specific kernels:
In[9]:= |
Out[9]= |
Compare initial timing with other kernels:
In[10]:= |
Out[10]= |
In[11]:= |
Out[11]= |
Normally, initial loading time for resource functions increases with the number of parallel kernels, because each kernel must read the definition sequentially:
In[12]:= |
Out[12]= |
In[13]:= |
Out[13]= |
The number of slow evaluations will correspond to the number of kernels:
In[14]:= |
Out[14]= |
In[15]:= |
Out[15]= |
Distribute a local resource function to parallel kernels to bypass initial loading time:
In[16]:= |
Out[16]= |
In[17]:= |
Out[17]= |
Now there is no initial loading overhead:
In[18]:= |
Out[18]= |
In[19]:= |
Out[19]= |
This work is licensed under a Creative Commons Attribution 4.0 International License