Skip to content
README.md 1.93 KiB
Newer Older
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
# SIT?

VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
# Bindings

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

How to configure and install:

1. `cmake .. -DCMAKE_INSTALL_PREFIX=<your_path> -DBUILD_C_FORTRAN=OFF`
2. `make install`

### How to use

```cpp
#include "sit/sit.hpp"

int main() {
  sit::init("Default");
  sit::region_start("peter");

    sit::region_start("marie");

    sit::region_stop("marie");

  sit::region_stop("peter");
  sit::finalize();
}
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
```
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed

You **must** call `sit::init` exactly once to init the datastructures before you can use the other functionality.
Also some backends require finalization, so please make sure to also call `finalize` in the end.

To add it to your code, currently just install it and use something similar to: 
`-I<sitprefix>/include -L-I<sitprefix>/lib -lsit` in the compiler options
VALENTIN SEITZ's avatar
VALENTIN SEITZ committed

VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
## Fortran

How to configure and install:

1. `cmake .. -DCMAKE_INSTALL_PREFIX=<your_path> -DBUILD_C_FORTRAN=ON`
2. `make install`

### How to use

```fortran
program test
    use sit_mod
    call init("Default")
    call region_start("test")
    call region_stop("test")
    call finalize()
  end program test
```



You **must** call `init` exactly once to init the datastructures before you can use the other functionality.
Also some backends require finalization, so please make sure to also call `finalize` in the end.

To add it to your code, currently just install it and use something similar to:
`gfortran -I./<install-prefix>/include <yourfile>.f90 -o <yourfile> <install-prefix>/lib/libsit_f.a <install-prefix>/lib/libsit.so` in the compiler of your choice.


VALENTIN SEITZ's avatar
VALENTIN SEITZ committed
# Backends

## DLB

### Building 

To build the DLB backend please make sure you have `DLB_HOME` set in your enviroment or provide the installation dir of dlb with `-DDLB_DIR`
To configure: `cmake .. -DENABLE_DLB=ON -DCMAKE_INSTALL_PREFIX=<youreprefix> -DBUILD_C_FORTRAN=OFF`

Please note, that you may have to add the DLB location to the library path, but as you probably preload it anyway, this shoule be fine :)

### Usage

`sit::init("DLB")`