Skip to content

ak47mrj/arkouda-njit

 
 

Repository files navigation

Arachne: An Arkouda Package for Large-Scale Graph Analytics

Purpose

This is an external repo to build Graph related functionality for Arkouda (see https://github.com/Bears-R-Us/Arkouda)

Generate Server Code

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

Client code

Now we have two directories

arkouda_graph/
All graph algorithm related functions

suffix_array/
All suffix array related python functions

Server code

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

Test code

client: Python test code
   benchmarks: different benchmark code
server:
   UnitTestCh: chaple unit testing code of the extended functions

Call 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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Chapel 66.0%
  • Python 33.9%
  • Shell 0.1%