1.4 (revision 3771)
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,
00244     OTF2_REGION_ROLE_ARTIFICIAL       = 31,
00247     OTF2_REGION_ROLE_THREAD_CREATE    = 32,
00251     OTF2_REGION_ROLE_THREAD_WAIT      = 33
00252 };
00253 
00254 
00256 typedef uint32_t OTF2_RegionFlag;
00257 
00263 enum OTF2_RegionFlag_enum
00264 {
00267     OTF2_REGION_FLAG_NONE    = 0,
00271     OTF2_REGION_FLAG_DYNAMIC = ( 1 << 0 ),
00275     OTF2_REGION_FLAG_PHASE   = ( 1 << 1 )
00276 };
00277 
00278 
00280 typedef uint8_t OTF2_GroupType;
00281 
00287 enum OTF2_GroupType_enum
00288 {
00291     OTF2_GROUP_TYPE_UNKNOWN        = 0,
00294     OTF2_GROUP_TYPE_LOCATIONS      = 1,
00297     OTF2_GROUP_TYPE_REGIONS        = 2,
00300     OTF2_GROUP_TYPE_METRIC         = 3,
00319     OTF2_GROUP_TYPE_COMM_LOCATIONS = 4,
00325     OTF2_GROUP_TYPE_COMM_GROUP     = 5,
00330     OTF2_GROUP_TYPE_COMM_SELF      = 6
00331 };
00332 
00333 
00335 typedef uint32_t OTF2_GroupFlag;
00336 
00342 enum OTF2_GroupFlag_enum
00343 {
00346     OTF2_GROUP_FLAG_NONE           = 0,
00352     OTF2_GROUP_FLAG_GLOBAL_MEMBERS = ( 1 << 0 )
00353 };
00354 
00355 
00357 typedef uint8_t OTF2_MetricOccurrence;
00358 
00364 enum OTF2_MetricOccurrence_enum
00365 {
00368     OTF2_METRIC_SYNCHRONOUS_STRICT = 0,
00372     OTF2_METRIC_SYNCHRONOUS        = 1,
00376     OTF2_METRIC_ASYNCHRONOUS       = 2
00377 };
00378 
00379 
00381 typedef uint8_t OTF2_MetricType;
00382 
00388 enum OTF2_MetricType_enum
00389 {
00392     OTF2_METRIC_TYPE_OTHER  = 0,
00395     OTF2_METRIC_TYPE_PAPI   = 1,
00398     OTF2_METRIC_TYPE_RUSAGE = 2,
00401     OTF2_METRIC_TYPE_USER   = 3
00402 };
00403 
00404 
00406 typedef uint8_t OTF2_MetricValueProperty;
00407 
00414 enum OTF2_MetricValueProperty_enum
00415 {
00419     OTF2_METRIC_VALUE_ACCUMULATED = 0,
00422     OTF2_METRIC_VALUE_ABSOLUTE    = 1,
00425     OTF2_METRIC_VALUE_RELATIVE    = 2,
00426 
00430     OTF2_METRIC_VALUE_MASK        = 15 /* xxxx1111 */
00431 };
00432 
00433 
00435 typedef uint8_t OTF2_MetricTiming;
00436 
00444 enum OTF2_MetricTiming_enum
00445 {
00449     OTF2_METRIC_TIMING_START = 0,
00453     OTF2_METRIC_TIMING_POINT = 1 << 4,
00457     OTF2_METRIC_TIMING_LAST  = 2 << 4,
00461     OTF2_METRIC_TIMING_NEXT  = 3 << 4,
00462 
00466     OTF2_METRIC_TIMING_MASK  = 240 /* 1111xxxx */
00467 };
00468 
00469 
00471 typedef uint8_t OTF2_MetricMode;
00472 
00478 enum OTF2_MetricMode_enum
00479 {
00482     OTF2_METRIC_ACCUMULATED_START = OTF2_METRIC_VALUE_ACCUMULATED | OTF2_METRIC_TIMING_START,
00485     OTF2_METRIC_ACCUMULATED_POINT = OTF2_METRIC_VALUE_ACCUMULATED | OTF2_METRIC_TIMING_POINT,
00488     OTF2_METRIC_ACCUMULATED_LAST  = OTF2_METRIC_VALUE_ACCUMULATED | OTF2_METRIC_TIMING_LAST,
00491     OTF2_METRIC_ACCUMULATED_NEXT  = OTF2_METRIC_VALUE_ACCUMULATED | OTF2_METRIC_TIMING_NEXT,
00494     OTF2_METRIC_ABSOLUTE_POINT    = OTF2_METRIC_VALUE_ABSOLUTE | OTF2_METRIC_TIMING_POINT,
00497     OTF2_METRIC_ABSOLUTE_LAST     = OTF2_METRIC_VALUE_ABSOLUTE | OTF2_METRIC_TIMING_LAST,
00500     OTF2_METRIC_ABSOLUTE_NEXT     = OTF2_METRIC_VALUE_ABSOLUTE | OTF2_METRIC_TIMING_NEXT,
00503     OTF2_METRIC_RELATIVE_POINT    = OTF2_METRIC_VALUE_RELATIVE | OTF2_METRIC_TIMING_POINT,
00506     OTF2_METRIC_RELATIVE_LAST     = OTF2_METRIC_VALUE_RELATIVE | OTF2_METRIC_TIMING_LAST,
00509     OTF2_METRIC_RELATIVE_NEXT     = OTF2_METRIC_VALUE_RELATIVE | OTF2_METRIC_TIMING_NEXT
00510 };
00511 
00512 
00514 typedef uint8_t OTF2_MetricBase;
00515 
00521 enum OTF2_MetricBase_enum
00522 {
00525     OTF2_BASE_BINARY  = 0,
00528     OTF2_BASE_DECIMAL = 1
00529 };
00530 
00531 
00533 typedef uint8_t OTF2_MetricScope;
00534 
00540 enum OTF2_MetricScope_enum
00541 {
00544     OTF2_SCOPE_LOCATION         = 0,
00547     OTF2_SCOPE_LOCATION_GROUP   = 1,
00550     OTF2_SCOPE_SYSTEM_TREE_NODE = 2,
00553     OTF2_SCOPE_GROUP            = 3
00554 };
00555 
00556 
00558 typedef uint8_t OTF2_RecorderKind;
00559 
00565 enum OTF2_RecorderKind_enum
00566 {
00569     OTF2_RECORDER_KIND_UNKNOWN  = 0,
00573     OTF2_RECORDER_KIND_ABSTRACT = 1,
00577     OTF2_RECORDER_KIND_CPU      = 2,
00581     OTF2_RECORDER_KIND_GPU      = 3
00582 };
00583 
00584 
00586 typedef uint8_t OTF2_ParameterType;
00587 
00593 enum OTF2_ParameterType_enum
00594 {
00597     OTF2_PARAMETER_TYPE_STRING = 0,
00600     OTF2_PARAMETER_TYPE_INT64  = 1,
00603     OTF2_PARAMETER_TYPE_UINT64 = 2
00604 };
00605 
00606 
00608 typedef uint8_t OTF2_CartPeriodicity;
00609 
00615 enum OTF2_CartPeriodicity_enum
00616 {
00619     OTF2_CART_PERIODIC_FALSE = 0,
00622     OTF2_CART_PERIODIC_TRUE  = 1
00623 };
00624 
00625 
00626 #ifdef __cplusplus
00627 }
00628 #endif /* __cplusplus */
00629 
00630 
00631 #endif /* OTF2_DEFINITIONS_H */