Skip to content

hoshizora-project/hoshizora

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌠 hoshizora: Fast graph analysis engine

Tutorial is here. You can try hoshizora and amanogawa on Jupyter on Docker

(⚠️ Currently alpha version. Inner structure and APIs might be changed a lot)

✨ Features

  • Easy to use
    • You can use hoshizora as a Python library, C++ library and CLI tool
  • Extremely fast
    • Full native speed
    • Efficient parallel processing (Can scale to over one hundred cores)

Experimental optimizations are here. Note that experimental branch is unstable.

🔜 Install

Supporting Linux and macOS

Python library via pip

pip install hoshizora

From source

Prerequisites

  • Make
  • CMake 3.0+
  • Clang++ 3.4+
  • Python 3
  • [OPT] libnuma

CLI

git submodule init && git submodule update
make release

Python library

python3 setup.py install

💡 Example

Task: PageRank

Python

import hoshizora as hz
result = hz.pagerank(graph_file, num_iters)

CLI

./hoshizora-cli ${graph_file} ${num_iters} > result

😣 WIP

  • Querying API
  • Support dynamic graph
  • APIs for Graph compaction
  • Out-of-Core processing
  • Tests
  • Many many applications

💚 Acknowledgement

This project was supported by IPA (Mito Project)