Code Monkey home page Code Monkey logo

grb-mxm-timer's Introduction

GrB-mxm-timer

A very simple timer for GrB_mxm that emulates a "k-hop" sequence of operations as in the TigerGraph Graph Database Benchmark.

Usage

Usage: GrB-mxm-timer [OPTION]...

Times the iteration of B = A*B

  -h, --help               Print help and exit
  -V, --version            Print version and exit
  -s, --scale=INT          Scale (log2 # vertices in A)  (default=`20')
  -e, --edgefactor=INT     Edge factor, so # edges = ef * 2^scale
                             (default=`8')
  -A, --A=FLOAT            R-MAT upper left quadrant probability
                             (default=`0.55')
  -B, --B=FLOAT            R-MAT upper right & lower left quadrant probability
                             (default=`0.1')
  -N, --noisefact=FLOAT    Noise factor on each recursion  (default=`0.1')

  -c, --b-ncols=INT        Number of columns in B  (default=`16')
  -C, --b-used-ncols=INT   Number of columns actually used in the initial B
                             (default=`1')
  -E, --b-nents-col=INT    Number of entries per column in the initial B
                             (default=`1')

  -k, --khops=STRING       Number of iterations / hops (can be a space-delim
                             list)  (default=`4')

      --NE-chunk-size=INT  Number of edges to generate in a chunk.
                             (default=`3000')
      --verbose[=INT]      Provide status updates via stdout.  (default=`1')

Building

This should build out of the box on a generic host system.

To run on the stationary core but call LucataGraphBLAS via the SC/GC interface, override LDLIBS and possibly LDFLAGS to point to your build.

To build completely as a MWX for the Gossamer cores, add similar overrides (as well as the compiler), and call make TARGET_MWX=1.

"History"

The included graph generator is based off of https://gitlab.com/ejr/graph500-old-v3 .

grb-mxm-timer's People

Contributors

jasonriedy avatar

Watchers

 avatar

Forkers

jamesetsmith

grb-mxm-timer's Issues

Changing prng seed?

Overview

@jasonriedy, do you remember how to seed the seed dynamically for this? Initially I thought I could using the code fragment below, but it turns out to be unused (I think).

GrB-mxm-timer/prng.c

Lines 28 to 49 in bef3122

init_prng (void)
{
threefry4x32_ctr_t ctr, out;
/* Grab any changed seeds for experimental runs. */
errno = 0;
#define GET_SEED(k) \
if (getenv ("SEED" #k)) { \
long t; \
t = strtoul (getenv ("SEED" #k), NULL, 10); \
if (t == ULONG_MAX) { \
if (errno) { \
perror ("Error setting seed" #k ":"); \
abort (); \
} \
} \
key.v[k] = t; \
}
GET_SEED(0);
GET_SEED(1);
GET_SEED(2);
GET_SEED(3);

Not bullet-proof yet.

Running in dump mode, chunk sizes larger than 16*2**25 run into a "floating point exception." There likely are overflows not being managed.

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.