1.4 (revision 3771)
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 
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 */