1.2.1 (revision 3238)
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  *    Gesellschaft fuer numerische Simulation mbH Braunschweig, Germany
00007  *    Technische Universitaet Dresden, Germany
00008  *    University of Oregon, Eugene, USA
00009  *    Forschungszentrum Juelich GmbH, Germany
00010  *    German Research School for Simulation Sciences GmbH, Juelich/Aachen, Germany
00011  *    Technische Universitaet Muenchen, Germany
00012  *
00013  * See the COPYING file in the package base directory for details.
00014  *
00015  */
00016 
00017 
00018 #ifndef OTF2_DEFINITIONS_H
00019 #define OTF2_DEFINITIONS_H
00020 
00021 
00034 #include <otf2/OTF2_ErrorCodes.h>
00035 
00036 
00037 #include <otf2/OTF2_GeneralDefinitions.h>
00038 
00039 
00040 #ifdef __cplusplus
00041 extern "C" {
00042 #endif /* __cplusplus */
00043 
00044 
00046 typedef uint8_t OTF2_SystemTreeDomain;
00047 
00053 enum OTF2_SystemTreeDomain_enum
00054 {
00058     OTF2_SYSTEM_TREE_DOMAIN_MACHINE       = 0,
00062     OTF2_SYSTEM_TREE_DOMAIN_SHARED_MEMORY = 1,
00066     OTF2_SYSTEM_TREE_DOMAIN_NUMA          = 2,
00070     OTF2_SYSTEM_TREE_DOMAIN_SOCKET        = 3,
00073     OTF2_SYSTEM_TREE_DOMAIN_CACHE         = 4,
00077     OTF2_SYSTEM_TREE_DOMAIN_CORE          = 5,
00080     OTF2_SYSTEM_TREE_DOMAIN_PU            = 6
00081 };
00082 
00083 
00085 typedef uint8_t OTF2_LocationGroupType;
00086 
00092 enum OTF2_LocationGroupType_enum
00093 {
00096     OTF2_LOCATION_GROUP_TYPE_UNKNOWN = 0,
00099     OTF2_LOCATION_GROUP_TYPE_PROCESS = 1
00100 };
00101 
00102 
00104 typedef uint8_t OTF2_LocationType;
00105 
00111 enum OTF2_LocationType_enum
00112 {
00115     OTF2_LOCATION_TYPE_UNKNOWN    = 0,
00118     OTF2_LOCATION_TYPE_CPU_THREAD = 1,
00121     OTF2_LOCATION_TYPE_GPU        = 2,
00124     OTF2_LOCATION_TYPE_METRIC     = 3
00125 };
00126 
00127 
00129 typedef uint8_t OTF2_RegionRole;
00130 
00136 enum OTF2_RegionRole_enum
00137 {
00140     OTF2_REGION_ROLE_UNKNOWN          = 0,
00143     OTF2_REGION_ROLE_FUNCTION         = 1,
00146     OTF2_REGION_ROLE_WRAPPER          = 2,
00149     OTF2_REGION_ROLE_LOOP             = 3,
00152     OTF2_REGION_ROLE_CODE             = 4,
00155     OTF2_REGION_ROLE_PARALLEL         = 5,
00158     OTF2_REGION_ROLE_SECTIONS         = 6,
00161     OTF2_REGION_ROLE_SECTION          = 7,
00164     OTF2_REGION_ROLE_WORKSHARE        = 8,
00167     OTF2_REGION_ROLE_SINGLE           = 9,
00170     OTF2_REGION_ROLE_SINGLE_SBLOCK    = 10,
00173     OTF2_REGION_ROLE_MASTER           = 11,
00176     OTF2_REGION_ROLE_CRITICAL         = 12,
00179     OTF2_REGION_ROLE_CRITICAL_SBLOCK  = 13,
00182     OTF2_REGION_ROLE_ATOMIC           = 14,
00185     OTF2_REGION_ROLE_BARRIER          = 15,
00188     OTF2_REGION_ROLE_IMPLICIT_BARRIER = 16,
00191     OTF2_REGION_ROLE_FLUSH            = 17,
00194     OTF2_REGION_ROLE_ORDERED          = 18,
00197     OTF2_REGION_ROLE_ORDERED_SBLOCK   = 19,
00200     OTF2_REGION_ROLE_TASK             = 20,
00203     OTF2_REGION_ROLE_TASK_CREATE      = 21,
00206     OTF2_REGION_ROLE_TASK_WAIT        = 22,
00209     OTF2_REGION_ROLE_COLL_ONE2ALL     = 23,
00212     OTF2_REGION_ROLE_COLL_ALL2ONE     = 24,
00215     OTF2_REGION_ROLE_COLL_ALL2ALL     = 25,
00218     OTF2_REGION_ROLE_COLL_OTHER       = 26,
00221     OTF2_REGION_ROLE_FILE_IO          = 27,
00224     OTF2_REGION_ROLE_POINT2POINT      = 28,
00227     OTF2_REGION_ROLE_RMA              = 29,
00230     OTF2_REGION_ROLE_DATA_TRANSFER    = 30,
00234     OTF2_REGION_ROLE_ARTIFICIAL       = 31
00235 };
00236 
00237 
00239 typedef uint32_t OTF2_RegionFlag;
00240 
00246 enum OTF2_RegionFlag_enum
00247 {
00250     OTF2_REGION_FLAG_NONE    = 0,
00254     OTF2_REGION_FLAG_DYNAMIC = ( 1 << 0 ),
00258     OTF2_REGION_FLAG_PHASE   = ( 1 << 1 )
00259 };
00260 
00261 
00263 typedef uint8_t OTF2_GroupType;
00264 
00270 enum OTF2_GroupType_enum
00271 {
00274     OTF2_GROUP_TYPE_UNKNOWN        = 0,
00277     OTF2_GROUP_TYPE_LOCATIONS      = 1,
00280     OTF2_GROUP_TYPE_REGIONS        = 2,
00283     OTF2_GROUP_TYPE_METRIC         = 3,
00300     OTF2_GROUP_TYPE_COMM_LOCATIONS = 4,
00303     OTF2_GROUP_TYPE_COMM_GROUP     = 5,
00306     OTF2_GROUP_TYPE_COMM_SELF      = 6
00307 };
00308 
00309 
00311 typedef uint32_t OTF2_GroupFlag;
00312 
00318 enum OTF2_GroupFlag_enum
00319 {
00322     OTF2_GROUP_FLAG_NONE           = 0,
00326     OTF2_GROUP_FLAG_GLOBAL_MEMBERS = ( 1 << 0 )
00327 };
00328 
00329 
00331 typedef uint8_t OTF2_MetricOccurrence;
00332 
00338 enum OTF2_MetricOccurrence_enum
00339 {
00342     OTF2_METRIC_SYNCHRONOUS_STRICT = 0,
00346     OTF2_METRIC_SYNCHRONOUS        = 1,
00350     OTF2_METRIC_ASYNCHRONOUS       = 2
00351 };
00352 
00353 
00355 typedef uint8_t OTF2_MetricType;
00356 
00362 enum OTF2_MetricType_enum
00363 {
00366     OTF2_METRIC_TYPE_OTHER  = 0,
00369     OTF2_METRIC_TYPE_PAPI   = 1,
00372     OTF2_METRIC_TYPE_RUSAGE = 2,
00375     OTF2_METRIC_TYPE_USER   = 3
00376 };
00377 
00378 
00380 typedef uint8_t OTF2_MetricValueProperty;
00381 
00388 enum OTF2_MetricValueProperty_enum
00389 {
00393     OTF2_METRIC_VALUE_ACCUMULATED = 0,
00396     OTF2_METRIC_VALUE_ABSOLUTE    = 1,
00399     OTF2_METRIC_VALUE_RELATIVE    = 2,
00400 
00404     OTF2_METRIC_VALUE_MASK        = 15 /* xxxx1111 */
00405 };
00406 
00407 
00409 typedef uint8_t OTF2_MetricTiming;
00410 
00418 enum OTF2_MetricTiming_enum
00419 {
00423     OTF2_METRIC_TIMING_START = 0,
00427     OTF2_METRIC_TIMING_POINT = 1 << 4,
00431     OTF2_METRIC_TIMING_LAST  = 2 << 4,
00435     OTF2_METRIC_TIMING_NEXT  = 3 << 4,
00436 
00440     OTF2_METRIC_TIMING_MASK  = 240 /* 1111xxxx */
00441 };
00442 
00443 
00445 typedef uint8_t OTF2_MetricMode;
00446 
00452 enum OTF2_MetricMode_enum
00453 {
00456     OTF2_METRIC_ACCUMULATED_START = OTF2_METRIC_VALUE_ACCUMULATED | OTF2_METRIC_TIMING_START,
00459     OTF2_METRIC_ACCUMULATED_POINT = OTF2_METRIC_VALUE_ACCUMULATED | OTF2_METRIC_TIMING_POINT,
00462     OTF2_METRIC_ACCUMULATED_LAST  = OTF2_METRIC_VALUE_ACCUMULATED | OTF2_METRIC_TIMING_LAST,
00465     OTF2_METRIC_ACCUMULATED_NEXT  = OTF2_METRIC_VALUE_ACCUMULATED | OTF2_METRIC_TIMING_NEXT,
00468     OTF2_METRIC_ABSOLUTE_POINT    = OTF2_METRIC_VALUE_ABSOLUTE | OTF2_METRIC_TIMING_POINT,
00471     OTF2_METRIC_ABSOLUTE_LAST     = OTF2_METRIC_VALUE_ABSOLUTE | OTF2_METRIC_TIMING_LAST,
00474     OTF2_METRIC_ABSOLUTE_NEXT     = OTF2_METRIC_VALUE_ABSOLUTE | OTF2_METRIC_TIMING_NEXT,
00477     OTF2_METRIC_RELATIVE_POINT    = OTF2_METRIC_VALUE_RELATIVE | OTF2_METRIC_TIMING_POINT,
00480     OTF2_METRIC_RELATIVE_LAST     = OTF2_METRIC_VALUE_RELATIVE | OTF2_METRIC_TIMING_LAST,
00483     OTF2_METRIC_RELATIVE_NEXT     = OTF2_METRIC_VALUE_RELATIVE | OTF2_METRIC_TIMING_NEXT
00484 };
00485 
00486 
00488 typedef uint8_t OTF2_MetricBase;
00489 
00495 enum OTF2_MetricBase_enum
00496 {
00499     OTF2_BASE_BINARY  = 0,
00502     OTF2_BASE_DECIMAL = 1
00503 };
00504 
00505 
00507 typedef uint8_t OTF2_MetricScope;
00508 
00514 enum OTF2_MetricScope_enum
00515 {
00518     OTF2_SCOPE_LOCATION         = 0,
00521     OTF2_SCOPE_LOCATION_GROUP   = 1,
00524     OTF2_SCOPE_SYSTEM_TREE_NODE = 2,
00527     OTF2_SCOPE_GROUP            = 3
00528 };
00529 
00530 
00532 typedef uint8_t OTF2_RecorderKind;
00533 
00539 enum OTF2_RecorderKind_enum
00540 {
00543     OTF2_RECORDER_KIND_UNKNOWN  = 0,
00546     OTF2_RECORDER_KIND_ABSTRACT = 1,
00550     OTF2_RECORDER_KIND_CPU      = 2,
00554     OTF2_RECORDER_KIND_GPU      = 3
00555 };
00556 
00557 
00559 typedef uint8_t OTF2_ParameterType;
00560 
00566 enum OTF2_ParameterType_enum
00567 {
00570     OTF2_PARAMETER_TYPE_STRING = 0,
00573     OTF2_PARAMETER_TYPE_INT64  = 1,
00576     OTF2_PARAMETER_TYPE_UINT64 = 2
00577 };
00578 
00579 
00580 #ifdef __cplusplus
00581 }
00582 #endif /* __cplusplus */
00583 
00584 
00585 #endif /* OTF2_DEFINITIONS_H */