Skip to content

LaganLighter: Structure-Aware High-Performance Graph Algorithms

License

Notifications You must be signed in to change notification settings

DIPSA-QUB/LaganLighter

 
 

Repository files navigation

LaganLighter

This repository contains the shared-memory CPU-based soure code of the LaganLighter project: https://blogs.qub.ac.uk/DIPSA/LaganLighter .

Algorithms in This Repo

Cloning

git clone https://github.com/MohsenKoohi/LaganLighter.git --recursive

Updating through pull

  • git pull --recurse-submodules or
  • You may set recursive submodule update globally using git config --global submodule.recurse true and then git pull fetches all updates.

Requirements

  1. The libnuma, openmp, and papi are required.
  2. A gcc with a version greater than 9 are required.
  3. For using ParaGrapher, JDK with a version greater than 15 is required.
  4. unzip, bc, and wget.

Compiling and Executing Code

  • Make sure the requried libraries are accessible through $LD_LIBRARY_PATH.
  • Run make alg... (e.g. make alg1_sapco_sort). This builds the executible file and runs it for the test graph.
  • For identifying input graph and other options, please refer to LaganLighter Documents, Loading Graphs.

How Does LaganLighter Work?

Please refer to LaganLighter Documentation

Supported Graph Types & Loading Graphs

LaganLighter supports reading graphs in text format and in compressed WebGraph format, using ParaGrapher library, particularly:

  • PARAGRAPHER_CSX_WG_400_AP,
  • PARAGRAPHER_CSX_WG_404_AP, and
  • PARAGRAPHER_CSX_WG_800_AP .

Please refer to Graph Loading Documentation.

Processing Multiple Graphs

Please refer to Launcher Script Documentaion.

Bugs & Support

If you receive wrong results or you are suspicious about parts of the code, please contact us.

License

Licensed under the GNU v3 General Public License, as published by the Free Software Foundation. You must not use this Software except in compliance with the terms of the License. Unless required by applicable law or agreed upon in writing, this Software is distributed on an "as is" basis, without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose, neither express nor implied. For details see terms of the License (see attached file: LICENSE).

Copyright 2019-2022, Queen's University of Belfast, Northern Ireland, UK

Releases

No releases published

Packages

No packages published

Languages

  • C 94.8%
  • Shell 4.1%
  • Makefile 1.1%