DaStGen
DaStGen
Description Namespaces Classes Functions Graph

a C++ Data Structure Generator for HPC Software







logo.jpg


If you use any part of the software or any resource of this webpage, you implicitly accept the copyright (see Copyright page on the left-hand side).




DaStGen is a data structure generator. It has been designed and written by Wolfgang Eckhardt and Tobias Weinzierl in 2007. DaStGen reads a record specification and creates the corresponding C++ types used by Peano. Features supported by DaStGen currently are

  • Packs different data types, i.e. if two bools are assigned to one record, these two records are stored within one integer. DaStGen is able to back the types enum, integer (if a data range is specified) and bool.
  • Creates corresponding setter and getter operations.
  • Automatic generation of a derived MPI-Datatype
  • The generated code offers inlining, and aligns the records for AVX/SSE.
  • DaStGen supports complex data types.

Code generated by DaStGen has no copyright, i.e. you are free to choose a license model of your own.

Execute DaStGen
  • Download the latest DaStGen binary.
  • Please ensure that you have downloaded all required additional libs, too. A list of them can be found on the download page.
  • Rename the DaStGen jar file into DaStGen.jar
  • Create a datatype specification
  • Enter
    java -jar DaStGen.jar option specification-file
    
    on the command line to make DaStGen translate your specification.

Citing DaStGen
If you cite DaStGen, we appreciate if you use
@Misc{Software:DaStGen,
  author = {Wolfgang Eckhardt and Tobias Weinzierl},
  title  = {{DaStGen}---a {C++} {D}ata {S}tructure {G}enerator for {HPC} {S}oftware},
  url    = {http://www5.in.tum.de/dastgen},
  year   = {2012}
}


Papers about DaStGen
@inproceedings{eckhardt10blocking,
    author = {Eckhardt, Wolfgang and Weinzierl, Tobias},
    booktitle = {Parallel Processing and Applied Mathematics, PPAM 2009},
    editor = {Wyrzykowski, Roman and Dongarra, Jack and Karczewski, Konrad and Wasniewski, Jerzy},
    number = {1},
    pages = {567----575},
    publisher = {Springer-Verlag},
    series = {Lecture Notes in Computer Science},
    title = {A Blocking Strategy on Multicore Architectures for Dynamically Adaptive PDE Solvers},
    volume = {6068},
    year = {2010},
    ISBN = {9783642144028},
    URL = {http://www.springerlink.com/content/tn54074617t28877/fulltext.pdf}
}


@inbook{bungartz08dastgen,
    address = {Heidelberg, Berlin},
    author = {Bungartz, Hans-Joachim and Mehl, Miriam and Weinzierl, Tobias and Eckhardt, Wolfgang},
    chapter = {DaStGen - A Data Structure Generator for Parallel C++ HPC Software},
    editor = {Bubak, and van Albada, and Sloot, and Dongarra,},
    month = jun,
    pages = {213--222},
    publisher = {Springer-Verlag},
    series = {Lecture Notes in Computer Science},
    title = {ICCS 2008: Advancing Science through Computation, Part III},
    volume = {5103},
    year = {2008},
    ISSN = {0302-9743},
    URL = {http://dx.doi.org/10.1007/978-3-540-69389-5_25}
}