1.5.1 (revision 4026)
otf2/OTF2_Definitions.h
Go to the documentation of this file.
00001 /*
00002  * This file is part of the Score-P software (http://www.score-p.org)
00003  *
00004  * Copyright (c) 2009-2012,
00005  * RWTH Aachen University, Germany
00006  *
00007  * Copyright (c) 2009-2012,
00008  * Gesellschaft fuer numerische Simulation mbH Braunschweig, Germany
00009  *
00010  * Copyright (c) 2009-2012,
00011  * Technische Universitaet Dresden, Germany
00012  *
00013  * Copyright (c) 2009-2012,
00014  * University of Oregon, Eugene, USA
00015  *
00016  * Copyright (c) 2009-2012,
00017  * Forschungszentrum Juelich GmbH, Germany
00018  *
00019  * Copyright (c) 2009-2012,
00020  * German Research School for Simulation Sciences GmbH, Juelich/Aachen, Germany
00021  *
00022  * Copyright (c) 2009-2012,
00023  * Technische Universitaet Muenchen, Germany
00024  *
00025  * This software may be modified and distributed under the terms of
00026  * a BSD-style license.  See the COPYING file in the package base
00027  * directory for details.
00028  *
00029  */
00030 
00031 
00032 #ifndef OTF2_DEFINITIONS_H
00033 #define OTF2_DEFINITIONS_H
00034 
00035 
00044 #include <otf2/OTF2_ErrorCodes.h>
00045 
00046 
00047 #include <otf2/OTF2_GeneralDefinitions.h>
00048 
00049 
00050 #ifdef __cplusplus
00051 extern "C" {
00052 #endif /* __cplusplus */
00053 
00054 
00056 typedef uint8_t OTF2_SystemTreeDomain;
00057 
00063 enum OTF2_SystemTreeDomain_enum
00064 {
00068     OTF2_SYSTEM_TREE_DOMAIN_MACHINE       = 0,
00072     OTF2_SYSTEM_TREE_DOMAIN_SHARED_MEMORY = 1,
00076     OTF2_SYSTEM_TREE_DOMAIN_NUMA          = 2,
00080     OTF2_SYSTEM_TREE_DOMAIN_SOCKET        = 3,
00083     OTF2_SYSTEM_TREE_DOMAIN_CACHE         = 4,
00087     OTF2_SYSTEM_TREE_DOMAIN_CORE          = 5,
00090     OTF2_SYSTEM_TREE_DOMAIN_PU            = 6
00091 };
00092 
00093 
00095 typedef uint8_t OTF2_LocationGroupType;
00096 
00102 enum OTF2_LocationGroupType_enum
00103 {
00106     OTF2_LOCATION_GROUP_TYPE_UNKNOWN = 0,
00109     OTF2_LOCATION_GROUP_TYPE_PROCESS = 1
00110 };
00111 
00112 
00114 typedef uint8_t OTF2_LocationType;
00115 
00121 enum OTF2_LocationType_enum
00122 {
00125     OTF2_LOCATION_TYPE_UNKNOWN    = 0,
00128     OTF2_LOCATION_TYPE_CPU_THREAD = 1,
00131     OTF2_LOCATION_TYPE_GPU        = 2,
00134     OTF2_LOCATION_TYPE_METRIC     = 3
00135 };
00136 
00137 
00139 typedef uint8_t OTF2_RegionRole;
00140 
00146 enum OTF2_RegionRole_enum
00147 {
00150     OTF2_REGION_ROLE_UNKNOWN          = 0,
00153     OTF2_REGION_ROLE_FUNCTION         = 1,
00156     OTF2_REGION_ROLE_WRAPPER          = 2,
00159     OTF2_REGION_ROLE_LOOP             = 3,
00162     OTF2_REGION_ROLE_CODE             = 4,
00165     OTF2_REGION_ROLE_PARALLEL         = 5,
00168     OTF2_REGION_ROLE_SECTIONS         = 6,
00171     OTF2_REGION_ROLE_SECTION          = 7,
00174     OTF2_REGION_ROLE_WORKSHARE        = 8,
00177     OTF2_REGION_ROLE_SINGLE           = 9,
00180     OTF2_REGION_ROLE_SINGLE_SBLOCK    = 10,
00183     OTF2_REGION_ROLE_MASTER           = 11,
00186     OTF2_REGION_ROLE_CRITICAL         = 12,
00189     OTF2_REGION_ROLE_CRITICAL_SBLOCK  = 13,
00192     OTF2_REGION_ROLE_ATOMIC           = 14,
00195     OTF2_REGION_ROLE_BARRIER          = 15,
00198     OTF2_REGION_ROLE_IMPLICIT_BARRIER = 16,
00201     OTF2_REGION_ROLE_FLUSH            = 17,
00204     OTF2_REGION_ROLE_ORDERED          = 18,
00207     OTF2_REGION_ROLE_ORDERED_SBLOCK   = 19,
00210     OTF2_REGION_ROLE_TASK             = 20,
00213     OTF2_REGION_ROLE_TASK_CREATE      = 21,
00216     OTF2_REGION_ROLE_TASK_WAIT        = 22,
00219     OTF2_REGION_ROLE_COLL_ONE2ALL     = 23,
00222     OTF2_REGION_ROLE_COLL_ALL2ONE     = 24,
00225     OTF2_REGION_ROLE_COLL_ALL2ALL     = 25,
00228     OTF2_REGION_ROLE_COLL_OTHER       = 26,
00231     OTF2_REGION_ROLE_FILE_IO          = 27,
00234     OTF2_REGION_ROLE_POINT2POINT      = 28,
00237     OTF2_REGION_ROLE_RMA              = 29,
00240     OTF2_REGION_ROLE_DATA_TRANSFER    = 30,
00245     OTF2_REGION_ROLE_ARTIFICIAL       = 31,
00250     OTF2_REGION_ROLE_THREAD_CREATE    = 32,
00255     OTF2_REGION_ROLE_THREAD_WAIT      = 33,
00260     OTF2_REGION_ROLE_TASK_UNTIED      = 34
00261 };
00262 
00263 
00265 typedef uint32_t OTF2_RegionFlag;
00266 
00272 enum OTF2_RegionFlag_enum
00273 {
00276     OTF2_REGION_FLAG_NONE    = 0,
00280     OTF2_REGION_FLAG_DYNAMIC = ( 1 << 0 ),
00284     OTF2_REGION_FLAG_PHASE   = ( 1 << 1 )
00285 };
00286 
00287 
00289 typedef uint8_t OTF2_GroupType;
00290 
00296 enum OTF2_GroupType_enum
00297 {
00300     OTF2_GROUP_TYPE_UNKNOWN        = 0,
00303     OTF2_GROUP_TYPE_LOCATIONS      = 1,
00306     OTF2_GROUP_TYPE_REGIONS        = 2,
00309     OTF2_GROUP_TYPE_METRIC         = 3,
00328     OTF2_GROUP_TYPE_COMM_LOCATIONS = 4,
00334     OTF2_GROUP_TYPE_COMM_GROUP     = 5,
00339     OTF2_GROUP_TYPE_COMM_SELF      = 6
00340 };
00341 
00342 
00344 typedef uint32_t OTF2_GroupFlag;
00345 
00351 enum OTF2_GroupFlag_enum
00352 {
00355     OTF2_GROUP_FLAG_NONE           = 0,
00361     OTF2_GROUP_FLAG_GLOBAL_MEMBERS = ( 1 << 0 )
00362 };
00363 
00364 
00366 typedef uint8_t OTF2_MetricOccurrence;
00367 
00373 enum OTF2_MetricOccurrence_enum
00374 {
00377     OTF2_METRIC_SYNCHRONOUS_STRICT = 0,
00381     OTF2_METRIC_SYNCHRONOUS        = 1,
00385     OTF2_METRIC_ASYNCHRONOUS       = 2
00386 };
00387 
00388 
00390 typedef uint8_t OTF2_MetricType;
00391 
00397 enum OTF2_MetricType_enum
00398 {
00401     OTF2_METRIC_TYPE_OTHER  = 0,
00404     OTF2_METRIC_TYPE_PAPI   = 1,
00407     OTF2_METRIC_TYPE_RUSAGE = 2,
00410     OTF2_METRIC_TYPE_USER   = 3
00411 };
00412 
00413 
00415 typedef uint8_t OTF2_MetricValueProperty;
00416 
00423 enum OTF2_MetricValueProperty_enum
00424 {
00428     OTF2_METRIC_VALUE_ACCUMULATED = 0,
00431     OTF2_METRIC_VALUE_ABSOLUTE    = 1,
00434     OTF2_METRIC_VALUE_RELATIVE    = 2,
00435 
00439     OTF2_METRIC_VALUE_MASK        = 15 /* xxxx1111 */
00440 };
00441 
00442 
00444 typedef uint8_t OTF2_MetricTiming;
00445 
00453 enum OTF2_MetricTiming_enum
00454 {
00458     OTF2_METRIC_TIMING_START = 0,
00462     OTF2_METRIC_TIMING_POINT = 1 << 4,
00466     OTF2_METRIC_TIMING_LAST  = 2 << 4,
00470     OTF2_METRIC_TIMING_NEXT  = 3 << 4,
00471 
00475     OTF2_METRIC_TIMING_MASK  = 240 /* 1111xxxx */
00476 };
00477 
00478 
00480 typedef uint8_t OTF2_MetricMode;
00481 
00487 enum OTF2_MetricMode_enum
00488 {
00491     OTF2_METRIC_ACCUMULATED_START = OTF2_METRIC_VALUE_ACCUMULATED | OTF2_METRIC_TIMING_START,
00494     OTF2_METRIC_ACCUMULATED_POINT = OTF2_METRIC_VALUE_ACCUMULATED | OTF2_METRIC_TIMING_POINT,
00497     OTF2_METRIC_ACCUMULATED_LAST  = OTF2_METRIC_VALUE_ACCUMULATED | OTF2_METRIC_TIMING_LAST,
00500     OTF2_METRIC_ACCUMULATED_NEXT  = OTF2_METRIC_VALUE_ACCUMULATED | OTF2_METRIC_TIMING_NEXT,
00503     OTF2_METRIC_ABSOLUTE_POINT    = OTF2_METRIC_VALUE_ABSOLUTE | OTF2_METRIC_TIMING_POINT,
00506     OTF2_METRIC_ABSOLUTE_LAST     = OTF2_METRIC_VALUE_ABSOLUTE | OTF2_METRIC_TIMING_LAST,
00509     OTF2_METRIC_ABSOLUTE_NEXT     = OTF2_METRIC_VALUE_ABSOLUTE | OTF2_METRIC_TIMING_NEXT,
00512     OTF2_METRIC_RELATIVE_POINT    = OTF2_METRIC_VALUE_RELATIVE | OTF2_METRIC_TIMING_POINT,
00515     OTF2_METRIC_RELATIVE_LAST     = OTF2_METRIC_VALUE_RELATIVE | OTF2_METRIC_TIMING_LAST,
00518     OTF2_METRIC_RELATIVE_NEXT     = OTF2_METRIC_VALUE_RELATIVE | OTF2_METRIC_TIMING_NEXT
00519 };
00520 
00521 
00523 typedef uint8_t OTF2_MetricBase;
00524 
00530 enum OTF2_MetricBase_enum
00531 {
00534     OTF2_BASE_BINARY  = 0,
00537     OTF2_BASE_DECIMAL = 1
00538 };
00539 
00540 
00542 typedef uint8_t OTF2_MetricScope;
00543 
00549 enum OTF2_MetricScope_enum
00550 {
00553     OTF2_SCOPE_LOCATION         = 0,
00556     OTF2_SCOPE_LOCATION_GROUP   = 1,
00559     OTF2_SCOPE_SYSTEM_TREE_NODE = 2,
00562     OTF2_SCOPE_GROUP            = 3
00563 };
00564 
00565 
00567 typedef uint8_t OTF2_RecorderKind;
00568 
00574 enum OTF2_RecorderKind_enum
00575 {
00578     OTF2_RECORDER_KIND_UNKNOWN  = 0,
00582     OTF2_RECORDER_KIND_ABSTRACT = 1,
00586     OTF2_RECORDER_KIND_CPU      = 2,
00590     OTF2_RECORDER_KIND_GPU      = 3
00591 };
00592 
00593 
00595 typedef uint8_t OTF2_ParameterType;
00596 
00602 enum OTF2_ParameterType_enum
00603 {
00606     OTF2_PARAMETER_TYPE_STRING = 0,
00609     OTF2_PARAMETER_TYPE_INT64  = 1,
00612     OTF2_PARAMETER_TYPE_UINT64 = 2
00613 };
00614 
00615 
00617 typedef uint8_t OTF2_CartPeriodicity;
00618 
00624 enum OTF2_CartPeriodicity_enum
00625 {
00628     OTF2_CART_PERIODIC_FALSE = 0,
00631     OTF2_CART_PERIODIC_TRUE  = 1
00632 };
00633 
00634 
00635 #ifdef __cplusplus
00636 }
00637 #endif /* __cplusplus */
00638 
00639 
00640 #endif /* OTF2_DEFINITIONS_H */