Skip to content
Flavio Vella edited this page Jul 6, 2022 · 7 revisions

Welcome to the SPARTA wiki!

SPARTA architecture notes

Utility

Input file

Read from file the following formats

  • sorted edge list (SNAP style)
  • mtx supported
  • VBR Output is a CSR. Features:
  • from the input file to CSR;
  • our CSR stores the number of elements of i-row and not the position of the first element for the i-row;
  • shape = 0 e.g., no symmetric squared matrix
  • boolean matrix = 0
    Need to be revised...

Reordering

It reads env configuration and uses OpenMP to convert into VBR according to a specific algorithm. Access to routine for computing statistics from CSR. Optimized versions that use accelerators goes into a separate file e.g., reordering.cu

reordering takes: CSR struct, algorithms (saad, SA-1 etc... ), pointer to VBR

return in VBR

  • Variable block
  • Fixed block

Examples

a main for each architecture supported (readfile - convert if any - multiply with proprietary libs that use tensor accelerators

  • CUDA (cuBLAS - tensor cores)
  • GraphCore (poplib - IPUs)
  • IBM (? - ?)
  • Intel (MKL - ?)
  • ARM (? - ?)
  • Specialized multiplications (CUDA etc... or others )

Benchmark

similar to examples

  • Synthetic matrices
  • Synthetic graphs
  • Read files as implemented in examples

Applications

  • TC
  • DNN / GNN