---
name: "TAU_PHASE_CREATE_DYNAMIC"
section: "3"
platform: "linux"
package: "tau"
version: "2.17.3.1.dfsg-4.2"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/TAU_PHASE_CREATE_DYNAMIC"
---

# TAU\_PHASE\_CREATE\_DYNAMIC(3)

Defines a dynamic phase.

## NAME

TAU\_PHASE\_CREATE\_DYNAMIC - Defines a dynamic phase.

## SYNOPSIS

**C/C++:**

**TAU\_PHASE\_CREATE\_DYNAMIC(Phase** *phase***, char\* or string&** *function\_name***, char\* or string&** *type***, TauGroup\_t** *group***);**

**Fortran:**

**TAU\_PHASE\_CREATE\_DYNAMIC(integer** *phase***(2), character** *name***(size));**

## DESCRIPTION

TAU\_PHASE\_CREATE\_DYNAMIC creates a dynamic phase. The name of the timer can be different for each execution.

## EXAMPLE

**C/C++ :**

```
int main(int argc, char **argv) {
  int i;
  TAU_PROFILE_TIMER(t,"main()", "", TAU_DEFAULT);
  TAU_PROFILE_SET_NODE(0);
  TAU_PROFILE_START(t);
  for (i=0; i&5; i++) {
    char buf[32];
    sprintf(buf, "Iteration %d", i);
    TAU_PHASE_CREATE_DYNAMIC(timer, buf, "", TAU_USER);
    TAU_PHASE_START(timer);
    printf("Iteration %d\n", i);
    f1();
    TAU_PHASE_STOP(timer);
  }
  return 0;
}
```

**Fortran :**

```
subroutine ITERATION(val)
  integer val
  character(13) cvar
  integer profiler(2) / 0, 0 /
  save profiler
  print *, "Iteration ", val
  write (cvar,'(a9,i2)') 'Iteration', val
  call TAU_PHASE_CREATE_DYNAMIC(profiler, cvar)
  call TAU_PHASE_START(profiler)
  call F1()
  call TAU_PHASE_STOP(profiler)
  return
end
```

## SEE ALSO

[TAU\_PHASE\_CREATE\_STATIC(3)](/TAU_PHASE_CREATE_STATIC/3.md), [TAU\_PHASE\_START(3)](/TAU_PHASE_START/3.md), [TAU\_PHASE\_STOP(3)](/TAU_PHASE_STOP/3.md)
