Coder Social home page Coder Social logo

tfauck / paflib Goto Github PK

View Code? Open in Web Editor NEW

This project forked from paflib/paflib

0.0 2.0 0.0 21.78 MB

PAFLib is an IBM written library which exposes Power Architecture Facilities to userspace via an API

License: MIT License

Shell 47.13% C 14.31% Groff 3.11% Assembly 5.16% C++ 1.71% Makefile 27.85% M4 0.74%

paflib's Introduction

PAFLib

PAFLib is an IBM written library which exposes Power Architecture Facilities to userspace via an API. This includes the Data Stream Control Register Facility (DSCR) and the Event-Based Branching facility (EBB). Linux kernel 3.9 has exposed problem-state DSCR usage for ISA 2.06 (POWER7 โ€“ emulated) and ISA 2.07 (POWER8 โ€“ in hardware). Linux 3.10 has exposed the EBB facility.

Event Based Branching

To use the EBB library, just link to -lpaf-ebb. The system must be POWER ISA 2.07 compliant (POWER >= 8) to get EBB functionality.

The EBB library is automatically built when the compiler is able to generate instructions for POWER >= 8. In other words, when the compiler is using --with-cpu=power8. However, there are some cases in which the compiler doesn't generate POWER8 instructions by default, but the user wants to build the EBB library. In those cases, there are 2 options:

  • Configure paflib with '--enable-ebb', which will force the build of EBB library.
  • Configure paflib with CFLAGS='-mcpu=power8'.

It's important to notice that, in both cases the library won't execute on processors that don't implement the POWER ISA 2.07.

Data Stream Control Register

To use the DSCR library just link to -lpaf-dsc. The system must be POWER ISA 2.05 compliant (POWER6+) to get DSCR functionality and depending of the system supportted ISA the DSCR will operate in a different manner:

  • Power ISA 2.05 (POWER6): SSE (Store Stream Enable) and DPFD (Default Prefetch Depth);
  • Power ISA 2.06 (POWER7): SNSE (Stride-N Stream Enable);
  • Power ISA 2.06+ (POWER7+): LSD (Load Stream Disable)
  • Power ISA 2.07 (POWER8): URG (Depth Attainment Urgency), SWTE (Software Transient Enable), HWTE (Hardware Transient Enable), STE (Store Transient Enable), LTE (Load Transient Enable), SWUE (Software Unit Count Enable), HWUE (Hardware Unit Count Enable), and UNITCNT (Unit Count).

Also depending of the ISA the access to DSCR is privileged or not:

  • Power ISA 2.05/2.06/2.06+: Privileged
  • Power ISA 2.07: Problem-state (userland accessible).

paflib's People

Contributors

tuliom avatar rajalakshmis avatar ceseo avatar zatrazz avatar brenoleitao avatar inconstante avatar ingvagabund avatar

Watchers

James Cloos avatar Thierry avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.