This is an external repo to build Graph related functionality for Arkouda
(see https://github.com/Bears-R-Us/Arkouda)
To generate the server code run the server-config.py
file.
It will generate commands which you can pipe to a shell for execution which
will build the Arkouda server including the Graph server functions.
# Print usage instructions
python server-config.py --help
# Sample invocation
python server-config.py --arkouda=$ArkoudaHomeDirectory
# Sample execution
python server-config.py --arkouda=$ArkoudaHomeDirectory | bash
Now we have two directories
arkouda_graph/
All graph algorithm related functions
suffix_array/
All suffix array related python functions
Now we have the following chapel modules.
BFSMsg--for breadth first search
TrussMsg--for truss analysis
SuffixArrayMsg--for suffix array
GraphMsg-- for the basic graph operation
TriCntMsg--for triangle counting
TriCtrMsg-- for triangle centrality
JaccardMsg-- for Jaccard coefficients
CCMsg-- for Connected Components
client: Python test code
benchmarks: different benchmark code
server:
UnitTestCh: chaple unit testing code of the extended functions
(1) Under the master arkouda directory, copy the arkouda-njit directory to here and rename it as arkouda_njit or
create a arkouda_njit link to the arkouda-njit directory
(2) import arkouda_njit as njit
(3) call all the extended function as njit.function