Skip to main content

Stencil TEMPlate Engineering Library

Project description

stempel

Stencil TEMPlate Engineering Library

This tool allows automatic generation of loop kernels for several kind of stencil patterns. Stempel provides a framework to generate, perform static analysis of the code (exploiting kerncraft), generate a full C code and parallelize it via openMP and blocking.

For a detailed documentation see in docs/.

Installation

Remember to setup properly your envirnment in advance. For example, using conda Python:

conda create -n stempel python=3.4

source activate stempel

Clone this repository and run: python ./setup.py install

If you are unfamiliar with python, here is a tutorial on how to install python packages: https://packaging.python.org/installing/ . The use of virtual enviornments is usually a good choice.

Additional requirements are:

Usage

  1. Run stempel C code generator

stempel gen -D 2 -r 1 -i

or

stempel gen -D 2 -r 2 -k box -C variable -p

  1. Run stempel benchmark generator

stempel bench code.c -m machine_file.yaml -b

  1. Run a full analysis (a stencil is generated, analysed through kerncraft applying ECM/Data, Roofline and Layer Condition models; a project is set up in PROVA! and an experiment is executed. The outputs are stored to the STEMPEL workspace):

analysis -w ~/Desktop/stempelwork -p ~/PROVA ~/Desktop/provastempel -k star -m BroadwellEP_E5-2697_CoD.yml -r 2 -d 2 -e 5 -t 2 4 8 10 --method_type OpenMP-4.0-GCC-4.9.3-2.25 -C constant -c isotropic -l /apps/likwid/system/include/ /apps/likwid/system/lib/ --iaca

Credits

Implementation: Danilo Guerrera

kerncraft : Julian Hammer

ECM Model (theory): Georg Hager, Holger Stengel, Jan Treibig

License

AGPLv3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stempel-0.1.0.tar.gz (3.4 MB view details)

Uploaded Source

File details

Details for the file stempel-0.1.0.tar.gz.

File metadata

  • Download URL: stempel-0.1.0.tar.gz
  • Upload date:
  • Size: 3.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.7

File hashes

Hashes for stempel-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f5fe06a8a873b94c58f26a2e7fc8b6d8c6c087adf324b1fb5a1033974cea2e44
MD5 7d4b003ba7cd834e8a399225c6772423
BLAKE2b-256 2408ad5c103ad833042d810489412a016ff000377d798eecf38b6c6bc9dbf3bd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page