![]() |
1.2.1 (revision 3238)
|
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 */