![]() |
1.5.1 (revision 4026)
|
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 00823 OTF2_ErrorCode 00824 OTF2_EvtWriter_RmaWinCreate( OTF2_EvtWriter* writer, 00825 OTF2_AttributeList* attributeList, 00826 OTF2_TimeStamp time, 00827 OTF2_RmaWinRef win ); 00828 00829 00846 OTF2_ErrorCode 00847 OTF2_EvtWriter_RmaWinDestroy( OTF2_EvtWriter* writer, 00848 OTF2_AttributeList* attributeList, 00849 OTF2_TimeStamp time, 00850 OTF2_RmaWinRef win ); 00851 00852 00866 OTF2_ErrorCode 00867 OTF2_EvtWriter_RmaCollectiveBegin( OTF2_EvtWriter* writer, 00868 OTF2_AttributeList* attributeList, 00869 OTF2_TimeStamp time ); 00870 00871 00894 OTF2_ErrorCode 00895 OTF2_EvtWriter_RmaCollectiveEnd( OTF2_EvtWriter* writer, 00896 OTF2_AttributeList* attributeList, 00897 OTF2_TimeStamp time, 00898 OTF2_CollectiveOp collectiveOp, 00899 OTF2_RmaSyncLevel syncLevel, 00900 OTF2_RmaWinRef win, 00901 uint32_t root, 00902 uint64_t bytesSent, 00903 uint64_t bytesReceived ); 00904 00905 00928 OTF2_ErrorCode 00929 OTF2_EvtWriter_RmaGroupSync( OTF2_EvtWriter* writer, 00930 OTF2_AttributeList* attributeList, 00931 OTF2_TimeStamp time, 00932 OTF2_RmaSyncLevel syncLevel, 00933 OTF2_RmaWinRef win, 00934 OTF2_GroupRef group ); 00935 00936 00960 OTF2_ErrorCode 00961 OTF2_EvtWriter_RmaRequestLock( OTF2_EvtWriter* writer, 00962 OTF2_AttributeList* attributeList, 00963 OTF2_TimeStamp time, 00964 OTF2_RmaWinRef win, 00965 uint32_t remote, 00966 uint64_t lockId, 00967 OTF2_LockType lockType ); 00968 00969 00991 OTF2_ErrorCode 00992 OTF2_EvtWriter_RmaAcquireLock( OTF2_EvtWriter* writer, 00993 OTF2_AttributeList* attributeList, 00994 OTF2_TimeStamp time, 00995 OTF2_RmaWinRef win, 00996 uint32_t remote, 00997 uint64_t lockId, 00998 OTF2_LockType lockType ); 00999 01000 01022 OTF2_ErrorCode 01023 OTF2_EvtWriter_RmaTryLock( OTF2_EvtWriter* writer, 01024 OTF2_AttributeList* attributeList, 01025 OTF2_TimeStamp time, 01026 OTF2_RmaWinRef win, 01027 uint32_t remote, 01028 uint64_t lockId, 01029 OTF2_LockType lockType ); 01030 01031 01051 OTF2_ErrorCode 01052 OTF2_EvtWriter_RmaReleaseLock( OTF2_EvtWriter* writer, 01053 OTF2_AttributeList* attributeList, 01054 OTF2_TimeStamp time, 01055 OTF2_RmaWinRef win, 01056 uint32_t remote, 01057 uint64_t lockId ); 01058 01059 01079 OTF2_ErrorCode 01080 OTF2_EvtWriter_RmaSync( OTF2_EvtWriter* writer, 01081 OTF2_AttributeList* attributeList, 01082 OTF2_TimeStamp time, 01083 OTF2_RmaWinRef win, 01084 uint32_t remote, 01085 OTF2_RmaSyncType syncType ); 01086 01087 01105 OTF2_ErrorCode 01106 OTF2_EvtWriter_RmaWaitChange( OTF2_EvtWriter* writer, 01107 OTF2_AttributeList* attributeList, 01108 OTF2_TimeStamp time, 01109 OTF2_RmaWinRef win ); 01110 01111 01132 OTF2_ErrorCode 01133 OTF2_EvtWriter_RmaPut( OTF2_EvtWriter* writer, 01134 OTF2_AttributeList* attributeList, 01135 OTF2_TimeStamp time, 01136 OTF2_RmaWinRef win, 01137 uint32_t remote, 01138 uint64_t bytes, 01139 uint64_t matchingId ); 01140 01141 01162 OTF2_ErrorCode 01163 OTF2_EvtWriter_RmaGet( OTF2_EvtWriter* writer, 01164 OTF2_AttributeList* attributeList, 01165 OTF2_TimeStamp time, 01166 OTF2_RmaWinRef win, 01167 uint32_t remote, 01168 uint64_t bytes, 01169 uint64_t matchingId ); 01170 01171 01194 OTF2_ErrorCode 01195 OTF2_EvtWriter_RmaAtomic( OTF2_EvtWriter* writer, 01196 OTF2_AttributeList* attributeList, 01197 OTF2_TimeStamp time, 01198 OTF2_RmaWinRef win, 01199 uint32_t remote, 01200 OTF2_RmaAtomicType type, 01201 uint64_t bytesSent, 01202 uint64_t bytesReceived, 01203 uint64_t matchingId ); 01204 01205 01225 OTF2_ErrorCode 01226 OTF2_EvtWriter_RmaOpCompleteBlocking( OTF2_EvtWriter* writer, 01227 OTF2_AttributeList* attributeList, 01228 OTF2_TimeStamp time, 01229 OTF2_RmaWinRef win, 01230 uint64_t matchingId ); 01231 01232 01252 OTF2_ErrorCode 01253 OTF2_EvtWriter_RmaOpCompleteNonBlocking( OTF2_EvtWriter* writer, 01254 OTF2_AttributeList* attributeList, 01255 OTF2_TimeStamp time, 01256 OTF2_RmaWinRef win, 01257 uint64_t matchingId ); 01258 01259 01279 OTF2_ErrorCode 01280 OTF2_EvtWriter_RmaOpTest( OTF2_EvtWriter* writer, 01281 OTF2_AttributeList* attributeList, 01282 OTF2_TimeStamp time, 01283 OTF2_RmaWinRef win, 01284 uint64_t matchingId ); 01285 01286 01306 OTF2_ErrorCode 01307 OTF2_EvtWriter_RmaOpCompleteRemote( OTF2_EvtWriter* writer, 01308 OTF2_AttributeList* attributeList, 01309 OTF2_TimeStamp time, 01310 OTF2_RmaWinRef win, 01311 uint64_t matchingId ); 01312 01313 01328 OTF2_ErrorCode 01329 OTF2_EvtWriter_ThreadFork( OTF2_EvtWriter* writer, 01330 OTF2_AttributeList* attributeList, 01331 OTF2_TimeStamp time, 01332 OTF2_Paradigm model, 01333 uint32_t numberOfRequestedThreads ); 01334 01335 01350 OTF2_ErrorCode 01351 OTF2_EvtWriter_ThreadJoin( OTF2_EvtWriter* writer, 01352 OTF2_AttributeList* attributeList, 01353 OTF2_TimeStamp time, 01354 OTF2_Paradigm model ); 01355 01356 01372 OTF2_ErrorCode 01373 OTF2_EvtWriter_ThreadTeamBegin( OTF2_EvtWriter* writer, 01374 OTF2_AttributeList* attributeList, 01375 OTF2_TimeStamp time, 01376 OTF2_CommRef threadTeam ); 01377 01378 01394 OTF2_ErrorCode 01395 OTF2_EvtWriter_ThreadTeamEnd( OTF2_EvtWriter* writer, 01396 OTF2_AttributeList* attributeList, 01397 OTF2_TimeStamp time, 01398 OTF2_CommRef threadTeam ); 01399 01400 01420 OTF2_ErrorCode 01421 OTF2_EvtWriter_ThreadAcquireLock( OTF2_EvtWriter* writer, 01422 OTF2_AttributeList* attributeList, 01423 OTF2_TimeStamp time, 01424 OTF2_Paradigm model, 01425 uint32_t lockID, 01426 uint32_t acquisitionOrder ); 01427 01428 01448 OTF2_ErrorCode 01449 OTF2_EvtWriter_ThreadReleaseLock( OTF2_EvtWriter* writer, 01450 OTF2_AttributeList* attributeList, 01451 OTF2_TimeStamp time, 01452 OTF2_Paradigm model, 01453 uint32_t lockID, 01454 uint32_t acquisitionOrder ); 01455 01456 01477 OTF2_ErrorCode 01478 OTF2_EvtWriter_ThreadTaskCreate( OTF2_EvtWriter* writer, 01479 OTF2_AttributeList* attributeList, 01480 OTF2_TimeStamp time, 01481 OTF2_CommRef threadTeam, 01482 uint32_t creatingThread, 01483 uint32_t generationNumber ); 01484 01485 01508 OTF2_ErrorCode 01509 OTF2_EvtWriter_ThreadTaskSwitch( OTF2_EvtWriter* writer, 01510 OTF2_AttributeList* attributeList, 01511 OTF2_TimeStamp time, 01512 OTF2_CommRef threadTeam, 01513 uint32_t creatingThread, 01514 uint32_t generationNumber ); 01515 01516 01537 OTF2_ErrorCode 01538 OTF2_EvtWriter_ThreadTaskComplete( OTF2_EvtWriter* writer, 01539 OTF2_AttributeList* attributeList, 01540 OTF2_TimeStamp time, 01541 OTF2_CommRef threadTeam, 01542 uint32_t creatingThread, 01543 uint32_t generationNumber ); 01544 01545 01565 OTF2_ErrorCode 01566 OTF2_EvtWriter_ThreadCreate( OTF2_EvtWriter* writer, 01567 OTF2_AttributeList* attributeList, 01568 OTF2_TimeStamp time, 01569 OTF2_CommRef threadContingent, 01570 uint64_t sequenceCount ); 01571 01572 01592 OTF2_ErrorCode 01593 OTF2_EvtWriter_ThreadBegin( OTF2_EvtWriter* writer, 01594 OTF2_AttributeList* attributeList, 01595 OTF2_TimeStamp time, 01596 OTF2_CommRef threadContingent, 01597 uint64_t sequenceCount ); 01598 01599 01619 OTF2_ErrorCode 01620 OTF2_EvtWriter_ThreadWait( OTF2_EvtWriter* writer, 01621 OTF2_AttributeList* attributeList, 01622 OTF2_TimeStamp time, 01623 OTF2_CommRef threadContingent, 01624 uint64_t sequenceCount ); 01625 01626 01648 OTF2_ErrorCode 01649 OTF2_EvtWriter_ThreadEnd( OTF2_EvtWriter* writer, 01650 OTF2_AttributeList* attributeList, 01651 OTF2_TimeStamp time, 01652 OTF2_CommRef threadContingent, 01653 uint64_t sequenceCount ); 01654 01655 01693 OTF2_ErrorCode 01694 OTF2_EvtWriter_CallingContextSample( OTF2_EvtWriter* writer, 01695 OTF2_AttributeList* attributeList, 01696 OTF2_TimeStamp time, 01697 OTF2_CallingContextRef callingContext, 01698 uint32_t unwindDistance, 01699 OTF2_InterruptGeneratorRef interruptGenerator ); 01700 01701 01711 OTF2_ErrorCode 01712 OTF2_EvtWriter_StoreRewindPoint( OTF2_EvtWriter* writer, 01713 uint32_t rewindId ); 01714 01715 01725 OTF2_ErrorCode 01726 OTF2_EvtWriter_Rewind( OTF2_EvtWriter* writer, 01727 uint32_t rewindId ); 01728 01729 01739 OTF2_ErrorCode 01740 OTF2_EvtWriter_ClearRewindPoint( OTF2_EvtWriter* writer, 01741 uint32_t rewindId ); 01742 01743 01744 #ifdef __cplusplus 01745 } 01746 #endif /* __cplusplus */ 01747 01748 01749 #endif /* !OTF2_EVT_WRITER_H */