![]() |
1.4 (revision 3771)
|
00001 /* 00002 * This file is part of the Score-P software (http://www.score-p.org) 00003 * 00004 * Copyright (c) 2009-2013, 00005 * RWTH Aachen University, Germany 00006 * 00007 * Copyright (c) 2009-2013, 00008 * Gesellschaft fuer numerische Simulation mbH Braunschweig, Germany 00009 * 00010 * Copyright (c) 2009-2013, 00011 * Technische Universitaet Dresden, Germany 00012 * 00013 * Copyright (c) 2009-2013, 00014 * University of Oregon, Eugene, USA 00015 * 00016 * Copyright (c) 2009-2013, 00017 * Forschungszentrum Juelich GmbH, Germany 00018 * 00019 * Copyright (c) 2009-2013, 00020 * German Research School for Simulation Sciences GmbH, Juelich/Aachen, Germany 00021 * 00022 * Copyright (c) 2009-2013, 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_EVT_WRITER_H 00033 #define OTF2_EVT_WRITER_H 00034 00035 00046 #include <stdint.h> 00047 00048 00049 #include <otf2/OTF2_ErrorCodes.h> 00050 00051 00052 #include <otf2/OTF2_Events.h> 00053 #include <otf2/OTF2_AttributeList.h> 00054 00055 00056 #ifdef __cplusplus 00057 extern "C" { 00058 #endif /* __cplusplus */ 00059 00060 00063 typedef struct OTF2_EvtWriter_struct OTF2_EvtWriter; 00064 00065 00074 OTF2_ErrorCode 00075 OTF2_EvtWriter_GetLocationID( const OTF2_EvtWriter* writer, 00076 OTF2_LocationRef* locationID ); 00077 00078 00088 OTF2_ErrorCode 00089 OTF2_EvtWriter_SetUserData( OTF2_EvtWriter* writer, 00090 void* userData ); 00091 00092 00101 OTF2_ErrorCode 00102 OTF2_EvtWriter_GetUserData( const OTF2_EvtWriter* writer, 00103 void** userData ); 00104 00105 00116 OTF2_ErrorCode 00117 OTF2_EvtWriter_SetLocationID( OTF2_EvtWriter* writer, 00118 OTF2_LocationRef location ); 00119 00120 00132 OTF2_ErrorCode 00133 OTF2_EvtWriter_GetNumberOfEvents( OTF2_EvtWriter* writer, 00134 uint64_t* numberOfEvents ); 00135 00136 00151 OTF2_ErrorCode 00152 OTF2_EvtWriter_BufferFlush( OTF2_EvtWriter* writer, 00153 OTF2_AttributeList* attributeList, 00154 OTF2_TimeStamp time, 00155 OTF2_TimeStamp stopTime ); 00156 00157 00174 OTF2_ErrorCode 00175 OTF2_EvtWriter_MeasurementOnOff( OTF2_EvtWriter* writer, 00176 OTF2_AttributeList* attributeList, 00177 OTF2_TimeStamp time, 00178 OTF2_MeasurementMode measurementMode ); 00179 00180 00197 OTF2_ErrorCode 00198 OTF2_EvtWriter_Enter( OTF2_EvtWriter* writer, 00199 OTF2_AttributeList* attributeList, 00200 OTF2_TimeStamp time, 00201 OTF2_RegionRef region ); 00202 00203 00220 OTF2_ErrorCode 00221 OTF2_EvtWriter_Leave( OTF2_EvtWriter* writer, 00222 OTF2_AttributeList* attributeList, 00223 OTF2_TimeStamp time, 00224 OTF2_RegionRef region ); 00225 00226 00249 OTF2_ErrorCode 00250 OTF2_EvtWriter_MpiSend( OTF2_EvtWriter* writer, 00251 OTF2_AttributeList* attributeList, 00252 OTF2_TimeStamp time, 00253 uint32_t receiver, 00254 OTF2_CommRef communicator, 00255 uint32_t msgTag, 00256 uint64_t msgLength ); 00257 00258 00282 OTF2_ErrorCode 00283 OTF2_EvtWriter_MpiIsend( OTF2_EvtWriter* writer, 00284 OTF2_AttributeList* attributeList, 00285 OTF2_TimeStamp time, 00286 uint32_t receiver, 00287 OTF2_CommRef communicator, 00288 uint32_t msgTag, 00289 uint64_t msgLength, 00290 uint64_t requestID ); 00291 00292 00306 OTF2_ErrorCode 00307 OTF2_EvtWriter_MpiIsendComplete( OTF2_EvtWriter* writer, 00308 OTF2_AttributeList* attributeList, 00309 OTF2_TimeStamp time, 00310 uint64_t requestID ); 00311 00312 00326 OTF2_ErrorCode 00327 OTF2_EvtWriter_MpiIrecvRequest( OTF2_EvtWriter* writer, 00328 OTF2_AttributeList* attributeList, 00329 OTF2_TimeStamp time, 00330 uint64_t requestID ); 00331 00332 00355 OTF2_ErrorCode 00356 OTF2_EvtWriter_MpiRecv( OTF2_EvtWriter* writer, 00357 OTF2_AttributeList* attributeList, 00358 OTF2_TimeStamp time, 00359 uint32_t sender, 00360 OTF2_CommRef communicator, 00361 uint32_t msgTag, 00362 uint64_t msgLength ); 00363 00364 00388 OTF2_ErrorCode 00389 OTF2_EvtWriter_MpiIrecv( OTF2_EvtWriter* writer, 00390 OTF2_AttributeList* attributeList, 00391 OTF2_TimeStamp time, 00392 uint32_t sender, 00393 OTF2_CommRef communicator, 00394 uint32_t msgTag, 00395 uint64_t msgLength, 00396 uint64_t requestID ); 00397 00398 00413 OTF2_ErrorCode 00414 OTF2_EvtWriter_MpiRequestTest( OTF2_EvtWriter* writer, 00415 OTF2_AttributeList* attributeList, 00416 OTF2_TimeStamp time, 00417 uint64_t requestID ); 00418 00419 00433 OTF2_ErrorCode 00434 OTF2_EvtWriter_MpiRequestCancelled( OTF2_EvtWriter* writer, 00435 OTF2_AttributeList* attributeList, 00436 OTF2_TimeStamp time, 00437 uint64_t requestID ); 00438 00439 00453 OTF2_ErrorCode 00454 OTF2_EvtWriter_MpiCollectiveBegin( OTF2_EvtWriter* writer, 00455 OTF2_AttributeList* attributeList, 00456 OTF2_TimeStamp time ); 00457 00458 00482 OTF2_ErrorCode 00483 OTF2_EvtWriter_MpiCollectiveEnd( OTF2_EvtWriter* writer, 00484 OTF2_AttributeList* attributeList, 00485 OTF2_TimeStamp time, 00486 OTF2_CollectiveOp collectiveOp, 00487 OTF2_CommRef communicator, 00488 uint32_t root, 00489 uint64_t sizeSent, 00490 uint64_t sizeReceived ); 00491 00492 00512 OTF2_ErrorCode 00513 OTF2_EvtWriter_OmpFork( OTF2_EvtWriter* writer, 00514 OTF2_AttributeList* attributeList, 00515 OTF2_TimeStamp time, 00516 uint32_t numberOfRequestedThreads ); 00517 00518 00538 OTF2_ErrorCode 00539 OTF2_EvtWriter_OmpJoin( OTF2_EvtWriter* writer, 00540 OTF2_AttributeList* attributeList, 00541 OTF2_TimeStamp time ); 00542 00543 00568 OTF2_ErrorCode 00569 OTF2_EvtWriter_OmpAcquireLock( OTF2_EvtWriter* writer, 00570 OTF2_AttributeList* attributeList, 00571 OTF2_TimeStamp time, 00572 uint32_t lockID, 00573 uint32_t acquisitionOrder ); 00574 00575 00600 OTF2_ErrorCode 00601 OTF2_EvtWriter_OmpReleaseLock( OTF2_EvtWriter* writer, 00602 OTF2_AttributeList* attributeList, 00603 OTF2_TimeStamp time, 00604 uint32_t lockID, 00605 uint32_t acquisitionOrder ); 00606 00607 00628 OTF2_ErrorCode 00629 OTF2_EvtWriter_OmpTaskCreate( OTF2_EvtWriter* writer, 00630 OTF2_AttributeList* attributeList, 00631 OTF2_TimeStamp time, 00632 uint64_t taskID ); 00633 00634 00657 OTF2_ErrorCode 00658 OTF2_EvtWriter_OmpTaskSwitch( OTF2_EvtWriter* writer, 00659 OTF2_AttributeList* attributeList, 00660 OTF2_TimeStamp time, 00661 uint64_t taskID ); 00662 00663 00684 OTF2_ErrorCode 00685 OTF2_EvtWriter_OmpTaskComplete( OTF2_EvtWriter* writer, 00686 OTF2_AttributeList* attributeList, 00687 OTF2_TimeStamp time, 00688 uint64_t taskID ); 00689 00690 00716 OTF2_ErrorCode 00717 OTF2_EvtWriter_Metric( OTF2_EvtWriter* writer, 00718 OTF2_AttributeList* attributeList, 00719 OTF2_TimeStamp time, 00720 OTF2_MetricRef metric, 00721 uint8_t numberOfMetrics, 00722 const OTF2_Type* typeIDs, 00723 const OTF2_MetricValue* metricValues ); 00724 00725 00747 OTF2_ErrorCode 00748 OTF2_EvtWriter_ParameterString( OTF2_EvtWriter* writer, 00749 OTF2_AttributeList* attributeList, 00750 OTF2_TimeStamp time, 00751 OTF2_ParameterRef parameter, 00752 OTF2_StringRef string ); 00753 00754 00773 OTF2_ErrorCode 00774 OTF2_EvtWriter_ParameterInt( OTF2_EvtWriter* writer, 00775 OTF2_AttributeList* attributeList, 00776 OTF2_TimeStamp time, 00777 OTF2_ParameterRef parameter, 00778 int64_t value ); 00779 00780 00799 OTF2_ErrorCode 00800 OTF2_EvtWriter_ParameterUnsignedInt( OTF2_EvtWriter* writer, 00801 OTF2_AttributeList* attributeList, 00802 OTF2_TimeStamp time, 00803 OTF2_ParameterRef parameter, 00804 uint64_t value ); 00805 00806 00822 OTF2_ErrorCode 00823 OTF2_EvtWriter_RmaWinCreate( OTF2_EvtWriter* writer, 00824 OTF2_AttributeList* attributeList, 00825 OTF2_TimeStamp time, 00826 OTF2_RmaWinRef win ); 00827 00828 00844 OTF2_ErrorCode 00845 OTF2_EvtWriter_RmaWinDestroy( OTF2_EvtWriter* writer, 00846 OTF2_AttributeList* attributeList, 00847 OTF2_TimeStamp time, 00848 OTF2_RmaWinRef win ); 00849 00850 00864 OTF2_ErrorCode 00865 OTF2_EvtWriter_RmaCollectiveBegin( OTF2_EvtWriter* writer, 00866 OTF2_AttributeList* attributeList, 00867 OTF2_TimeStamp time ); 00868 00869 00892 OTF2_ErrorCode 00893 OTF2_EvtWriter_RmaCollectiveEnd( OTF2_EvtWriter* writer, 00894 OTF2_AttributeList* attributeList, 00895 OTF2_TimeStamp time, 00896 OTF2_CollectiveOp collectiveOp, 00897 OTF2_RmaSyncLevel syncLevel, 00898 OTF2_RmaWinRef win, 00899 uint32_t root, 00900 uint64_t bytesSent, 00901 uint64_t bytesReceived ); 00902 00903 00926 OTF2_ErrorCode 00927 OTF2_EvtWriter_RmaGroupSync( OTF2_EvtWriter* writer, 00928 OTF2_AttributeList* attributeList, 00929 OTF2_TimeStamp time, 00930 OTF2_RmaSyncLevel syncLevel, 00931 OTF2_RmaWinRef win, 00932 OTF2_GroupRef group ); 00933 00934 00958 OTF2_ErrorCode 00959 OTF2_EvtWriter_RmaRequestLock( OTF2_EvtWriter* writer, 00960 OTF2_AttributeList* attributeList, 00961 OTF2_TimeStamp time, 00962 OTF2_RmaWinRef win, 00963 uint32_t remote, 00964 uint64_t lockId, 00965 OTF2_LockType lockType ); 00966 00967 00989 OTF2_ErrorCode 00990 OTF2_EvtWriter_RmaAcquireLock( OTF2_EvtWriter* writer, 00991 OTF2_AttributeList* attributeList, 00992 OTF2_TimeStamp time, 00993 OTF2_RmaWinRef win, 00994 uint32_t remote, 00995 uint64_t lockId, 00996 OTF2_LockType lockType ); 00997 00998 01020 OTF2_ErrorCode 01021 OTF2_EvtWriter_RmaTryLock( OTF2_EvtWriter* writer, 01022 OTF2_AttributeList* attributeList, 01023 OTF2_TimeStamp time, 01024 OTF2_RmaWinRef win, 01025 uint32_t remote, 01026 uint64_t lockId, 01027 OTF2_LockType lockType ); 01028 01029 01049 OTF2_ErrorCode 01050 OTF2_EvtWriter_RmaReleaseLock( OTF2_EvtWriter* writer, 01051 OTF2_AttributeList* attributeList, 01052 OTF2_TimeStamp time, 01053 OTF2_RmaWinRef win, 01054 uint32_t remote, 01055 uint64_t lockId ); 01056 01057 01077 OTF2_ErrorCode 01078 OTF2_EvtWriter_RmaSync( OTF2_EvtWriter* writer, 01079 OTF2_AttributeList* attributeList, 01080 OTF2_TimeStamp time, 01081 OTF2_RmaWinRef win, 01082 uint32_t remote, 01083 OTF2_RmaSyncType syncType ); 01084 01085 01103 OTF2_ErrorCode 01104 OTF2_EvtWriter_RmaWaitChange( OTF2_EvtWriter* writer, 01105 OTF2_AttributeList* attributeList, 01106 OTF2_TimeStamp time, 01107 OTF2_RmaWinRef win ); 01108 01109 01129 OTF2_ErrorCode 01130 OTF2_EvtWriter_RmaPut( OTF2_EvtWriter* writer, 01131 OTF2_AttributeList* attributeList, 01132 OTF2_TimeStamp time, 01133 OTF2_RmaWinRef win, 01134 uint32_t remote, 01135 uint64_t bytes, 01136 uint64_t matchingId ); 01137 01138 01158 OTF2_ErrorCode 01159 OTF2_EvtWriter_RmaGet( OTF2_EvtWriter* writer, 01160 OTF2_AttributeList* attributeList, 01161 OTF2_TimeStamp time, 01162 OTF2_RmaWinRef win, 01163 uint32_t remote, 01164 uint64_t bytes, 01165 uint64_t matchingId ); 01166 01167 01189 OTF2_ErrorCode 01190 OTF2_EvtWriter_RmaAtomic( OTF2_EvtWriter* writer, 01191 OTF2_AttributeList* attributeList, 01192 OTF2_TimeStamp time, 01193 OTF2_RmaWinRef win, 01194 uint32_t remote, 01195 OTF2_RmaAtomicType type, 01196 uint64_t bytesSent, 01197 uint64_t bytesReceived, 01198 uint64_t matchingId ); 01199 01200 01219 OTF2_ErrorCode 01220 OTF2_EvtWriter_RmaOpCompleteBlocking( OTF2_EvtWriter* writer, 01221 OTF2_AttributeList* attributeList, 01222 OTF2_TimeStamp time, 01223 OTF2_RmaWinRef win, 01224 uint64_t matchingId ); 01225 01226 01245 OTF2_ErrorCode 01246 OTF2_EvtWriter_RmaOpCompleteNonBlocking( OTF2_EvtWriter* writer, 01247 OTF2_AttributeList* attributeList, 01248 OTF2_TimeStamp time, 01249 OTF2_RmaWinRef win, 01250 uint64_t matchingId ); 01251 01252 01271 OTF2_ErrorCode 01272 OTF2_EvtWriter_RmaOpTest( OTF2_EvtWriter* writer, 01273 OTF2_AttributeList* attributeList, 01274 OTF2_TimeStamp time, 01275 OTF2_RmaWinRef win, 01276 uint64_t matchingId ); 01277 01278 01297 OTF2_ErrorCode 01298 OTF2_EvtWriter_RmaOpCompleteRemote( OTF2_EvtWriter* writer, 01299 OTF2_AttributeList* attributeList, 01300 OTF2_TimeStamp time, 01301 OTF2_RmaWinRef win, 01302 uint64_t matchingId ); 01303 01304 01319 OTF2_ErrorCode 01320 OTF2_EvtWriter_ThreadFork( OTF2_EvtWriter* writer, 01321 OTF2_AttributeList* attributeList, 01322 OTF2_TimeStamp time, 01323 OTF2_Paradigm model, 01324 uint32_t numberOfRequestedThreads ); 01325 01326 01341 OTF2_ErrorCode 01342 OTF2_EvtWriter_ThreadJoin( OTF2_EvtWriter* writer, 01343 OTF2_AttributeList* attributeList, 01344 OTF2_TimeStamp time, 01345 OTF2_Paradigm model ); 01346 01347 01363 OTF2_ErrorCode 01364 OTF2_EvtWriter_ThreadTeamBegin( OTF2_EvtWriter* writer, 01365 OTF2_AttributeList* attributeList, 01366 OTF2_TimeStamp time, 01367 OTF2_CommRef threadTeam ); 01368 01369 01385 OTF2_ErrorCode 01386 OTF2_EvtWriter_ThreadTeamEnd( OTF2_EvtWriter* writer, 01387 OTF2_AttributeList* attributeList, 01388 OTF2_TimeStamp time, 01389 OTF2_CommRef threadTeam ); 01390 01391 01411 OTF2_ErrorCode 01412 OTF2_EvtWriter_ThreadAcquireLock( OTF2_EvtWriter* writer, 01413 OTF2_AttributeList* attributeList, 01414 OTF2_TimeStamp time, 01415 OTF2_Paradigm model, 01416 uint32_t lockID, 01417 uint32_t acquisitionOrder ); 01418 01419 01439 OTF2_ErrorCode 01440 OTF2_EvtWriter_ThreadReleaseLock( OTF2_EvtWriter* writer, 01441 OTF2_AttributeList* attributeList, 01442 OTF2_TimeStamp time, 01443 OTF2_Paradigm model, 01444 uint32_t lockID, 01445 uint32_t acquisitionOrder ); 01446 01447 01468 OTF2_ErrorCode 01469 OTF2_EvtWriter_ThreadTaskCreate( OTF2_EvtWriter* writer, 01470 OTF2_AttributeList* attributeList, 01471 OTF2_TimeStamp time, 01472 OTF2_CommRef threadTeam, 01473 uint32_t creatingThread, 01474 uint32_t generationNumber ); 01475 01476 01499 OTF2_ErrorCode 01500 OTF2_EvtWriter_ThreadTaskSwitch( OTF2_EvtWriter* writer, 01501 OTF2_AttributeList* attributeList, 01502 OTF2_TimeStamp time, 01503 OTF2_CommRef threadTeam, 01504 uint32_t creatingThread, 01505 uint32_t generationNumber ); 01506 01507 01528 OTF2_ErrorCode 01529 OTF2_EvtWriter_ThreadTaskComplete( OTF2_EvtWriter* writer, 01530 OTF2_AttributeList* attributeList, 01531 OTF2_TimeStamp time, 01532 OTF2_CommRef threadTeam, 01533 uint32_t creatingThread, 01534 uint32_t generationNumber ); 01535 01536 01556 OTF2_ErrorCode 01557 OTF2_EvtWriter_ThreadCreate( OTF2_EvtWriter* writer, 01558 OTF2_AttributeList* attributeList, 01559 OTF2_TimeStamp time, 01560 OTF2_CommRef threadContingent, 01561 uint64_t sequenceCount ); 01562 01563 01583 OTF2_ErrorCode 01584 OTF2_EvtWriter_ThreadBegin( OTF2_EvtWriter* writer, 01585 OTF2_AttributeList* attributeList, 01586 OTF2_TimeStamp time, 01587 OTF2_CommRef threadContingent, 01588 uint64_t sequenceCount ); 01589 01590 01610 OTF2_ErrorCode 01611 OTF2_EvtWriter_ThreadWait( OTF2_EvtWriter* writer, 01612 OTF2_AttributeList* attributeList, 01613 OTF2_TimeStamp time, 01614 OTF2_CommRef threadContingent, 01615 uint64_t sequenceCount ); 01616 01617 01639 OTF2_ErrorCode 01640 OTF2_EvtWriter_ThreadEnd( OTF2_EvtWriter* writer, 01641 OTF2_AttributeList* attributeList, 01642 OTF2_TimeStamp time, 01643 OTF2_CommRef threadContingent, 01644 uint64_t sequenceCount ); 01645 01646 01656 OTF2_ErrorCode 01657 OTF2_EvtWriter_StoreRewindPoint( OTF2_EvtWriter* writer, 01658 uint32_t rewindId ); 01659 01660 01670 OTF2_ErrorCode 01671 OTF2_EvtWriter_Rewind( OTF2_EvtWriter* writer, 01672 uint32_t rewindId ); 01673 01674 01684 OTF2_ErrorCode 01685 OTF2_EvtWriter_ClearRewindPoint( OTF2_EvtWriter* writer, 01686 uint32_t rewindId ); 01687 01688 01689 #ifdef __cplusplus 01690 } 01691 #endif /* __cplusplus */ 01692 01693 01694 #endif /* !OTF2_EVT_WRITER_H */