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

This version

0.2.4

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.4.tar.gz (132.6 kB view details)

Uploaded Source

Built Distributions

kerncraft-0.2.4-py3-none-any.whl (135.6 kB view details)

Uploaded Python 3

kerncraft-0.2.4-py2-none-any.whl (135.6 kB view details)

Uploaded Python 2

File details

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

File metadata

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

File hashes

Hashes for kerncraft-0.2.4.tar.gz
Algorithm Hash digest
SHA256 3f6481e8fa8763c529374840839938a806cda91a4f939494c2fc329219b98512
MD5 5d64e0ade93d6a69384d2d7fceb5022a
BLAKE2b-256 03198b432b281aa6da989345f0fbab58ce218e911bb40c767c2a5edc3659078a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kerncraft-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 478bed2ad7f8c70470758a18ffd7aefb484f5884a060698bf502a2f33a4aafe9
MD5 f7352aefb2fb2db28bc07d25e349253d
BLAKE2b-256 10aeaa59320f1a338300611d7fbf95613301f2055c5b31d5560af89f231cf8b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kerncraft-0.2.4-py2-none-any.whl
Algorithm Hash digest
SHA256 8b8c501fa2cb40f9f797d20adc37071f99383d9c45ce4a7875e84ec72f6d7a11
MD5 80f0e2663080014a0fb63689a6a4eb39
BLAKE2b-256 08835ec92b3d926d4038b1c2f98b09fd7c39ba90fb2e1264bf3edff297e1f3bc

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