You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the process of developing Arkouda extensions (e.g. user defined functions) is roughly:
Modify and recompile version of Arkouda containing extension
Restart Arkouda server
Reconnect Arkouda client
Re-run client notebook to reach prior state
Test functionality
Leveraging Chapel's existing dynamic linking facilities (chapel-lang/chapel#26024), Arkouda could support the following workflow:
Modify and recompile standalone Chapel module containing extension
Arkouda server automatically detects and loads library (by watching the build directory)
Test functionality (no need to reconnect or re-run client notebook)
This would dramatically improve iteration time, getting the feedback loop closer to what Python users are accustomed to. With the existing level of support for dynamic linking, this could be used to implement scalar routines that are run in parallel by the Arkouda server. This should be faster than issuing individual operations and also remove some instances of creating temporary arrays to hold intermediate results.
As Chapel's dynamic linking facilities mature, more ambitious extensions to Arkouda like Arachne could potentially be developed and distributed as "plugins" instead of requiring a fork of the Arkouda codebase.
The text was updated successfully, but these errors were encountered:
Currently, the process of developing Arkouda extensions (e.g. user defined functions) is roughly:
Leveraging Chapel's existing dynamic linking facilities (chapel-lang/chapel#26024), Arkouda could support the following workflow:
This would dramatically improve iteration time, getting the feedback loop closer to what Python users are accustomed to. With the existing level of support for dynamic linking, this could be used to implement scalar routines that are run in parallel by the Arkouda server. This should be faster than issuing individual operations and also remove some instances of creating temporary arrays to hold intermediate results.
As Chapel's dynamic linking facilities mature, more ambitious extensions to Arkouda like Arachne could potentially be developed and distributed as "plugins" instead of requiring a fork of the Arkouda codebase.
The text was updated successfully, but these errors were encountered: