1.5.1 (revision 4026)
otf2/OTF2_EvtWriter.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-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 */