/data-structures-framework

EXCESS C++ Concurrent Data Structures framework - a benchmark framework and some EXCESS component work. Currently also include the EXCESS concurrent data structure library, see the data-structures-library repository.

Primary LanguageC++GNU General Public License v3.0GPL-3.0

EXCESS data structures framework

 Copyright (C) 2014 - 2016  Anders Gidenstam
 Copyright (C) 2011  Håkan Sundell    (Skeleton for the experiment framework)

 License: GPL v3+ except for src/include/* which is LGPL v3+.

LICENSES OF DEPENDENCIES
------------------------

The following applies, to the best of my knowledge, when the respective
dependency is compiled in:

NOBLE
  Copyright (C) Parallel Scalable Solutions AB, http://www.non-blocking.com
  All Rights Reserved.
  A binary including it may not be distributed.

Intel Threading Building Blocks:
  Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
  GPL v2 or later with the "runtime exception".
  A binary including it may be distributed under GPL v3+.

EXCESS Tree library
  Composite collection of concurrent search tree implementations.
  For DeltaTree and GreenBST:
    Copyright (C) 2013 - 2016, Ibrahim Umar.
    The Apache License, Version 2.0.
    A binary including these may be distributed under GPL v3+.
  For CBTree:
    Copyright (C) 2013 - 2016, Ibrahim Umar.
    Copyright (C) 2010  Amittai Aviram.
    GPL v3+.

CCKHashtable
  Copyright (C) 2014, Nhan Nguyen and Philippas Tsigas. All Rights Reserved.
  A binary including it may not be distributed.

HSHashtable
  Copyright (C) 2008, Maurice Herlihy, Nir Shavit and Moran Tzafrir.

  Permission to use, copy, modify and distribute this software and
  its documentation for any purpose is hereby granted without fee,
  provided that due acknowledgments to the authors are provided and
  this permission notice appears in all copies of the software.
  The software is provided "as is". There is no warranty of any kind.

  The ChainedHashMap is GPL v2 or later.
  A binary including it may be distributed under GPL v3+.

EXCESS Monitoring Framework client/agent
  Copyright 2014, 2015, High Performance Computing Center, Stuttgart
  The Apache License, Version 2.0.
  A binary including it may be distributed under GPL v3+.

OpenBLAS (See the LICENSE file in the OpenBLAS source archive)
  Copyright (c) 2011-2014, The OpenBLAS Project. All rights reserved.
  A binary including it may be distributed under GPL v3+ provided the above
  copyright statement is included.

librsb
  Copyright (C) Michele Martone.
  LGPL v3.
  A binary including it may be distributed under GPL v3+.

INSTALL
-------

1. Configure the dependencies in the top-level Makefile.

2. make.

3. Run
   ./testbench -e 0 -h
   ./testbench -e 1 -h
   ./testbench -e 2 -h
   ./testbench -e 3 -h
   ./testbench -e 4 -h
   ./testbench -e 5 -h

4. The matrices needed for the -e 3 SpGEMM microbenchmark can be
   downloaded from http://yifanhu.net/GALLERY/GRAPHS/search.html
   in Matrix Market format using the same name as listed by the program.
   They should be placed in the subdirectory matrices/general/