![]() |
1.2 (revision 3183)
|
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_EVT_WRITER_H 00019 #define OTF2_EVT_WRITER_H 00020 00021 00036 #include <stdint.h> 00037 00038 00039 #include <otf2/OTF2_ErrorCodes.h> 00040 00041 00042 #include <otf2/OTF2_Events.h> 00043 #include <otf2/OTF2_AttributeList.h> 00044 00045 00046 #ifdef __cplusplus 00047 extern "C" { 00048 #endif /* __cplusplus */ 00049 00050 00053 typedef struct OTF2_EvtWriter_struct OTF2_EvtWriter; 00054 00055 00064 OTF2_ErrorCode 00065 OTF2_EvtWriter_GetLocationID( const OTF2_EvtWriter* writer, 00066 OTF2_LocationRef* locationID ); 00067 00068 00078 OTF2_ErrorCode 00079 OTF2_EvtWriter_SetUserData( OTF2_EvtWriter* writer, 00080 void* userData ); 00081 00082 00091 OTF2_ErrorCode 00092 OTF2_EvtWriter_GetUserData( const OTF2_EvtWriter* writer, 00093 void** userData ); 00094 00095 00106 OTF2_ErrorCode 00107 OTF2_EvtWriter_SetLocationID( OTF2_EvtWriter* writer, 00108 OTF2_LocationRef location ); 00109 00110 00122 OTF2_ErrorCode 00123 OTF2_EvtWriter_GetNumberOfEvents( OTF2_EvtWriter* writer, 00124 uint64_t* numberOfEvents ); 00125 00126 00142 OTF2_ErrorCode 00143 OTF2_EvtWriter_BufferFlush( OTF2_EvtWriter* writer, 00144 OTF2_AttributeList* attributeList, 00145 OTF2_TimeStamp time, 00146 OTF2_TimeStamp stopTime ); 00147 00148 00166 OTF2_ErrorCode 00167 OTF2_EvtWriter_MeasurementOnOff( OTF2_EvtWriter* writer, 00168 OTF2_AttributeList* attributeList, 00169 OTF2_TimeStamp time, 00170 OTF2_MeasurementMode measurementMode ); 00171 00172 00190 OTF2_ErrorCode 00191 OTF2_EvtWriter_Enter( OTF2_EvtWriter* writer, 00192 OTF2_AttributeList* attributeList, 00193 OTF2_TimeStamp time, 00194 OTF2_RegionRef region ); 00195 00196 00214 OTF2_ErrorCode 00215 OTF2_EvtWriter_Leave( OTF2_EvtWriter* writer, 00216 OTF2_AttributeList* attributeList, 00217 OTF2_TimeStamp time, 00218 OTF2_RegionRef region ); 00219 00220 00244 OTF2_ErrorCode 00245 OTF2_EvtWriter_MpiSend( OTF2_EvtWriter* writer, 00246 OTF2_AttributeList* attributeList, 00247 OTF2_TimeStamp time, 00248 uint32_t receiver, 00249 OTF2_CommRef communicator, 00250 uint32_t msgTag, 00251 uint64_t msgLength ); 00252 00253 00278 OTF2_ErrorCode 00279 OTF2_EvtWriter_MpiIsend( OTF2_EvtWriter* writer, 00280 OTF2_AttributeList* attributeList, 00281 OTF2_TimeStamp time, 00282 uint32_t receiver, 00283 OTF2_CommRef communicator, 00284 uint32_t msgTag, 00285 uint64_t msgLength, 00286 uint64_t requestID ); 00287 00288 00303 OTF2_ErrorCode 00304 OTF2_EvtWriter_MpiIsendComplete( OTF2_EvtWriter* writer, 00305 OTF2_AttributeList* attributeList, 00306 OTF2_TimeStamp time, 00307 uint64_t requestID ); 00308 00309 00324 OTF2_ErrorCode 00325 OTF2_EvtWriter_MpiIrecvRequest( OTF2_EvtWriter* writer, 00326 OTF2_AttributeList* attributeList, 00327 OTF2_TimeStamp time, 00328 uint64_t requestID ); 00329 00330 00354 OTF2_ErrorCode 00355 OTF2_EvtWriter_MpiRecv( OTF2_EvtWriter* writer, 00356 OTF2_AttributeList* attributeList, 00357 OTF2_TimeStamp time, 00358 uint32_t sender, 00359 OTF2_CommRef communicator, 00360 uint32_t msgTag, 00361 uint64_t msgLength ); 00362 00363 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 00414 OTF2_ErrorCode 00415 OTF2_EvtWriter_MpiRequestTest( OTF2_EvtWriter* writer, 00416 OTF2_AttributeList* attributeList, 00417 OTF2_TimeStamp time, 00418 uint64_t requestID ); 00419 00420 00435 OTF2_ErrorCode 00436 OTF2_EvtWriter_MpiRequestCancelled( OTF2_EvtWriter* writer, 00437 OTF2_AttributeList* attributeList, 00438 OTF2_TimeStamp time, 00439 uint64_t requestID ); 00440 00441 00457 OTF2_ErrorCode 00458 OTF2_EvtWriter_MpiCollectiveBegin( OTF2_EvtWriter* writer, 00459 OTF2_AttributeList* attributeList, 00460 OTF2_TimeStamp time ); 00461 00462 00487 OTF2_ErrorCode 00488 OTF2_EvtWriter_MpiCollectiveEnd( OTF2_EvtWriter* writer, 00489 OTF2_AttributeList* attributeList, 00490 OTF2_TimeStamp time, 00491 OTF2_CollectiveOp collectiveOp, 00492 OTF2_CommRef communicator, 00493 uint32_t root, 00494 uint64_t sizeSent, 00495 uint64_t sizeReceived ); 00496 00497 00518 OTF2_ErrorCode 00519 OTF2_EvtWriter_OmpFork( OTF2_EvtWriter* writer, 00520 OTF2_AttributeList* attributeList, 00521 OTF2_TimeStamp time, 00522 uint32_t numberOfRequestedThreads ); 00523 00524 00546 OTF2_ErrorCode 00547 OTF2_EvtWriter_OmpJoin( OTF2_EvtWriter* writer, 00548 OTF2_AttributeList* attributeList, 00549 OTF2_TimeStamp time ); 00550 00551 00577 OTF2_ErrorCode 00578 OTF2_EvtWriter_OmpAcquireLock( OTF2_EvtWriter* writer, 00579 OTF2_AttributeList* attributeList, 00580 OTF2_TimeStamp time, 00581 uint32_t lockID, 00582 uint32_t acquisitionOrder ); 00583 00584 00610 OTF2_ErrorCode 00611 OTF2_EvtWriter_OmpReleaseLock( OTF2_EvtWriter* writer, 00612 OTF2_AttributeList* attributeList, 00613 OTF2_TimeStamp time, 00614 uint32_t lockID, 00615 uint32_t acquisitionOrder ); 00616 00617 00639 OTF2_ErrorCode 00640 OTF2_EvtWriter_OmpTaskCreate( OTF2_EvtWriter* writer, 00641 OTF2_AttributeList* attributeList, 00642 OTF2_TimeStamp time, 00643 uint64_t taskID ); 00644 00645 00669 OTF2_ErrorCode 00670 OTF2_EvtWriter_OmpTaskSwitch( OTF2_EvtWriter* writer, 00671 OTF2_AttributeList* attributeList, 00672 OTF2_TimeStamp time, 00673 uint64_t taskID ); 00674 00675 00697 OTF2_ErrorCode 00698 OTF2_EvtWriter_OmpTaskComplete( OTF2_EvtWriter* writer, 00699 OTF2_AttributeList* attributeList, 00700 OTF2_TimeStamp time, 00701 uint64_t taskID ); 00702 00703 00729 OTF2_ErrorCode 00730 OTF2_EvtWriter_Metric( OTF2_EvtWriter* writer, 00731 OTF2_AttributeList* attributeList, 00732 OTF2_TimeStamp time, 00733 OTF2_MetricRef metric, 00734 uint8_t numberOfMetrics, 00735 const OTF2_Type* typeIDs, 00736 const OTF2_MetricValue* metricValues ); 00737 00738 00760 OTF2_ErrorCode 00761 OTF2_EvtWriter_ParameterString( OTF2_EvtWriter* writer, 00762 OTF2_AttributeList* attributeList, 00763 OTF2_TimeStamp time, 00764 OTF2_ParameterRef parameter, 00765 OTF2_StringRef string ); 00766 00767 00786 OTF2_ErrorCode 00787 OTF2_EvtWriter_ParameterInt( OTF2_EvtWriter* writer, 00788 OTF2_AttributeList* attributeList, 00789 OTF2_TimeStamp time, 00790 OTF2_ParameterRef parameter, 00791 int64_t value ); 00792 00793 00812 OTF2_ErrorCode 00813 OTF2_EvtWriter_ParameterUnsignedInt( OTF2_EvtWriter* writer, 00814 OTF2_AttributeList* attributeList, 00815 OTF2_TimeStamp time, 00816 OTF2_ParameterRef parameter, 00817 uint64_t value ); 00818 00819 00836 OTF2_ErrorCode 00837 OTF2_EvtWriter_RmaWinCreate( OTF2_EvtWriter* writer, 00838 OTF2_AttributeList* attributeList, 00839 OTF2_TimeStamp time, 00840 OTF2_RmaWinRef win ); 00841 00842 00859 OTF2_ErrorCode 00860 OTF2_EvtWriter_RmaWinDestroy( OTF2_EvtWriter* writer, 00861 OTF2_AttributeList* attributeList, 00862 OTF2_TimeStamp time, 00863 OTF2_RmaWinRef win ); 00864 00865 00881 OTF2_ErrorCode 00882 OTF2_EvtWriter_RmaCollectiveBegin( OTF2_EvtWriter* writer, 00883 OTF2_AttributeList* attributeList, 00884 OTF2_TimeStamp time ); 00885 00886 00910 OTF2_ErrorCode 00911 OTF2_EvtWriter_RmaCollectiveEnd( OTF2_EvtWriter* writer, 00912 OTF2_AttributeList* attributeList, 00913 OTF2_TimeStamp time, 00914 OTF2_CollectiveOp collectiveOp, 00915 OTF2_RmaSyncLevel syncLevel, 00916 OTF2_RmaWinRef win, 00917 uint32_t root, 00918 uint64_t bytesSent, 00919 uint64_t bytesReceived ); 00920 00921 00945 OTF2_ErrorCode 00946 OTF2_EvtWriter_RmaGroupSync( OTF2_EvtWriter* writer, 00947 OTF2_AttributeList* attributeList, 00948 OTF2_TimeStamp time, 00949 OTF2_RmaSyncLevel syncLevel, 00950 OTF2_RmaWinRef win, 00951 OTF2_GroupRef group ); 00952 00953 00978 OTF2_ErrorCode 00979 OTF2_EvtWriter_RmaRequestLock( OTF2_EvtWriter* writer, 00980 OTF2_AttributeList* attributeList, 00981 OTF2_TimeStamp time, 00982 OTF2_RmaWinRef win, 00983 uint32_t remote, 00984 uint64_t lockId, 00985 OTF2_LockType lockType ); 00986 00987 01010 OTF2_ErrorCode 01011 OTF2_EvtWriter_RmaAcquireLock( OTF2_EvtWriter* writer, 01012 OTF2_AttributeList* attributeList, 01013 OTF2_TimeStamp time, 01014 OTF2_RmaWinRef win, 01015 uint32_t remote, 01016 uint64_t lockId, 01017 OTF2_LockType lockType ); 01018 01019 01042 OTF2_ErrorCode 01043 OTF2_EvtWriter_RmaTryLock( OTF2_EvtWriter* writer, 01044 OTF2_AttributeList* attributeList, 01045 OTF2_TimeStamp time, 01046 OTF2_RmaWinRef win, 01047 uint32_t remote, 01048 uint64_t lockId, 01049 OTF2_LockType lockType ); 01050 01051 01072 OTF2_ErrorCode 01073 OTF2_EvtWriter_RmaReleaseLock( OTF2_EvtWriter* writer, 01074 OTF2_AttributeList* attributeList, 01075 OTF2_TimeStamp time, 01076 OTF2_RmaWinRef win, 01077 uint32_t remote, 01078 uint64_t lockId ); 01079 01080 01101 OTF2_ErrorCode 01102 OTF2_EvtWriter_RmaSync( OTF2_EvtWriter* writer, 01103 OTF2_AttributeList* attributeList, 01104 OTF2_TimeStamp time, 01105 OTF2_RmaWinRef win, 01106 uint32_t remote, 01107 OTF2_RmaSyncType syncType ); 01108 01109 01127 OTF2_ErrorCode 01128 OTF2_EvtWriter_RmaWaitChange( OTF2_EvtWriter* writer, 01129 OTF2_AttributeList* attributeList, 01130 OTF2_TimeStamp time, 01131 OTF2_RmaWinRef win ); 01132 01133 01154 OTF2_ErrorCode 01155 OTF2_EvtWriter_RmaPut( OTF2_EvtWriter* writer, 01156 OTF2_AttributeList* attributeList, 01157 OTF2_TimeStamp time, 01158 OTF2_RmaWinRef win, 01159 uint32_t remote, 01160 uint64_t bytes, 01161 uint64_t matchingId ); 01162 01163 01184 OTF2_ErrorCode 01185 OTF2_EvtWriter_RmaGet( OTF2_EvtWriter* writer, 01186 OTF2_AttributeList* attributeList, 01187 OTF2_TimeStamp time, 01188 OTF2_RmaWinRef win, 01189 uint32_t remote, 01190 uint64_t bytes, 01191 uint64_t matchingId ); 01192 01193 01216 OTF2_ErrorCode 01217 OTF2_EvtWriter_RmaAtomic( OTF2_EvtWriter* writer, 01218 OTF2_AttributeList* attributeList, 01219 OTF2_TimeStamp time, 01220 OTF2_RmaWinRef win, 01221 uint32_t remote, 01222 OTF2_RmaAtomicType type, 01223 uint64_t bytesSent, 01224 uint64_t bytesReceived, 01225 uint64_t matchingId ); 01226 01227 01247 OTF2_ErrorCode 01248 OTF2_EvtWriter_RmaOpCompleteBlocking( OTF2_EvtWriter* writer, 01249 OTF2_AttributeList* attributeList, 01250 OTF2_TimeStamp time, 01251 OTF2_RmaWinRef win, 01252 uint64_t matchingId ); 01253 01254 01274 OTF2_ErrorCode 01275 OTF2_EvtWriter_RmaOpCompleteNonBlocking( OTF2_EvtWriter* writer, 01276 OTF2_AttributeList* attributeList, 01277 OTF2_TimeStamp time, 01278 OTF2_RmaWinRef win, 01279 uint64_t matchingId ); 01280 01281 01301 OTF2_ErrorCode 01302 OTF2_EvtWriter_RmaOpTest( OTF2_EvtWriter* writer, 01303 OTF2_AttributeList* attributeList, 01304 OTF2_TimeStamp time, 01305 OTF2_RmaWinRef win, 01306 uint64_t matchingId ); 01307 01308 01328 OTF2_ErrorCode 01329 OTF2_EvtWriter_RmaOpCompleteRemote( OTF2_EvtWriter* writer, 01330 OTF2_AttributeList* attributeList, 01331 OTF2_TimeStamp time, 01332 OTF2_RmaWinRef win, 01333 uint64_t matchingId ); 01334 01335 01351 OTF2_ErrorCode 01352 OTF2_EvtWriter_ThreadFork( OTF2_EvtWriter* writer, 01353 OTF2_AttributeList* attributeList, 01354 OTF2_TimeStamp time, 01355 OTF2_Paradigm model, 01356 uint32_t numberOfRequestedThreads ); 01357 01358 01374 OTF2_ErrorCode 01375 OTF2_EvtWriter_ThreadJoin( OTF2_EvtWriter* writer, 01376 OTF2_AttributeList* attributeList, 01377 OTF2_TimeStamp time, 01378 OTF2_Paradigm model ); 01379 01380 01397 OTF2_ErrorCode 01398 OTF2_EvtWriter_ThreadTeamBegin( OTF2_EvtWriter* writer, 01399 OTF2_AttributeList* attributeList, 01400 OTF2_TimeStamp time, 01401 OTF2_CommRef threadTeam ); 01402 01403 01420 OTF2_ErrorCode 01421 OTF2_EvtWriter_ThreadTeamEnd( OTF2_EvtWriter* writer, 01422 OTF2_AttributeList* attributeList, 01423 OTF2_TimeStamp time, 01424 OTF2_CommRef threadTeam ); 01425 01426 01447 OTF2_ErrorCode 01448 OTF2_EvtWriter_ThreadAcquireLock( OTF2_EvtWriter* writer, 01449 OTF2_AttributeList* attributeList, 01450 OTF2_TimeStamp time, 01451 OTF2_Paradigm model, 01452 uint32_t lockID, 01453 uint32_t acquisitionOrder ); 01454 01455 01476 OTF2_ErrorCode 01477 OTF2_EvtWriter_ThreadReleaseLock( OTF2_EvtWriter* writer, 01478 OTF2_AttributeList* attributeList, 01479 OTF2_TimeStamp time, 01480 OTF2_Paradigm model, 01481 uint32_t lockID, 01482 uint32_t acquisitionOrder ); 01483 01484 01507 OTF2_ErrorCode 01508 OTF2_EvtWriter_ThreadTaskCreate( OTF2_EvtWriter* writer, 01509 OTF2_AttributeList* attributeList, 01510 OTF2_TimeStamp time, 01511 OTF2_CommRef threadTeam, 01512 uint32_t creatingThread, 01513 uint32_t generationNumber ); 01514 01515 01539 OTF2_ErrorCode 01540 OTF2_EvtWriter_ThreadTaskSwitch( OTF2_EvtWriter* writer, 01541 OTF2_AttributeList* attributeList, 01542 OTF2_TimeStamp time, 01543 OTF2_CommRef threadTeam, 01544 uint32_t creatingThread, 01545 uint32_t generationNumber ); 01546 01547 01569 OTF2_ErrorCode 01570 OTF2_EvtWriter_ThreadTaskComplete( OTF2_EvtWriter* writer, 01571 OTF2_AttributeList* attributeList, 01572 OTF2_TimeStamp time, 01573 OTF2_CommRef threadTeam, 01574 uint32_t creatingThread, 01575 uint32_t generationNumber ); 01576 01577 01587 OTF2_ErrorCode 01588 OTF2_EvtWriter_StoreRewindPoint( OTF2_EvtWriter* writer, 01589 uint32_t rewindId ); 01590 01591 01601 OTF2_ErrorCode 01602 OTF2_EvtWriter_Rewind( OTF2_EvtWriter* writer, 01603 uint32_t rewindId ); 01604 01605 01615 OTF2_ErrorCode 01616 OTF2_EvtWriter_ClearRewindPoint( OTF2_EvtWriter* writer, 01617 uint32_t rewindId ); 01618 01619 01620 #ifdef __cplusplus 01621 } 01622 #endif /* __cplusplus */ 01623 01624 01625 #endif /* !OTF2_EVT_WRITER_H */