Skip to content
README.md 1.84 KiB
Newer Older
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed

VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
> Noch eine Schicht mehr im Kuchen
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed

VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
which translates roughly into: "Una altra capa al pastís" or "Yet another layer in the cake".
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed

VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
Its main use case is to provide an interface to annotate code regions.
These annotated regions then can be used with multiple backends to gain insight in application behavior.
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed

VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
## Bindings
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed

VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
To make neSmiK easily usable, we provide Fortran, C, C++ bindings to the library.

### CXX bindings
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed

```cpp
#include "nesmik/nesmik.hpp"
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed

int main() {
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
  nesmik::Init("ProperlyNested","Default"); // inits the nesmik library
  nesmik::RegionStart("peter");
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed

    nesmik::RegionStart("marie");
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed

    nesmik::RegionStop("marie");
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed

  nesmik::RegionStop("peter");
  nesmik::Finalize();
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
}
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
```
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed

VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
### Fortran
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed

VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
To enable the Fortran module to be built please add `-DBUILD_C_FORTRAN=ON` to the cmake flags.
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed

```fortran
program test
    use nesmik_mod
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
    call Init("ProperlyNested","Default")
    call RegionStart("test")
    call RegionStop("test")
    call Finalize()
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
  end program test
```

VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
Please consider having a look into the documentation (which will be available soon) for further details.
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed

VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
## Backends
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed

VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
| Nesting           | Backend           | Description                                                    |
|-------------------|-------------------|----------------------------------------------------------------|
| ProperlyNested    | Default           | Default Backend, just prints the regions                       |
| NotProperlyNested | Default           | Default Backend, just prints the regions                       |
| ProperlyNested    | Extrae::TypeStack | Extrae backend using different Types for the levels of nesting |
| ProperlyNested    | TALP::Tree        | DLB-TALP backend printing a tree to visualize the nesting      |
| NotProperlyNested | TALP              | DLB-TALP backend to register the monitoring regions            |