Name

TAU_PROFILER_CREATE — Creates a profiler object referenced as a standard pointer

Synopsis

C/C++:
TAU_PROFILER_CREATE( timer,  
  function_name,  
  type,  
  group);  
Timer   timer;
char* or string&   function_name;
char* or string&   type;
taugroup_t   group;

description

TAU_PROFILER_CREATE creates a timer the that can be controlled by the Timer pointer object.

The TAU_PROFILER_* API is intended for applications to easily layer their legacy timing measurements APIs on top of TAU, Unlike other TAU API calls (TAU_PROFILE_TIMER) that are statically expanded in the source code, these calls allocate TAU entities on the heap. So the pointer to the TAU timer may be used as a handle to access the TAU performance data.

example

>C/C++:

void *ptr;
TAU_PROFILER_CREATE(ptr, "foo","", TAU_USER);

TAU_PROFILER_START(ptr);
foo(2);
TAU_PROFILER_STOP(ptr); 

>Python:

import pytau
ptr = pytau.profileTimer("foo")

pytau.start(ptr)
foo(2)
pytau.stop(ptr)