Coder Social home page Coder Social logo

fusedmm's Introduction

FusedMM

This is the official implementation of FusedMM method accepted for publication in IEEE IPDPS 2021 titled "FusedMM: A Unified SDDMM-SpMM Kernel for Graph Embedding and Graph Neural Networks".

PDF is available in arXiv

System Requirements

Users need to have the following softwares/tools installed in their PC/server. The source code was compiled and run successfully in both Linux and macOS.

GCC version >= 4.9
OpenMP version >= 4.5

Some helpful links can be found at GCC, OpenMP and Environment Setup.

Compile and Run FusedMM

$ ./configure

It will probe the system and update the Makefile and necessary configuration inside kernels for generated optimized kernels.

To build the generated library for single precision float, use

$ make

To test FusedMM for single precision float, use

$ make test 

Compiling step will generate all executible files inside the bin folder. To run the tester and timer with a specific kernel using FusedMM, please use the following format:

./bin/xsOptFusedMMtime_fr_pt -input dataset/harvard.mtx 

The optimizeed kernel has the prefix xsOptFusedMM* and the unoptimized kernel has the prefix xsFusedMM*. There are several parameters which can be provided as follows:

-input <string>, full path of input file (required).
-K <int>, dimension of the embedding.
-C <int> Cachesize in KB to use cache flushing in timer
-nrep <int> Number of repeatation in timer  
-T <1,0> want to run the tester along with timer  

Download All Datasets of FusedMM

To conduct experiments using all the datasets of FusedMM paper, please download it from the following link: Datasets

Note for double precision floating point:

Configure step detects the SIMD width for single precision. For double precision, it is normally half the width. Update "pre" and "vlen" in Makefile accordingly and use make command.

Citation

If you find this repository helpful, please cite the following paper:

@inproceedings{rahman2020fusedmm,
  title={FusedMM: A Unified SDDMM-SpMM Kernel for Graph Embedding and Graph Neural Networks},
  author={Rahman, Md and Sujon, Majedul Haque and Azad, Ariful and others},
  booktitle={35th Proceedings of IEEE IPDPS},
  year={2021}
}

Contact

Please contact the following person if you have any questions: Majedul Haque Sujon ([email protected]) or, Md. Khaledur Rahman ([email protected]).

fusedmm's People

Contributors

msujon avatar khaled-rahman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.