Skip to main content

Loop Kernel Analysis and Performance Modeling Toolkit

Project description

kerncraft

Loop Kernel Analysis and Performance Modeling Toolkit

This tool allows automatic analysis of loop kernels using the Execution Cache Memory (ECM) model, the Roofline model and actual benchmarks. kerncraft provides a framework to investigate the data reuse and cache requirements by static code analysis. In combination with the Intel IACA tool kerncraft can give a good overview of both in-core and memory bottlenecks and use that data to apply performance models.

For a detailed documentation see publications in doc/.

https://travis-ci.org/RRZE-HPC/kerncraft.svg?branch=master https://codecov.io/github/RRZE-HPC/kerncraft/coverage.svg?branch=master Code Health

Installation

Run: pip install --process-dependency-links kerncraft

Additional requirements are:
  • Intel IACA tool, with (working) iaca.sh in PATH environment variable (used by ECM, ECMCPU and Roofline models)

  • likwid (used in Benchmark model and by likwid_bench_auto.py)

Usage

  1. Get an example kernel and machine file from the examples directory

wget https://raw.githubusercontent.com/cod3monk/kerncraft/master/examples/machine-files/phinally.yaml

wget https://raw.githubusercontent.com/cod3monk/kerncraft/master/examples/kernels/2d-5pt.c

  1. Have a look at the machine file and change it to match your targeted machine (above we downloaded a file for a sandy bridge EP machine)

  2. Run kerncraft

kerncraft -p ECM -m phinally.yaml 2d-5pt.c -D N 10000 -D M 10000 add -vv for more information on the kernel and ECM model analysis.

Credits

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

License

AGPLv3

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

kerncraft-0.2.2.tar.gz (131.4 kB view details)

Uploaded Source

Built Distributions

kerncraft-0.2.2-py3-none-any.whl (134.0 kB view details)

Uploaded Python 3

kerncraft-0.2.2-py2-none-any.whl (134.0 kB view details)

Uploaded Python 2

File details

Details for the file kerncraft-0.2.2.tar.gz.

File metadata

  • Download URL: kerncraft-0.2.2.tar.gz
  • Upload date:
  • Size: 131.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for kerncraft-0.2.2.tar.gz
Algorithm Hash digest
SHA256 03d946c887a7741866084131d59614d20bc76ea6c4f97adb013334bd35e1dc48
MD5 ed1ee58d1e2d3fcf56de9401dd7a6f88
BLAKE2b-256 b23006ac79be680219e5f10942365306f39e59de8db386b8d12fcdc65d10fc64

See more details on using hashes here.

File details

Details for the file kerncraft-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for kerncraft-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 33a0b4aded36562828e9879fe354fc5c6e197d84b45af435c6c6de1f651f1fc9
MD5 2d512a792701889c53743c41ac2a8957
BLAKE2b-256 fa61b9ac59170b9daf279a66597ac4667c506b295b66ba728ca63336f4c9f656

See more details on using hashes here.

File details

Details for the file kerncraft-0.2.2-py2-none-any.whl.

File metadata

File hashes

Hashes for kerncraft-0.2.2-py2-none-any.whl
Algorithm Hash digest
SHA256 3275d9b72fda19ce133852f7dd7d9a17498765c5eedd7436b80a3786e34e9448
MD5 0aa47c81fe430bda1b2a83ec7f741ace
BLAKE2b-256 cbaa15dd3517078be975fae51f63c9923d20aa71a1abb346b55f3a2a13e7cfb2

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